Troubleshooting webhook issues
Most webhook issues fall into a few common categories. Work through these in order before reaching out for support.
"Test Webhook" fails
Error: Request timed out
Your endpoint must respond within 10 seconds. Slow servers get timed out.
Check that your server is actually running and reachable from the public internet.
Important:
localhostand127.0.0.1URLs will not work. Use a real public URL.
Error: Returned status 4xx or 5xx
The receiver rejected the request. Check the specific HTTP code shown in the error banner.
404: URL is wrong or the Zap is turned off.
401/403: Your receiver requires authentication Rafiki AI isn't providing.
500: Receiver has a bug — check your Zapier task history or server logs.
Error: Connection refused / DNS error
The hostname in your URL can't be resolved or reached. Double-check for typos.
If using a self-hosted receiver, confirm firewall rules allow inbound traffic.
Real meetings don't trigger the webhook
Confirm webhooks are enabled: Settings → Webhooks → "Enable webhook delivery" must be ON.
Confirm the URL is saved: After editing, click Save. An unsaved URL won't fire.
Confirm the meeting completed processing: Check the meeting status in your Rafiki AI dashboard. Only meetings that reach "Completed" fire webhooks. Meetings stuck in "Processing" or with "NotRecorded" status will not.
Wait for AI analysis: Processing time varies by call length. A 30-minute call usually processes within 10-15 minutes after it ends.
Check your Zapier task history: If Zapier received the webhook but your action failed, the task will show as errored.
Signature verification fails on my server
Use the raw request body bytes, not a re-parsed/re-serialized JSON object. Key ordering and whitespace affect the HMAC.
Include the
sha256=prefix when comparing signatures.Make sure you're using the current secret from Settings — regenerating the secret invalidates all prior signatures.
Use a constant-time comparison (e.g.,
crypto.timingSafeEqualin Node orhmac.compare_digestin Python), not a simple===.
Zapier shows "We couldn't find any data"
When running the Zapier Test trigger step, it looks for recent incoming webhooks. If none are found:
Make sure you clicked Test Webhook in Rafiki AI AFTER starting the Zapier test step
The order matters: Zapier must be listening before Rafiki AI sends
If the test button is in Rafiki AI says "Failed", Zapier never received anything — fix the URL first
FAQ
Is the webhook sent before or after AI processing?
After. Rafiki AI waits until the call is fully transcribed, summarized, and analyzed before firing the webhook. This guarantees that the payload includes the summary and transcript.
Can I have multiple webhook URLs?
Not directly — one URL per customer account. To fan-out to multiple destinations, use Zapier or Make's branching features to send data to several apps from one trigger.
Can I customize which fields are sent?
Yes — use the "Include in payload" checkboxes in Settings to toggle Meeting summary and Full transcript on or off. Other fields (meeting metadata, attendees) are always included.
Does this work for uploaded meetings?
Yes — webhooks fire for all meeting sources: Zoom, Google Meet, Microsoft Teams, RecallAI bot recordings, dialer calls (Aircall, Twilio, Dialpad, etc.), and manual uploads.
How do I pause webhooks temporarily?
Toggle off Enable webhook delivery in Settings → Webhooks. Your URL and secret are preserved for when you re-enable.
Where are delivery logs?
Delivery history isn't currently visible in the Rafiki AI UI. In the meantime, use your receiving service's logs — Zapier's Task History, your n8n execution log, or your server access logs.
What happens if my server is down when a webhook fires?
Rafiki AI retries up to 3 times with backoff (1s, 5s, 15s). If all 3 attempts fail, the delivery is abandoned. Your meeting is still fully processed and stored in Rafiki AI — you can view it in the dashboard.
Can I replay failed webhook deliveries?
Manual replay isn't currently supported. If you need to backfill data from past meetings, contact support.
Will webhooks fire for old meetings if I enable this feature later?
No — only meetings processed after you enable webhooks will fire. Historical meetings are not retroactively sent.
Does Rafiki AI ever send webhooks for failed or incomplete meetings?
No — webhooks only fire for meetings that successfully complete full processing (transcript + summary generated). Meetings that fail to record, fail to transcribe, or are below the minimum transcription duration do not fire webhooks.
How do I rotate my signing secret?
Click Regenerate in Settings → Webhooks
Click Save
Update your server / Zapier / Make workflow with the new secret
Test delivery to verify
Still need help?
Chat with us in Rafiki AI or email [email protected]. Include:
Your webhook URL (first few chars are fine for identification)
The time of a meeting where the webhook should have fired
Screenshots of any error messages
