Appointment Reminder with Confirmation
Industry: Healthcare, Professional Services, Automotive Scenario: 24 hours before a scheduled appointment, call the patient or client to confirm. If they confirm, update the CRM. If they cancel or don’t answer, alert the team. Trigger: Inbound Webhook (fired by your scheduling system or a cron-based integration) Webhook payload:Steps
Step 1 — Transform| Source | Target |
|---|---|
trigger.phone | contact.phone_number |
trigger.first_name | contact.first_name |
trigger.last_name | contact.last_name |
trigger.email | contact.email |
- Match on:
phone_number
- Object type:
appointment - Match on:
appointment_id=trigger.crm_id - Link to contact: Yes
| Source | Target |
|---|---|
trigger.crm_id | appointment_id |
trigger.appointment_date | date |
trigger.appointment_time | time |
trigger.provider_name | provider |
- Script: Appointment Reminder Script
- Phone:
contact.phone_number
- Field:
call.structured_data.confirmed - Operator:
eq - Value:
true
- URL:
https://your-system.example.com/api/appointments/confirm - Method:
POST - Body:
- SMS type:
team - Template:
Lead Qualification from Web Form
Industry: SaaS, Financial Services, Education Scenario: A prospect fills out a form on your website. Voxworks calls them within minutes to qualify the lead, then routes qualified leads to your sales team and updates your CRM. Trigger: Inbound Webhook (fired by your form builder — Typeform, HubSpot Forms, or a custom form) Webhook payload:Steps
Step 1 — Transform| Source | Target |
|---|---|
trigger.phone | contact.phone_number |
trigger.first_name | contact.first_name |
trigger.last_name | contact.last_name |
trigger.email | contact.email |
- Match on:
email
- Object type:
hubspot_contact - Match on:
contact_id=trigger.hubspot_contact_id - Link to contact: Yes
| Source | Target |
|---|---|
trigger.hubspot_contact_id | contact_id |
trigger.company | company |
trigger.interest | interest |
trigger.source | lead_source |
- Script: Lead Qualification Script
- Phone:
contact.phone_number
| Source | Target |
|---|---|
call.call_summary | notes |
call.structured_data.qualified | is_qualified |
call.structured_data.budget_range | budget |
call.structured_data.timeline | timeline |
call.structured_data.decision_maker | is_decision_maker |
objects.hubspot_contact.contact_id | contact_id |
- URL:
https://your-api.example.com/leads/qualify - Method:
POST - Body:
- Field:
call.structured_data.qualified - Operator:
eq - Value:
true
- To:
team - Members: Sales team members
- Subject:
Qualified lead: {{contact.full_name}} at {{objects.hubspot_contact.company}} - Body:
- Subject:
Thanks for your interest, {{contact.first_name}} - Body:
Payment Reminder with Escalation
Industry: Financial Services, Utilities, Insurance Scenario: Call customers with overdue payments. If they commit to paying, log it. If they don’t answer or refuse, escalate to a collections team member. Trigger: Inbound Webhook (fired by your billing system for each overdue account) Webhook payload:Steps
Step 1 — Transform| Source | Target |
|---|---|
trigger.phone | contact.phone_number |
trigger.first_name | contact.first_name |
trigger.last_name | contact.last_name |
- Match on:
phone_number
- Script: Payment Reminder Script
- Phone:
contact.phone_number
- URL:
https://billing.example.com/api/collection-calls - Method:
POST - Body:
- Field:
call.structured_data.payment_committed - Operator:
eq - Value:
true
- Template:
- To:
team - Members: Collections team
- Subject:
Escalation: {{contact.full_name}} - ${{trigger.amount_due}} overdue - Body:
Post-Inspection Callback (Real Estate)
Industry: Real Estate Scenario: After a property inspection, call the attendee to gauge their interest, collect feedback, and update the CRM with their response. Alert the agent if the buyer is highly interested. Trigger: Inbound Webhook (fired when an inspection is marked complete in your property management system) Webhook payload:Steps
Step 1 — Transform| Source | Target |
|---|---|
trigger.phone | contact.phone_number |
trigger.first_name | contact.first_name |
trigger.last_name | contact.last_name |
trigger.email | contact.email |
- Match on:
phone_number
- Object type:
monday_item - Match on:
CRM_ID=trigger.crm_id - Link to contact: Yes
| Source | Target |
|---|---|
trigger.crm_id | CRM_ID |
trigger.board_id | board_id |
trigger.listing_id | listing_id |
trigger.property_address | property_address |
- Script: Post-Inspection Callback Script
- Phone:
contact.phone_number
| Source | Target |
|---|---|
call.call_summary | long_text_7 |
call.structured_data.interest_level | status_1 |
call.structured_data.price_feedback | long_text_9 |
call.structured_data.next_steps | status_3 |
call.status | status_5 |
objects.monday_item.CRM_ID | item_id |
objects.monday_item.board_id | board_id |
- Integration: Monday.com
- Field:
call.structured_data.interest_level - Operator:
eq - Value:
high
- SMS type:
team - Template:
- Subject:
Thanks for inspecting {{objects.monday_item.property_address}}, {{contact.first_name}} - Body:
Customer Satisfaction Survey
Industry: Any (Retail, Hospitality, SaaS, Healthcare) Scenario: After a support interaction or service delivery, call the customer to collect a satisfaction rating and feedback. Push the results to your analytics system and flag negative experiences. Trigger: Call Completed- Script filter: Customer Satisfaction Survey Script
- Status filter:
completed
Steps
Step 1 — Destination: Webhook (send structured survey results to analytics)- URL:
https://analytics.example.com/api/survey-results - Method:
POST - Body:
- Field:
call.structured_data.rating - Operator:
lte - Value:
2
- To:
team - Members: Customer success team
- Subject:
Low satisfaction: {{contact.full_name}} rated {{call.structured_data.rating}}/5 - Body:
- Template:
- Subject:
Thanks for your feedback, {{contact.first_name}} - Body:
Enrollment Follow-Up (Education)
Industry: Education, Training Providers Scenario: When a prospective student submits an enquiry, call them to discuss programs, answer questions, and guide them toward enrollment. Sync the outcome to your student management system. Trigger: Inbound Webhook (fired by your enquiry form or student management system) Webhook payload:Steps
Step 1 — Transform| Source | Target |
|---|---|
trigger.phone | contact.phone_number |
trigger.first_name | contact.first_name |
trigger.last_name | contact.last_name |
trigger.email | contact.email |
- Match on:
email
- Script: Enrollment Enquiry Script
- Phone:
contact.phone_number
- URL:
https://sms.example.edu/api/enquiries/update - Method:
POST - Body:
- Field:
call.structured_data.ready_to_enroll - Operator:
eq - Value:
true
- Subject:
Your enrollment next steps — {{call.structured_data.confirmed_program}} - Body:
- To:
team - Members: Admissions team
- Subject:
Enrollment intent: {{contact.full_name}} — {{call.structured_data.confirmed_program}} - Body:
Outage Notification with Callback (Utilities)
Industry: Utilities, Energy, Telecommunications Scenario: When a service outage is reported, call affected customers to notify them, collect any additional information, and send a confirmation SMS. Trigger: Inbound Webhook (fired by your outage management system for each affected customer) Webhook payload:Steps
Step 1 — Transform| Source | Target |
|---|---|
trigger.phone | contact.phone_number |
trigger.first_name | contact.first_name |
trigger.last_name | contact.last_name |
- Match on:
phone_number
- Script: Outage Notification Script
- Phone:
contact.phone_number
- Template:
- Field:
call.structured_data.reported_issue - Operator:
exists
- URL:
https://ops.example.com/api/outage-reports - Method:
POST - Body:
Tips for Adapting These Examples
- Replace field names with your actual CRM column IDs, API endpoints, and Schema fields.
- Adjust the Script referenced in Create Call steps to match your own Scripts.
- Start with fewer steps. Get the basic trigger-to-call flow working first, then add post-call destinations and conditions.
- Use Test Webhook to send a sample payload and verify field mappings before enabling the automation.
- Check structured data field names in your Script’s data collection settings — these determine what’s available under
call.structured_data.*.

