/api/developer/leads) accept the field names Zapier and Meta lead ads typically send (phone, phone_number, full_name, notes, source).
Before you start
- A Zapier account that can use Webhooks by Zapier.
- Trikon API key, workspace slug, outbound agent ID, and phone-line UUID.
Zap A — form submit starts a call
1
Trigger
e.g. Google Forms, Typeform, HubSpot, or Facebook Lead Ads. Map a phone field; normalise to E.164 if the form stores local numbers.
2
Action: Webhooks by Zapier → POST
- URL:
https://voice.trikon.tech/api/outbound-call - Payload type:
JSON - Headers:
Authorization:Bearer YOUR_API_KEYContent-Type:application/json
- Data:
Nested metadata: either add a Code step that builds
{ "metadata": { "amount_due": ... } }, or pass extra keys only if your script uses matching {{placeholders}} via the metadata object (see Make a call).3
Test
Run the Zap against your own number. You should get
success: true and a callUuid. Check Call Logs.Zap B — create a lead in Trikon (then optionally call)
Use this when you want the person in Leads before or instead of an immediate ring. Action: Webhooks by Zapier → POST- URL:
https://voice.trikon.tech/api/developer/leads - Same
Authorizationheader as above - JSON body:
201 with lead.id.
To ring that lead in a second step:
- URL:
https://voice.trikon.tech/api/developer/leads/{{lead_id}}/call - Method:
POST - Same Bearer header (body can be empty)
/api/developer/agents/{agentId}/leads if you always attach leads to one agent.
Zap C — webhook in: call finished → CRM
Trikon can only store one webhook URL per workspace. If Zapier should receive events:1
Catch Hook
Add a Zap with Webhooks by Zapier → Catch Hook. Copy the custom webhook URL.
2
Save it in Trikon
Settings → Developer API → Call webhook.
3
Filter
Continue only when
event is call.completed or analysis.completed, depending on whether you need the transcript immediately or the AI intent / summary.4
Update your CRM
Map
to, name, intent, summary, and recordingUrl into HubSpot, Sheets, or Slack. Return quickly — Zapier’s Catch Hook acknowledges the POST; keep downstream steps light so you are not waiting on a user.