Docs
Runbooks

Runbooks

What to check, in order, for each of the common problems. Start at the top of the list and stop when you find it.

A Member Cannot Sign In

  1. Clerk, Users: does the account exist? If not, they never accepted the invitation. Clerk, Invitations shows it; invite again from Settings, Members.
  2. Signed in but sees almost nothing: the role is missing. Settings, Members, Change Access. If every member looks empty at once, the session token claim metadata has been removed in Clerk; put it back.
  3. Google or Microsoft button fails: the OAuth client lost its redirect URL or its secret expired. Clerk, SSO Connections shows which credentials are in use.
  4. "Unverified app" warning on Google: expected until the Google Cloud consent screen is verified under Impact Hub Houston's account. It is a warning, not a block.

An Email Did Not Arrive

  1. email_log (Supabase, Table Editor): find the row by address and template. failed carries the provider error; skipped means no key, a demo address, or the template is switched off.
  2. Resend, Emails: delivered, bounced or suppressed? A bounce suppresses the address until removed under Suppressions.
  3. Nothing logged: the trigger did not fire. For a reminder, check the cron job's log in Vercel for that time.
  4. Clerk's invitation email is not in the log; look under the user in Clerk, Emails.
  5. Spam folder, always.

An Application Did Not Save

  1. Sentry: the explicit report names the database error.
  2. The usual cause is a constraint rejecting a value (a new track or option not yet allowed). The fix is a migration.
  3. The applicant's answers are kept on their device; once fixed, asking them to reopen the form and submit again works.

A Calendar Did Not Sync

  1. Settings, Connections for that member: is the connection present and not expired? Reconnecting fixes an expired token.
  2. calendar_event_links and session_calendar_links record what was written where; a missing row means the write failed and the Vercel log for the booking action has the Google error.
  3. Google Cloud, APIs, Calendar API for quota or consent problems.
  4. Outlook: the member must have signed in with Microsoft; there is no separate connection.

A Partner Cannot See Their Organization

  1. organization_memberships for the person: is there a row, and does its organization have a clerk_org_id? If not, the organization was never brought onto the platform.
  2. Since 13 Oct 2026 this happens automatically at account creation for the partner track. An older account needs the manual step once: Applications, Partner Invitations, Invite for that organization, or the partner creates it from the Organization page.
  3. If a second, empty organization was created by hand, keep the one with the application's details and remove the other from Clerk's dashboard; the webhook removes the platform row.

The Site Is Down

  1. Vercel, Deployments: did a deploy just fail or just succeed? Promote to Production on the previous good deploy.
  2. Vercel status and Supabase status pages.
  3. If Supabase is paused, resume it from the dashboard.
  4. DNS: www.impacthubos.com must still point at Vercel. GoDaddy, DNS.

A Scheduled Job Did Not Run

  1. Vercel, Settings, Cron Jobs shows each job's last run and result.
  2. A 401 means CRON_SECRET on Vercel does not match what the job sent; redeploy after setting it.
  3. For the five-minute job, in Supabase SQL Editor: select * from cron.job_run_details order by start_time desc limit 20; shows whether pg_cron fired and what the platform answered.

For You Shows Nothing for a Need

The library has no published resource in that need's category. Publish one under Manage Resources with the right category and audience. See Resources and Partners.

A Member Got an Email They Should Not Have

  1. The email log row says which template and why it was selected.
  2. Broadcasts go only to members who have signed in; if an imported contact received one, that is a defect, report it.
  3. Switch the template off under Email Templates while it is investigated.

Rotating a Compromised Key

Follow the rotation rule in Environment Variables: create, set, redeploy, confirm, revoke. For SUPABASE_SECRET_KEY and CLERK_SECRET_KEY also check the repository for an accidental commit of .env.local.

When to Call a Developer

Anything that needs a migration, a code change, or a script against production data. Open an issue with the page, what you did, what you expected and what happened; the Report a problem dialog in the app does exactly that.