Call Tracking Trigger¶
Overview¶
The Call Tracking Trigger provides comprehensive call lifecycle tracking, capturing multiple call states from ringing to completion. This enables advanced call analytics, detailed logging, and sophisticated automation based on call progression and outcomes.
When to use this trigger:
- Track complete call lifecycle (ringing, answered, ended)
- Analyze missed calls vs answered calls
- Calculate accurate call duration and wait times
- Monitor call abandonment rates
- Advanced call center analytics
- Multi-stage call-based automation
Difference from Call Connect Trigger:
- Call Connect: Simple trigger when call connects
- Call Tracking: Tracks multiple call states with detailed analytics
Quick Start¶
- Connect your call tracking system to BaseCloud
- Create a new workflow
- Add a Call Tracking Trigger as the first task
- Select which call states to monitor (ringing, answered, completed, missed)
- Configure tracking rules
- Save and enable the workflow
[SCREENSHOT NEEDED: Call Tracking Trigger task panel showing call state options]
Call States¶
Ringing¶
Triggered when an incoming call starts ringing (before answer).
Use Cases: - Log all call attempts (even if not answered) - Track call volume metrics - Prepare CRM for potential conversation
Answered¶
Triggered when call is answered/connected.
Use Cases: - Same as Call Connect Trigger - Start call timer - Notify relevant team members
Completed¶
Triggered when call ends (hung up).
Use Cases: - Calculate final call duration - Trigger post-call follow-up - Log call outcome - Send surveys
Missed¶
Triggered when call rings but isn't answered.
Use Cases: - Send "Sorry we missed you" SMS - Create callback task for team - Log missed call to CRM - Alert on-call staff
Busy¶
Triggered when caller receives busy signal.
Use Cases: - Alert that lines are overloaded - Log for capacity planning
Voicemail¶
Triggered when call goes to voicemail.
Use Cases: - Transcribe voicemail (if available) - Alert team of voicemail - Send acknowledgment to caller
Output Fields¶
The Call Tracking Trigger outputs detailed call data depending on the state:
Call Identification¶
| Field | Description | Example Value |
|---|---|---|
task_[ID]_call_id | Unique call identifier | call_abc123xyz |
task_[ID]_caller_number | Incoming phone number | +27123456789 |
task_[ID]_called_number | Your number called | +27111111111 |
task_[ID]_call_state | Current state | ringing, answered, completed, missed |
Timing Information¶
| Field | Description | Example Value |
|---|---|---|
task_[ID]_ring_start | When ringing started | 2024-02-08 14:30:00 |
task_[ID]_answered_at | When call was answered | 2024-02-08 14:30:15 |
task_[ID]_ended_at | When call ended | 2024-02-08 14:35:42 |
task_[ID]_ring_duration | Seconds before answer | 15 |
task_[ID]_call_duration | Total call length in seconds | 327 |
task_[ID]_wait_time | Time waiting in queue (if applicable) | 8 |
Call Details¶
| Field | Description | Example Value |
|---|---|---|
task_[ID]_agent_name | Who answered the call | John Smith |
task_[ID]_agent_email | Agent's email | john@company.com |
task_[ID]_disposition | Call outcome | completed, no-answer, busy |
task_[ID]_recording_url | Call recording (if enabled) | https://... |
task_[ID]_caller_name | From caller ID | Jane Doe |
task_[ID]_direction | Inbound or outbound | inbound |
Tracking Data¶
| Field | Description | Example Value |
|---|---|---|
task_[ID]_tracking_number | Which tracking number was called | +27111111111 |
task_[ID]_campaign_source | Marketing campaign | Google Ads - Spring 2024 |
task_[ID]_landing_page | Page visitor was on when calling | https://example.com/pricing |
task_[ID]_referrer | Where visitor came from | google.com |
Real-World Examples¶
Example 1: Comprehensive Call Logging¶
Trigger States: Ringing, Answered, Completed
Workflow for Ringing: 1. Call Tracking Trigger - State: Ringing 2. Match to Client - Find contact 3. MySQL Query - Create call attempt log
Workflow for Answered: 1. Call Tracking Trigger - State: Answered 2. MySQL Query - Update log with answer time 3. Edit Client - Add "In Call" status
Workflow for Completed: 1. Call Tracking Trigger - State: Completed 2. MySQL Query - Update log with end time and duration 3. Edit Client - Update last contact date 4. Delay - Wait 2 minutes 5. Email - Send follow-up email
[SCREENSHOT NEEDED: Three separate workflows for different call states]
Example 2: Missed Call Response¶
Trigger State: Missed
Workflow: 1. Call Tracking Trigger - State: Missed 2. Match to Client - Find existing contact 3. Edit Client - Add "Missed Call" tag 4. MySQL Query - Create callback task 5. Webhook Out - Send SMS: "Sorry we missed your call! We'll call you back shortly." 6. Email - Alert available agent to call back
Example 3: Call Quality Monitoring¶
Trigger State: Completed
Workflow: 1. Call Tracking Trigger - State: Completed 2. If Task - Check call duration - Less than 30 seconds: Tag as "Quick Hang-up" (potential issue) - 30-120 seconds: Normal call - Over 120 seconds: Tag as "Long Call" (complex issue?) 3. If Task - For long calls: - Email - Notify supervisor for quality review 4. MySQL Query - Log metrics for reporting
Example 4: Campaign Attribution Tracking¶
Trigger State: Answered
Workflow: 1. Call Tracking Trigger - State: Answered 2. Match to Client - Find existing contact 3. Edit Client - Add campaign tag from campaign_source 4. Google Sheets - Log to campaign tracking sheet with: - Date/time - Caller number - Campaign source - Landing page - Call duration (pull from completed state later) 5. If Task - Check if first call from this campaign - First call: Tag as "New Lead - [Campaign Name]"
Example 5: Post-Call Survey¶
Trigger State: Completed
Workflow: 1. Call Tracking Trigger - State: Completed 2. If Task - Check call duration > 60 seconds 3. Match to Client - Find contact 4. Delay - Wait 5 minutes 5. Webhook Out - Send SMS with survey link: "Thanks for calling! Rate your experience: [link]"
Multi-State Workflows¶
For advanced tracking, create separate workflows for each state:
Pattern: Track Complete Call Journey¶
Workflow 1 - Call Ringing: - Log initial call attempt - Prepare CRM record - Start timer
Workflow 2 - Call Answered: - Update log with answer time - Calculate ring duration - Alert agent's manager (if VIP)
Workflow 3 - Call Completed: - Calculate final duration - Log call outcome - Trigger follow-up actions - Send survey
Workflow 4 - Call Missed: - Alert on-call team - Send apology SMS - Create callback task
Connecting Call Tracking Systems¶
Compatible Systems¶
Most call tracking platforms that support webhooks:
- CallRail
- CallTrackingMetrics
- DialogTech
- Marchex
- Custom call center software
Setup Steps¶
- Access your call tracking platform
- Navigate to Webhooks or API settings
- Create webhook for call events:
- call.ringing
- call.answered
- call.completed
- call.missed
- Use the webhook URL provided by BaseCloud Call Tracking Trigger
- Map call data fields to standard format
- Test with a real call
Call Analytics¶
Calculating Key Metrics¶
Use Call Tracking data to calculate important metrics:
Answer Rate:
const totalRinging = /* count of ringing events */;
const totalAnswered = /* count of answered events */;
const answerRate = (totalAnswered / totalRinging * 100).toFixed(2);
Average Call Duration:
const durations = /* array of call_duration values */;
const avgDuration = durations.reduce((a,b) => a+b, 0) / durations.length;
Missed Call Rate:
const totalCalls = totalRinging;
const missedCalls = /* count of missed events */;
const missedRate = (missedCalls / totalCalls * 100).toFixed(2);
Building Analytics Dashboard¶
- Schedule Trigger - Daily at 9 AM
- MySQL Query - Get yesterday's call data
- Code Task - Calculate metrics
- Google Sheets - Update dashboard spreadsheet
- Email - Send daily report to management
Best Practices¶
✅ Do's¶
- Track all states: Monitor ringing, answered, completed, and missed for complete picture
- Use unique workflows per state: Keep logic clean and maintainable
- Log everything: Comprehensive logs enable better analysis
- Calculate metrics: Use data for continuous improvement
- Follow up on missed calls: Always close the loop
- Attribute calls to campaigns: Track marketing ROI
- Set up alerts: Notify team of important call events
- Analyze patterns: Look for trends in call times, duration, outcomes
❌ Don'ts¶
- Don't ignore missed calls: They're potential lost revenue
- Don't skip state tracking: Track complete journey, not just answered
- Don't forget privacy: Comply with call recording regulations
- Don't neglect call quality: Monitor duration and outcomes
- Don't lose attribution data: Always capture campaign source
Troubleshooting¶
Not All Call States Being Captured¶
Possible Causes: - Call system not sending all state webhooks - Workflows not created for all states - Webhook configuration incomplete
Solutions: 1. Verify your call system sends webhooks for all states 2. Create separate workflows for each state you need 3. Check webhook logs in your call system 4. Test with real calls and monitor execution history
Call Duration Not Calculating¶
Possible Causes: - Only tracking one state (need both answered and completed) - Time format mismatch - Missing timestamp data
Solutions: 1. Ensure you have workflows for both "Answered" and "Completed" states 2. Use the same call_id to link states together 3. Store answered_at time and subtract from ended_at time
Duplicate Call Tracking¶
Possible Causes: - Call system sending multiple webhooks for same event - Both Call Connect and Call Tracking triggers active
Solutions: 1. Use only Call Tracking trigger for comprehensive tracking 2. Disable Call Connect trigger if using Call Tracking 3. Add deduplication logic using call_id
Missing Campaign Attribution¶
Possible Causes: - Call tracking system not passing campaign data - Dynamic number insertion not configured - Website tracking not set up
Solutions: 1. Configure dynamic number insertion on your website 2. Ensure campaign parameters passed to call tracking system 3. Test by clicking through different campaigns
Advanced Features¶
Call Outcome Tracking¶
After call ends, have agent log outcome:
- Call Tracking Trigger - State: Completed
- Delay - Wait for agent to log outcome (or webhook from CRM)
- MySQL Query - Update call record with outcome
- If Task - Route based on outcome:
- Sale: Create invoice workflow
- Follow-up needed: Create task
- Not interested: Update lead score
Call Recording Analysis¶
Process recordings automatically:
- Call Tracking Trigger - State: Completed
- Delay - Wait 60 seconds (recording processing)
- Webhook Out - Download recording from recording_url
- Speech to Text - Transcribe
- AI Prompt - Analyze:
- Was customer satisfied?
- What was discussed?
- Any action items?
- MySQL Query - Store analysis
- If Task - If issues detected:
- Alert supervisor
Intelligent Callback Scheduling¶
For missed calls, schedule callbacks intelligently:
- Call Tracking Trigger - State: Missed
- Code Task - Check caller's timezone and business hours
- MySQL Query - Create callback task for appropriate time
- Webhook Out - Send SMS: "We'll call you back at [time]"
Queue Time Monitoring¶
Alert if wait times too long:
- Call Tracking Trigger - State: Answered
- If Task - Check wait_time > 60 seconds
- Webhook Out - Alert managers via Slack
- MySQL Query - Log long wait for analysis
Frequently Asked Questions¶
What's the difference between Call Connect and Call Tracking triggers?¶
Call Connect: Simple, triggers once when call connects. Good for basic "call happened" automation.
Call Tracking: Advanced, triggers on multiple call states. Better for analytics and complex workflows.
Can I combine both triggers?¶
Not recommended. Use Call Tracking as it provides all the functionality of Call Connect plus more.
How do I link the different states of the same call together?¶
Use the call_id field, which remains consistent across all states of a single call. Store it and use it to update records.
What if my call system doesn't provide campaign attribution?¶
You'll need to implement dynamic number insertion on your website, or use a call tracking platform that provides this feature (CallRail, CallTrackingMetrics, etc.).
Can I track outbound calls?¶
Yes, if your phone system sends webhooks for outbound calls. Configure the same way as inbound.
How accurate are the timing measurements?¶
Timing depends on when your phone system sends webhooks. Usually accurate within 1-2 seconds.
Can I filter by agent who answered?¶
Yes, use the agent_name or agent_email field in an If task to route based on who answered.
What if I need to track calls from multiple phone systems?¶
Create separate Call Tracking Triggers for each system, or use a unified webhook that normalizes data from all systems.
How long are call recordings available?¶
This depends on your phone system's retention policy. Download and process them as soon as possible after the call ends.
Next Steps: - Call Connect Trigger - Simple call connection trigger - Match to Client Task - Link calls to contacts - Speech to Text Task - Transcribe call recordings