Templates / Handling appointment leads and follow-up with Twilio, Cal.com and AI

Handling appointment leads and follow-up with Twilio, Cal.com and AI

Needs changes

by Jimleuk ✓ · 29,317 views · created 2024-07-11 · Lead Nurturing, AI Chatbot

Needs changes. This template uses 2 thing(s) that n8n 3.0 removes: HTTP Request Tool (legacy), AI Agent v1 (old agent modes). 2 breaking item(s) found. Static check, last run 2026-10-19.

What this workflow does

This AI workflow has 24 nodes and runs on Twilio events (com.twilio.messaging.inbound message.received) (plus 1 other trigger). Along the way it connects Twilio, OpenAI Chat Model, Airtable and HTTP Request. It also calls api.cal.com over HTTP.

How it runs

Trigger: On Twilio events (com.twilio.messaging.inbound message.received) (plus 1 other trigger).

  1. Check For Command Words (Switch): routes items into 1 branches
  2. Find Follow-Up Candidates (Airtable): search
  3. User Request STOP (Airtable): update
  4. Get Existing Chat Session (Airtable): search
  5. Generate Follow Up Message (Basic LLM Chain): sends a prompt to an LLM, with model: OpenAI Chat Model
  6. Send Confirmation (Twilio): uses Twilio
  7. Appointment Scheduling Agent (AI Agent): runs an AI agent, with model: OpenAI Chat Model; 6 tools (Cancel Booking, Create a Booking, Get Availability, Reschedule Booking…); output parser: Auto-fixing Output Parser
  8. Update Follow-Up Count and Date (Airtable): update
  9. Create/Update Session (Airtable): update
  10. Send Follow Up Message (Twilio): uses Twilio

…plus 1 more step. See the full node list below.

Services it uses

TwilioOpenAI Chat ModelAirtableHTTP Request

HTTP calls to: api.cal.com

Before you upgrade to n8n 3.0

2 things in this workflow are removed in n8n 3.0. Fix them before you upgrade:

  • HTTP Request Tool (legacy) in Get Availability, Get Existing Booking, Find Existing Booking…: replace with HTTP Request node connected to the AI Agent's Tool input.
  • AI Agent v1 (old agent modes) in Appointment Scheduling Agent1 (v1.6): replace with Latest AI Agent node (Tools Agent). For SQL Agent, use a Postgres or MySQL tool with a recent AI Agent.

Rather not rewrite it? Many of these flows can be rebuilt in Make (free plan).

Removed in 3.0Replace with
HTTP Request Tool (legacy)
Get Availability, Get Existing Booking, Find Existing Booking, Reschedule Booking, Cancel Booking, Create a Booking
HTTP Request node connected to the AI Agent's Tool input
AI Agent v1 (old agent modes)
Appointment Scheduling Agent1 (v1.6)
Latest AI Agent node (Tools Agent). For SQL Agent, use a Postgres or MySQL tool with a recent AI Agent.

Nodes used (11)

From the author

This n8n workflow builds an appointment scheduling AI agent which can Take enquiries from prospective customers and help them book an appointment by checking appointment availability Where no appointment is booked, the Agent is able to send follow-up messages…

Excerpt from Jimleuk's description on n8n.io.

View the original on n8n.io → Check your own copy

Get the weekly “what broke” email

New templates, newly broken ones, and n8n release changes. One short email a week.

Form not loading? Subscribe here.