Call Tracking Trigger¶
Overview¶
A Call Tracking trigger owns a tracking number — a number you put on an ad, a page or a flyer to see which one makes the phone ring. Calls to that number are routed on to your destination number as usual, and each call starts the workflow once, when it is over, with who called, which number they dialled, where it was routed, whether it was answered, the durations and the recording.
When to use this trigger:
- Log every call from a campaign against the client who called
- Send a "sorry we missed you" text when
answeredis0 - Transcribe and summarise answered calls
- Count calls per campaign by giving each campaign its own tracking number and workflow
For Call Connect's two-leg calls, use Call Connect. For the calls your team makes and receives on your own numbers, use Call Logged.
![]()
Quick Start¶
- Create a workflow and add a Call Tracking trigger
- Create its tracking number from the trigger — the number belongs to this trigger
- Put the number where the calls should come from
- Add the tasks to run after each call, and switch the workflow on
There are no call states to choose: answered and missed calls both start the workflow, once each, after the call.
The recording¶
When the call was recorded, the workflow waits for the recording to be saved before the tasks after the trigger
run, so recording_url is there for them to use.
Whether calls are recorded is set with your call routing — see Recording and transcripts.
Outputs¶
Built from the call log for this call.
| Field | Type | Example | Notes |
|---|---|---|---|
call_id |
number | 44120 |
The call's log ID. |
uuid |
string | 9f8e7d-… |
The provider's call identifier. |
caller_number |
string | +27825550111 |
Who called. |
tracking_number |
string | +27105550123 |
The tracking number they dialled. |
destination_number |
string | +27115550100 |
Where the call was routed. |
target_number |
string | +27115550100 |
Same value as destination_number. |
answered |
number | 1 |
1 when answered, 0 when not. A missed call still fires the trigger. |
start_stamp |
string | 2026-09-07 09:14:02 |
When the call started. |
dial_stamp |
string | 2026-09-07 09:14:04 |
When dialling began. |
answer_stamp |
string | 2026-09-07 09:14:11 |
When it was answered. Empty on a missed call. |
call_time |
string | 2026-09-07 09:14:02 |
Same value as start_stamp. |
ring_duration |
number | 9 |
Seconds ringing. |
talk_duration |
number | 212 |
Seconds connected. 0 on a missed call. |
total_duration |
number | 221 |
Seconds in total. |
recording_url |
string | https://… |
Recording, when one exists. |
provider |
string | telnyx |
Which telephony provider handled the call. |
description |
string | Inbound call |
The log's description. |
owner_id |
number | 555 |
Account ID. |
run |
boolean | true |
|
run_text |
string | Call Tracking trigger executed successfully. |
Branch on answered to separate missed calls
answered is 0 for a missed call, with talk_duration 0 and an empty answer_stamp.
That is the check to use in an If Statement, rather than looking
for a separate "missed" event.
Real-World Examples¶
Log every call against the client who made it¶
Call Tracking Trigger
└─ Match to Client contact_cell_number: {{task_51001_caller_number}}
└─ Workflow Note log the call, its duration and the recording link
Chase a missed call¶
Call Tracking Trigger
└─ If Statement {{task_51001_answered}} is 0
└─ SMS "Sorry we missed you — we'll call back shortly"
answered is 0 on a missed call, with talk_duration of 0 and an empty answer_stamp.
Flag unusually short calls¶
Call Tracking Trigger
└─ If Statement {{task_51001_talk_duration}} less than 30
└─ Email alert the team leader to review it
Transcribe and summarise a call¶
Call Tracking Trigger
└─ Speech to Text transcribe {{task_51001_recording_url}}
└─ AI Prompt summarise it
└─ Workflow Note log the summary
Best Practices¶
- One tracking number per source (an ad, a listing, a flyer) and one workflow per number, so each call says where it came from.
- Match the caller first — Match to Client on
caller_number— before writing anything to a client. - Branch on
answeredfor missed calls, and ontalk_durationto skip hang-ups. - Record with consent, as your local law requires.
Troubleshooting¶
Calls not triggering the workflow¶
- Check the workflow is switched on.
- Only calls to this trigger's own tracking number start it — calls to your other numbers do not.
The tasks after the trigger start late¶
When a call was recorded, the workflow waits for the recording to be saved first. That is normal.
No recording¶
recording_url is empty when the call was not recorded or not answered.
Frequently Asked Questions¶
What's the difference between Call Connect and Call Tracking triggers?¶
Call Tracking runs for calls to its own tracking number. Call Connect runs for Call Connect's two-leg calls.
Does it fire for missed calls?¶
Yes — once, after the call, with answered 0.
Can I filter by who answered or by time of day?¶
Not on the trigger. Put an If after it on the outputs — for example start_stamp for
the time.
Next Steps:
- Call Connect Trigger - Simple call connection trigger
- Call Logged - Every call your team makes or receives, and how quickly a new lead was called
- Match to Client Task - Link calls to contacts
- Speech to Text Task - Transcribe call recordings