Opening Problem Statement
Meet Sarah, a busy customer success manager at a growing SaaS company. Every day, Sarah spends hours manually transferring new leads from her Airtable CRM into a third-party calling system, then scheduling voice calls to engage these leads. This repetitive manual process not only eats up her productive time but also leads to frequent mistakes — missed contacts, duplicate entries, and delayed calls that frustrate prospects and reduce conversion rates. Sarah wishes there was a streamlined way to automate these tedious tasks and ensure timely, accurate outreach.
This exact problem is the driving force behind the workflow we’re exploring today, enabling anyone like Sarah to automate the entire process of syncing contacts from Airtable to telli, an AI-powered voice call platform, and schedule calls seamlessly using n8n automation.
What This Automation Does
This workflow connects Airtable, your CRM holding new contact information, with telli’s AI voice call platform to fully automate outbound call scheduling. When it runs, here’s what happens:
- Automatically triggers when a new contact item is created in a specific Airtable base and table.
- Sends the contact data as a POST request to telli’s API to add the contact into telli’s system.
- Immediately schedules a voice call for this contact via telli’s API using AI voice agents.
- Uses n8n’s HTTP Request nodes to handle precise API interactions for add-contact and schedule-call endpoints.
- Reduces manual effort, eliminating lost leads and human error in call scheduling.
- Provides a real-time, fully automated sync that can scale as your contacts grow.
By using this workflow, Sarah (and you!) can save hours each week otherwise wasted on repetitive data entry and call scheduling tasks.
Prerequisites ⚙️
- n8n account (for hosting and running your automation workflows)
- Airtable account & base (containing your CRM contacts)
- telli account with API key (for AI voice call handling and scheduling)
- Authentication credential setup in n8n for Airtable and telli API
Step-by-Step Guide
1. Create a new workflow in n8n
Log in to your n8n dashboard and start by creating a fresh workflow to house this automation.
You should see a blank canvas ready for nodes input.
2. Add Airtable Trigger node
Navigate to the node selector, search and add the Airtable Trigger node.
Configure as follows:
- Base ID: Use the ID of your Airtable base where contacts live (e.g.,
appjsUaPrbH6ph7cB). - Table ID: Select your Airtable table holding contacts (e.g.,
tblVXEWTj7dErmNsa). - Poll Times: Set to “Every Minute” to check for new entries frequently.
- Trigger Field: Set to “=Created Time” so it reacts to new additions.
- Authentication: Use your Airtable API Token configured in credentials.
Example: Your Airtable contacts base triggers this workflow as soon as a new record is added.
Common Mistake: Forgetting to select the right table or missing API credentials causes trigger failure.
3. Add HTTP Request node for adding contacts to telli
Add a new HTTP Request node after the Airtable trigger node named Add contact request.
Configure it to:
- Method: POST
- URL:
https://api.telli.com/v1/add-contact - Headers: Add Authorization header with your telli API key (e.g.,
Authorization: YOUR-API-KEY). - Content Type: JSON
- Body Parameters: Map fields from Airtable JSON output to the expected contact payload fields, such as
external_contact_id,first_name,last_name,phone_number, etc.
This step uploads your CRM contacts from Airtable to telli’s contact system.
Common Mistake: Not mapping the JSON data correctly, or missing required fields can cause API errors.
4. Add HTTP Request node for scheduling calls
Add another HTTP Request node connected after the add-contact request, named Schedule Calls Request.
Configure it to:
- Method: POST
- URL:
https://api.telli.com/v1/schedule-call - Headers: Use the same telli API key authorization header.
- Body Parameters: Map
contact_idfrom the previous node’s JSON response to schedule the call for that contact.
At this point, the new contact is added and immediately scheduled for an AI voice call.
Common Mistake: Using incorrect contact_id or missing API key will cause the scheduling to fail.
5. Test the workflow
Run a manual test by adding a new contact in your Airtable base and watch the workflow trigger automatically.
You should see the data post to telli’s API successfully, and the call scheduled.
6. Activate the workflow
Once confirmed working, activate your n8n workflow to automate in real-time.
Customizations ✏️
- Change Poll Rate: In the Airtable Trigger node, modify pollTimes to check less often (e.g., every 5 minutes) to reduce API usage.
- Batch Upload Contacts: Enhance by adding a Loop node to process multiple records or switch to telli’s batch endpoints:
/add-contacts-batchand/schedule-calls-batch. - Customize Call Scripts: Modify the call details JSON in the Schedule Calls Request node to tailor AI voice greetings and questions.
- Add Error Notifications: Add a Slack or Email node after the HTTP requests to alert on API failures.
Troubleshooting 🔧
Problem: “Airtable trigger doesn’t activate on new records”
Cause: Incorrect base/table IDs or missing API credentials.
Solution: Verify Airtable base and table IDs exactly match and test the credentials under n8n Credentials section.
Problem: “API call returns 401 Unauthorized”
Cause: Incorrect or missing Authorization header containing the telli API key.
Solution: Double-check your telli API key, re-enter it in HTTP Request nodes headers, and ensure no trailing spaces.
Problem: “Contact IDs do not map correctly leading to scheduling errors”
Cause: Wrong JSON path in the Schedule Calls Request node body parameters.
Solution: Use n8n’s expression editor to properly map = {{$node["Add contact request"].json["contact_id"]}} or similar field returned by the API.
Pre-Production Checklist ✅
- Ensure Airtable base and tables are correctly set and contain expected contact fields.
- Verify Airtable Trigger polls correctly by adding test records.
- Confirm telli API key is correctly set in HTTP Request nodes.
- Test full flow with a sample contact to confirm API calls and scheduled calls succeed.
- Backup existing workflows before activating new ones for rollback safety.
Deployment Guide
With your workflow tested and validated, activate it within n8n to run continuously.
Confirm n8n’s webhook listener or polling mechanisms are operational depending on your hosting.
Use n8n’s execution logs to monitor calls and troubleshoot as needed for operational health.
FAQs
Can I use a different CRM instead of Airtable?
Yes, as long as your CRM supports API triggers and data export, you can replace Airtable with another system and adjust the trigger node accordingly.
Does this workflow consume API credits on telli?
Yes, each add-contact and schedule-call request will use telli API credits, so monitor your usage accordingly.
Is my contact data safe in this automation?
Your data flows securely over HTTPS to telli’s API. Ensure your n8n instance and credentials are properly secured to maintain privacy.
Can this workflow handle hundreds of contacts?
For larger volumes, consider batch API endpoints or implement looping for sequential processing inside n8n.
Conclusion
By following this guide, you have set up a powerful automation that connects your Airtable CRM with telli’s AI voice-agent calling platform seamlessly. This integration saves valuable time and reduces errors by automating contact uploads and scheduling voice calls instantly.
Sarah no longer worries about manual data entry or missed calls. Instead, she focuses on higher-value tasks that drive growth.
Next, consider extending this workflow by adding real-time call outcome tracking from telli or integrating SMS reminders for scheduled calls to enhance engagement further.
Overall, this workflow is a smart step towards digital transformation in customer outreach using n8n and telli’s AI capabilities.