Get the Make.com template here
Prerequisites
- Accounts at telli and Make.com
- CRM system (e.g. Airtable, Salesforce, Pipedrive, etc.) or any other system to store your contact information
Add your CRM contacts and schedule calls in telli
When new contacts are added to your CRM, you can automatically add them to telli:- Create a new scenario in Make.com (e.g. “Add contacts and schedule calls in telli”)
- Add a trigger module for your CRM (e.g., “New Contact” in Airtable, “Watch new Rows” in Google Sheets)
- Link your data source correctly (the table in which you stored the contact information in your CRM).
- Add a telli “Add a Contact” module (authenticate via your API Key from your telli Dashboard)
- Map your CRM fields from step 2 to the properties the “Add a Contact” module expects
- Add a telli “Schedule a Call” module
- Map your contact_ids (return values from previous request) and agent_id (find that ID in your telli Dashboard) to the “Schedule a Call” module
Process call information with webhooks
Once you’ve set up the contact addition and call scheduling, you can enhance your workflow by capturing real-time call events and automatically updating your CRM. See the video tutorial below for a step-by-step guide:Get the Make.com template here
Updating CRM Contact Status with Call Analysis
A typical use case is to automatically update a contact’s status in your CRM based on the call outcome and analysis. Here’s how to implement this workflow:-
Set up a webhook in Make.com and telli:
- In Make.com, create a new scenario with “Webhooks” → “Custom webhook” as your trigger
- Copy the webhook URL that Make.com provides
- Go to Settings > API & Webhooks in your telli dashboard
- Click “Configure” to access the webhook portal
- Add the Make.com webhook URL as an endpoint URL
- Enable the
call_ended
event - Test the webhook by making a sample call in telli to your registered phone number
- After the call ends, the webhook will trigger automatically
-
Add a JSON parser module:
- This is needed to be able to work with the data in the next steps. This is the payload that you will receive from the webhook, copy this to determine the data structure for the module:
-
Add a Router module to create different paths based on call outcomes:
This could be an example for tracking call statuses and interest to determine whether we would need to follow-up or have already scheduled an appointment.- Set up a filter for Path 1:
call.call_status = "COMPLETED" AND call.call_analysis.interest.value = true AND call.call_analysis.appointment.value = true
- Set up a filter for Path 2:
call.call_status = "COMPLETED" AND call.call_analysis.interest.value = true AND call.call_analysis.appointment.value = false
- Set up a filter for Path 3:
call.call_status = "COMPLETED" AND call.call_analysis.interest.value = false
- Optional: Set up a filter for Path 4:
call.call_status = "NOT_REACHED" OR call.call_status = "VOICEMAIL"
- Set up a filter for Path 1:
-
For each path, add an Airtable “Update a record” module:
- Connect to your Airtable account
- Select your base and table
- Set record ID search: Find records where “External ID” equals
call.external_contact_id
-
Configure each Airtable module with appropriate field mappings:
Map the fields to the fields in your Airtable base. E.g. if a contact has been called and it confirmed interest, you can update the status to “Qualified Lead” and add a note with the call summary. For Path 1 (Interested + Appointment):For Path 2 (Interested but needs follow-up):For Path 3 (Not Interested):For Path 4 (Not Reached):