Flow Overview
- Telephony → Agent runtime (barge-in, endpointing)
- Capture: name, intent, contact, timezone
- Decision: route to SDR, self-serve booking, or knowledge answer
- Actions: create CRM lead + activity, send Slack alert, book in Cal
Example: HubSpot Lead Create
POST /api/ingest/lead
{
"name": "Alex Rivera",
"email": "[email protected]",
"phone": "+447700900123",
"intent": "demo",
"source": "inbound_call",
"transcript_id": "tr_123"
}
Booking via Cal
await cal.createBooking({
eventType: '30min',
attendee: { name, email },
start: slot.start,
end: slot.end,
metadata: { source: 'voice', transcript_id }
});
Good / Bad / Ugly
- Good: Instant booking fallback, CRM logs, Slack alerts with call URL.
- Bad: No lead de-duplication; timezone + owner mismatch.
- Ugly: Loops from voicemail callbacks; implement cooldown and state.