Meeting & Call Webhooks
14b. Circleback — Meeting Ingestion via Webhooks
Circleback records meetings, generates transcripts with speaker diarization, and fires webhooks on completion. Webhook setup:- In Circleback dashboard -> Automations -> add webhook
- URL:
{your_agent_gateway}/hooks/circleback-meetings - Circleback provides a signing secret for HMAC-SHA256 signature verification
- Store the signing secret in your webhook transform for verification
X-Circleback-Signature contains sha256=<hex>.
Verify with HMAC-SHA256(body, signing_secret). Reject unverified webhooks.
OAuth for API access: Circleback uses dynamic client registration (OAuth 2.0).
Access tokens expire in ~24h, auto-refresh via refresh token. Store credentials in
agent memory.
Flow: Webhook fires -> transform validates signature + normalizes -> agent wakes ->
pulls full transcript via API -> creates brain meeting page -> propagates to entity
pages -> commits to brain repo -> modusbrain sync.
14c. Quo (OpenPhone) — SMS and Call Integration
Quo (formerly OpenPhone) provides business phone numbers with SMS, calls, voicemail, and AI transcripts. Webhook setup:- In Quo dashboard -> Integrations -> Webhooks
- Register webhooks for:
message.received,call.completed,call.summary.completed,call.transcript.completed - Point all to:
{your_agent_gateway}/hooks/quo-events - Store registered webhook IDs in agent memory
- Webhook fires with sender phone, message text, conversation context
- Agent looks up sender in brain by phone number
- Surfaces to user’s messaging platform with sender identity + brain context
- Drafts reply for approval (never auto-replies without explicit permission)
call.completedfires -> if duration > 30s, fetch transcript + AI summary via API- Ingest to brain (meeting-style page at
meetings/) - Update relevant people and company pages
Authorization header (no Bearer prefix).
Key endpoints: POST /v1/messages (send SMS), GET /v1/messages (list),
GET /v1/call-transcripts/{id}, GET /v1/conversations.
Part of the ModusBrain Skillpack. See also: Getting Data In