Site Settings

Configure credentials, payment links, and platform behavior.

Google OAuth

Google Sign-In is wired through Supabase Auth — the live setting lives in your Supabase project, not here (this field is a reference copy).

How to get it: 1) console.cloud.google.com → APIs & Services → Credentials → Create OAuth client ID (Web). 2) Add authorized redirect https://<your-project>.supabase.co/auth/v1/callback. 3) Paste the Client ID + Secret into Supabase → Authentication → Providers → Google.

Payments (Stripe)

All checkout runs through Stripe via the stripe-checkout edge function. There's nothing to set here — the keys live in Supabase, not in the browser.

How to configure: in Supabase → Edge Functions → Secrets, set STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET, and your price IDs. See supabase/STRIPE_SETUP.md for the full checklist.

Admin Credentials

Admin email is fixed as terell@lacreatespace.com. Change the password below.

Email / Magic Link Config

Magic-code login sends email via an API. How to get a Resend key: 1) sign up at resend.com, 2) verify your sending domain, 3) API Keys → Create → copy the re_… key below. (SendGrid works too.) For Supabase magic links, also set this as the SMTP/Resend provider under Authentication → Emails.

Magic-link sign-in: One-time codes are sent and verified entirely by Supabase Auth. There is no universal bypass code.

Announcement banner

Shown at the top of the Training Hub for everyone. Publish to update it; Clear to hide.

Content API · push content from n8n

POST JSON to the endpoint with your key in the x-api-key header to create or update tracks, modules, and blog posts. Tracks upsert by id, modules by track+code.

Loading…
Example request & payload
curl -X POST \
  https://cglkopmbauqwmpmkltpy.supabase.co/functions/v1/content-api \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tracks": [
      { "id": "growth", "name": "Growth Marketing", "tagline": "Scale your reach", "accent": "#1A73E8" }
    ],
    "modules": [
      { "track": "growth", "code": "gr-01", "title": "Email Foundations",
        "objective": "Send your first campaign", "section": "Section 1",
        "section_name": "Foundations", "status": "published",
        "body": "<p>Lesson HTML here</p>" }
    ],
    "blog_posts": [
      { "title": "Welcome", "author": "Terell", "status": "published",
        "body": "<p>Post body</p>" }
    ]
  }'

In n8n: HTTP Request node → Method POST → URL above → Header x-api-key = your key → JSON body like the above. You can send any subset (just modules, etc.) or a single object with a type field.