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
- Clerk, Users: does the account exist? If not, they never accepted the invitation. Clerk, Invitations shows it; invite again from Settings, Members.
- 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
metadatahas been removed in Clerk; put it back. - 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.
- "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
email_log(Supabase, Table Editor): find the row by address and template.failedcarries the provider error;skippedmeans no key, a demo address, or the template is switched off.- Resend, Emails: delivered, bounced or suppressed? A bounce suppresses the address until removed under Suppressions.
- Nothing logged: the trigger did not fire. For a reminder, check the cron job's log in Vercel for that time.
- Clerk's invitation email is not in the log; look under the user in Clerk, Emails.
- Spam folder, always.
An Application Did Not Save
- Sentry: the explicit report names the database error.
- The usual cause is a constraint rejecting a value (a new track or option not yet allowed). The fix is a migration.
- 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
- Settings, Connections for that member: is the connection present and not expired? Reconnecting fixes an expired token.
calendar_event_linksandsession_calendar_linksrecord what was written where; a missing row means the write failed and the Vercel log for the booking action has the Google error.- Google Cloud, APIs, Calendar API for quota or consent problems.
- Outlook: the member must have signed in with Microsoft; there is no separate connection.
A Partner Cannot See Their Organization
organization_membershipsfor the person: is there a row, and does its organization have aclerk_org_id? If not, the organization was never brought onto the platform.- 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.
- 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
- Vercel, Deployments: did a deploy just fail or just succeed? Promote to Production on the previous good deploy.
- Vercel status and Supabase status pages.
- If Supabase is paused, resume it from the dashboard.
- DNS:
www.impacthubos.commust still point at Vercel. GoDaddy, DNS.
A Scheduled Job Did Not Run
- Vercel, Settings, Cron Jobs shows each job's last run and result.
- A 401 means
CRON_SECRETon Vercel does not match what the job sent; redeploy after setting it. - For the five-minute job, in Supabase SQL Editor:
select * from cron.job_run_details order by start_time desc limit 20;shows whetherpg_cronfired 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
- The email log row says which template and why it was selected.
- Broadcasts go only to members who have signed in; if an imported contact received one, that is a defect, report it.
- 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.

