| No meetings after connecting a calendar | The connection is active, not still syncing (GET /calendar_connections?member_id=), and the meetings start within the next 28 days. active with last_synced_at still null more than 30 minutes after connected_at, for a member whose meetings are recorded, means the first sync never finished: disconnect it (DELETE /calendar_connections/{id}) and send the member a new connect link. |
| A meeting the user expected isn’t there | It is on the calendar they connected, under the account in account_email. |
| The same call listed twice | The workspace uses one calendar source: connected calendars or pushed events, not both. |
| ”Won’t record” on a meeting they want | settings.sources["recording.enabled"]: the assignment that decided, or a reason (no_meeting_url, unsupported_platform, member_paused…). |
A bot queued long after join_at | join_at is the time you meant, with the right offset. |
A bot joining for minutes | Someone in the call admits it: many calls hold guests in a waiting room. |
| Speakers unnamed | The meeting’s participants carry emails; names improve as people recur. |
| Two bots in one call | Both requests used the same workspace_id, link and join_at. See One bot per meeting. |
processing for hours | Contact support with the meeting id. |
| No webhooks arrive | The endpoint is in the meeting’s workspace and names the event in enabled_events. Then find the event in GET /webhook_events: the answer your server gave, and redeliver it. |
| Webhooks fail verification | You sign the raw body, not re-serialized JSON, with the full secret including whsec_. |