Run AI voice outreach from Airtable with Bolna, Groq, Brevo and Twilio

Go to Workflow
4 views
Built by Utkarsh Kapoor Utkarsh Kapoor
Created on June 13, 2026

Description

Quick Overview
This workflow runs daily to pull contacts from Airtable, place outbound AI voice calls via Bolna.ai, analyze call transcripts with Groq, then send follow-up emails through Brevo and (for interested contacts) a WhatsApp message via Twilio, while updating call status and attempts back in Airtable.

How it works
Runs on a daily schedule and searches Airtable for contact records to call.
Iterates through contacts and skips anyone called recently or already marked as Interested, Not Interested, or Dead Contact.
Places an outbound call with Bolna.ai for each remaining contact and waits briefly for the call to complete.
Fetches the call result from Bolna.ai and checks whether a transcript exists to determine if the contact picked up.
If the call is picked up, sends the transcript to Groq to classify the outcome as Interested or NotInterested.
If Interested, sends a partnership email via Brevo, sends a WhatsApp message via Twilio, and updates the Airtable record with status, last-called date, and attempt count.
If NotInterested, sends a reassurance email via Brevo and updates the Airtable record accordingly, and if there is no pickup, sends a first follow-up email or marks the contact as Dead Contact (second failed attempt) and updates Airtable.

Setup
Connect Airtable (API key or personal access token), set your base ID/table name in the Airtable requests, and ensure fields exist for Coordinator Name, Coordinator Phone, Coordinator Email, College Name, Call Status, Call Attempts, Last Called, and a record id.
Add Bolna.ai credentials (HTTP Header Auth), set your Bolna agent ID, and ensure phone numbers in Airtable are stored in international format (for example, +919876543210).
Add your Groq API key and confirm the model and prompt match your desired classification labels (Interested vs NotInterested).
Add your Brevo API key and update the sender name/email, website link, and email templates used for Interested, Not Interested, No Answer, and Dead Contact outcomes.
Add Twilio credentials and configure a WhatsApp-enabled From number and the correct recipient mapping in the Twilio request.
Adjust the schedule time zone/cron expression and the wait duration to match your calling window and typical call length.

Nodes Used (2)

Airtable
n8n-nodes-base.airtable
HTTP Request
n8n-nodes-base.httpRequest