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.