SMS appointment scheduling bot with automated follow-ups
Loading workflow…
Workflow Description
The workflow receives customer SMS via a Twilio trigger, manages chat sessions and history in Airtable, and uses an AI agent with Cal.com tools to book, find, reschedule and cancel repair appointments before replying by SMS. A daily schedule trigger re-engages leads without appointments (max 3 follow-ups, 3-day gap) while honoring STOP requests.
How it works
- 1.A Twilio Trigger receives inbound SMS and a Switch node checks whether the body contains STOP.
- 2.STOP messages update the Airtable record status to STOP and send a confirmation SMS.
- 3.The existing chat session is fetched from the Lead Tracker table and passed to the AI agent as context.
- 4.The agent (GPT-4o-mini) uses Cal.com HTTP tools for availability, booking creation, lookup, reschedule and cancel, with a structured output parser plus auto-fixing parser.
- 5.The Airtable record is updated (name, summary, appointment, chat log) and the agent reply is sent back via Twilio.
- 6.A daily schedule trigger searches Airtable for leads with no appointment, status not STOP, fewer than 3 follow-ups and 3+ days since last follow-up, generates an AI follow-up message, updates counters and sends it via Twilio.
Use cases
- Scheduling PC/laptop repair appointments through an SMS chatbot.
- Letting customers check, reschedule or cancel existing bookings by SMS.
- Re-engaging leads who never completed a booking with capped follow-ups.
- Handling opt-out requests via the STOP keyword.
Requirements
- Twilio credentials for both the trigger and SMS sending, with a Twilio number wired to n8n.
- Airtable credentials and a base/table (Lead Tracker) containing fields such as session_id, status, chat_messages, followup_count, last_followup_at and appointment_id.
- An OpenAI API key for the agent chat model, follow-up chain and parser auto-fixing model.
- Cal.com API v2 credentials (header auth or calApi) and replacing eventTypeId 648297 with your own event type ID.
Setup and testing in n8n
- Send an SMS containing STOP and verify the Airtable status changes and the confirmation arrives.
- Start a new enquiry, complete a booking and confirm it appears in Cal.com and Airtable.
- Ask about an existing booking, then reschedule or cancel it to exercise the Cal.com tools.
- Create a lead record with no appointment and an old follow-up date, run the follow-up branch manually, and verify the message and counter update.
Service Value
Ideal as a smart automation service combining integrations and AI to produce ready-to-use results.
Apps Used
Details
How to Use
- 1.Click "Download Template"
- 2.Open your n8n dashboard
- 3.Go to Workflows > Import from File
- 4.Select downloaded file and configure credentials
Nodes Used (36)
Twilio Trigger
Set
OpenAI Chat Model1
OpenAI
Find Follow-Up Candidates
Airtable
Send Follow Up Message
Set
Sticky Note
Sticky Note
Update Follow-Up Count and Date
Airtable
Create/Update Session
Airtable
Get Existing Chat Session
Airtable
Every 24hrs
Schedule Trigger
Send Reply
Set
Send Confirmation
Set
User Request STOP
Airtable
Check For Command Words
Switch
Structured Output Parser
Output Parser Structured
Auto-fixing Output Parser
Output Parser Autofixing
OpenAI Chat Model2
OpenAI
Sticky Note3
Sticky Note
Sticky Note4
Sticky Note
Sticky Note5
Sticky Note
Sticky Note6
Sticky Note
Sticky Note7
Sticky Note
Sticky Note8
Sticky Note
Sticky Note1
Sticky Note
Generate Follow Up Message
LLM Chain
Sticky Note2
Sticky Note
Sticky Note9
Sticky Note
OpenAI Chat Model3
OpenAI
Get Availability
HTTP Request
Get Existing Booking
HTTP Request
Find Existing Booking
HTTP Request
Reschedule Booking
HTTP Request
Cancel Booking
HTTP Request
Create a Booking
HTTP Request
Sticky Note10
Sticky Note
Sticky Note12
Sticky Note
Appointment Scheduling Agent1
Agent
Source and license
Sticky Note
Fresh workflows, straight to your inbox
Get newly published DROPIDEA workflows, a clear overview of what they do, and a link to explore them.
- New workflows
- Clear overviews
- Setup guides