Automation library · Scheduling

Automate salon appointment management with WhatsApp and OpenAI

Started by an incoming WhatsApp message, and works across Gmail, Google Calendar, Redis and WhatsApp. It puts Gemini and OpenAI behind a retrieval step, so answers are drawn from documents you supply rather than from the model alone. 56 steps, 8 branches, 1 loop or waits: large, and worth reading before you trust it with anything live.

LargeCalls a model: Gemini, OpenAIRetrieval

56 stepsLarge: read it before trusting it with anything live
8Branches: places the flow splits
1Loop or waits
4Services it connects to

The flow

Starts it 2Model 8Logic 21Service 25

The steps in the order they run, from what starts it.

  1. 1WhatsApp TriggerWhats App triggerStarts it
  2. 2Redis Chat MemoryMemory Redis ChatModel
  3. 3send_acknowledgementWhats App ToolService
  4. 4nail-salon-booking-mcpMcp Client ToolModel
  5. 5Schedule TriggerSchedule triggerStarts it
  6. 6gpt-5-miniLm Chat Open AiModel
  7. 7gemini-2.5-flashLm Chat Google GeminiModel
  8. 8Is Owner?IfLogic
  9. 9Booking AgentAgentModel
  10. 10cancel_agentAgent ToolModel
  11. 11Calculate TomorrowCodeLogic
  12. 12Execute Airtable AgentExecute WorkflowLogic
  13. 13Set Initial DataSetLogic
  14. 14Send MessageWhats AppService
  15. 15Get Schedule EventsGoogle CalendarService
  16. 16Is Audio Message?IfLogic
  17. 17Format Reminder DataCodeLogic
  18. 18Combine MessagesCodeLogic
  19. 19Is User Text Message?IfLogic
  20. 20Send Client ReminderWhats AppService
  21. 21Get many eventsGoogle CalendarService
  22. 22Rate LimiterCodeLogic
  23. 23Limit Reached?CodeLogic
  24. 24Redis HourlyRedisService
  25. 25Input typeSwitchLogic
  26. 26Increment Counter HourlyRedisService
  27. 27TextSetLogic
  28. 28Get Audio UrlWhats AppService
  29. 29Get Image UrlWhats AppService
  30. 30Only PDF FileIfLogic
  31. 31Not supportedWhats AppService
  32. 32Check LimitCodeLogic
  33. 33Download AudioHttp RequestService
  34. 34Download ImageHttp RequestService
  35. 35Get File UrlWhats AppService
  36. 36Incorrect formatWhats AppService
  37. 37Check Rate LimitedIfLogic
  38. 38Transcribe AudioOpen AiModel
  39. 39Analyze ImageOpen AiModel
  40. 40Download FileHttp RequestService
  41. 41Send Mesage?IfLogic
  42. 42PushRedisService
  43. 43AudioSetLogic
  44. 44ImageSetLogic
  45. 45Extract from FileExtract From FileService
  46. 46Send User MessageWhats AppService
  47. 47Set Processing LockRedisService
  48. 48FileSetLogic
  49. 49Send Owner MessageWhats AppService
  50. 50WaitWaitLogic
  51. 51Send Rate Limit EmailGmailService
  52. 52Get Current Processing LockRedisService
  53. 53Am I the Processor?IfLogic
  54. 54Pop All Batched MessagesRedisService
  55. 55Delete Message ListRedisService
  56. 56Delete Processing LockRedisService

How it's built

Starts on
An incoming WhatsApp message
Steps
56, with 8 branches, 1 loop or waits
Size
Large: read it before trusting it with anything live
Connects to
Gmail, Google Calendar, Redis, WhatsApp
Model
Gemini, OpenAI
Retrieval
Answers are drawn from documents you supply, not from the model alone

Questions

What does it need to run?

An n8n account, plus your own Gmail, Google Calendar, Redis and WhatsApp accounts, and a key for Gemini and OpenAI. You connect your own accounts after importing it; none are included.

What starts it?

It starts on an incoming WhatsApp message.

Does it use AI?

Yes. It calls Gemini and OpenAI. Its answers draw on documents you give it, not on the model alone. Model calls are billed by the provider, not by n8n.

How long does it take to set up?

Take your time. At 56 steps it is large: read it before trusting it with anything live.

How do I import it?

Copy the workflow, open a new workflow in n8n and paste. The steps appear on the canvas, ready for your own accounts.

Before you run it

Nothing here has been tested by us. It is somebody's working automation, read and described from its own steps. Treat the connections it wants as a list of accounts it will touch, and read the 56 steps before you point it at anything that matters.