Skip to content
Sales & CRM

SMS Appointment Scheduling Chatbot with Automated Follow-Ups

36 nodes 38 4 Scheduled trigger
Download

Loading workflow…

Workflow Description

This workflow receives inbound customer SMS via a Twilio trigger and routes the message to an OpenAI-powered AI agent that uses Cal.com HTTP tools to check availability and create, find, reschedule, or cancel bookings. Conversation state and chat history persist in an Airtable Lead Tracker table, and a 24-hour schedule trigger generates AI follow-up messages for leads without appointments, capped at three follow-ups with STOP opt-out support.

How it works

  1. 1.A Twilio Trigger receives inbound SMS and a Switch node checks whether the body contains STOP.
  2. 2.A STOP request updates the Airtable record status to STOP and sends a confirmation SMS.
  3. 3.Otherwise the session is fetched from Airtable and passed with chat history to the Appointment Scheduling Agent.
  4. 4.The agent calls Cal.com tools (Get Availability, Create/Find/Get/Reschedule/Cancel Booking) and returns structured output validated by an auto-fixing parser.
  5. 5.The Create/Update Session node persists messages, appointment details, and summary in Airtable, then replies via Twilio.
  6. 6.Every 24 hours the workflow searches Airtable for leads with no appointment, fewer than 3 follow-ups, and no follow-up in 3 days, generates an LLM follow-up message, updates the counter, and sends it with STOP instructions.

Use cases

  • Booking PC and laptop repair appointments through an SMS conversation.
  • Re-engaging prospective customers who did not complete a booking.
  • Managing reschedule and cancel requests entirely over SMS.

Requirements

  • Twilio credentials for the trigger and SMS nodes, an OpenAI credential, and an Airtable credential.
  • A Cal.com Header Auth credential (generic) for most tools and a calApi credential for Get Existing Booking.
  • An Airtable Lead Tracker table with the referenced fields, and replacing eventTypeId 648297 with your own.
  • A Twilio number configured to send inbound message webhooks to the n8n trigger URL.

Setup and testing in n8n

  1. Send a test SMS and verify a session is created or updated in Airtable and a reply arrives.
  2. Ask the agent to book an appointment and confirm the Cal.com booking and Airtable appointment_id.
  3. Send STOP and confirm the status changes, the confirmation SMS arrives, and follow-ups stop.
  4. Manually run the follow-up branch and check the generated message and incremented followup_count.

Service Value

Ideal as a smart automation service combining integrations and AI to produce ready-to-use results.

Apps Used

Twilio OpenAI Airtable Schedule If Output Parser LLM Chain HTTP Request AI Agent

Details

Trigger Scheduled trigger
Nodes 36
Apps 9
Views 38
Downloads 4

How to Use

  1. 1.Click "Download Template"
  2. 2.Open your n8n dashboard
  3. 3.Go to Workflows > Import from File
  4. 4.Select downloaded file and configure credentials

Nodes Used (36)

/

Twilio Trigger

Set

#1

OpenAI Chat Model1

OpenAI

#2

Find Follow-Up Candidates

Airtable

#3

Send Follow Up Message

Set

#4

Sticky Note

Sticky Note

#5

Update Follow-Up Count and Date

Airtable

#6

Create/Update Session

Airtable

#7

Get Existing Chat Session

Airtable

#8

Every 24hrs

Schedule Trigger

#9

Send Reply

Set

#10

Send Confirmation

Set

#11

User Request STOP

Airtable

#12

Check For Command Words

Switch

#13

Structured Output Parser

Output Parser Structured

#14

Auto-fixing Output Parser

Output Parser Autofixing

#15

OpenAI Chat Model2

OpenAI

#16

Sticky Note3

Sticky Note

#17

Sticky Note4

Sticky Note

#18

Sticky Note5

Sticky Note

#19

Sticky Note6

Sticky Note

#20

Sticky Note7

Sticky Note

#21

Sticky Note8

Sticky Note

#22

Sticky Note1

Sticky Note

#23

Generate Follow Up Message

LLM Chain

#24

Sticky Note2

Sticky Note

#25

Sticky Note9

Sticky Note

#26

OpenAI Chat Model3

OpenAI

#27

Get Availability

HTTP Request

#28

Get Existing Booking

HTTP Request

#29

Find Existing Booking

HTTP Request

#30

Reschedule Booking

HTTP Request

#31

Cancel Booking

HTTP Request

#32

Create a Booking

HTTP Request

#33

Sticky Note10

Sticky Note

#34

Sticky Note12

Sticky Note

#35

Appointment Scheduling Agent1

Agent

#36

Source and license

Sticky Note

#37
Stay in the loop

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

Be first to discover what is new

Your name, your email, and one confirmation.

Email confirmation · Unsubscribe anytime