Makani Tech: Build. Automate. Evolve.

After-Hours Enquiry Agent with n8n + Claude (free workflow)

How to answer 11 PM enquiries, hold a slot, and hand your team a 9 AM list

FreeWorkflowBy Kishan Makani · updated 19 October 2026 · 4 min read

WhatsAppClaudeGoogle CalendarGoogle SheetsSlack

Downloads

  • Download the n8n workflow (JSON)

    after-hours-enquiry-agent-n8n-claude.json · n8n workflow · 24 steps · starts with WhatsApp Trigger · uses WhatsApp, Anthropic, Google Sheets, Google Calendar, Slack · 31 KB

    Import into n8n: Create Workflow, then the menu, then Import from File.

How to import it into n8n
  1. In n8n, create a new workflow.
  2. Open the ⋯ menu at the top right and choose Import from File, then pick the downloaded .json. (Or open the file, copy everything and paste it on the canvas.)
  3. Open each node with a warning and connect your own account: the file carries no passwords or keys.
  4. Run it once with Test workflow, check the result, then switch it to Active.

What this workflow does

When a patient or customer WhatsApps your business after hours, Claude answers within a minute using only your price list. If they want to come in, it checks your Google Calendar and holds one free slot, clearly marked HOLD, and tells them the team will confirm in the morning. At 9 AM each held enquiry lands in Slack with Confirm and Release. Confirm sends them a WhatsApp confirmation; Release frees the slot and marks them for a call back.

Who it is for

Dental and skin clinics, physiotherapists, salons, coaching institutes and home-service businesses (pest control, AC repair, cleaning) that get enquiries late in the evening.

What you need

  • An n8n account (Cloud or self-hosted)
  • A WhatsApp Business Cloud API number
  • An Anthropic API key for Claude
  • A Google Sheet with your prices and an enquiries log
  • The Google Calendar you book appointments in
  • Slack for the front desk

The workflow, step by step

Step 1 · Only after hours

WhatsApp Trigger receives every message. Clean up message keeps phone, name, text, message id and the current hour in India. Skip repeats drops Meta's retries. After hours? lets text messages through only between 8 PM and 9 AM, and all of Sunday. During working hours nothing happens and your team replies as usual.

Step 2 · Claude answers from your price list

Night agent runs on Claude with Chat memory (10 messages per phone number) and the Price list tool as its only source for prices. Reply format returns the reply, the intent (price, booking, urgent, other), the service, any held slot and a one-line summary. Send night reply sends it on WhatsApp.

Step 3 · A slot is held, not booked

When someone wants to come in, the agent uses Check free slots for that day and Hold a slot to create one 30-minute event titled "HOLD · name · treatment" in yellow. It tells them the team will confirm by 9:30 AM. Log enquiry writes everything to Enquiries with Status Slot held, Answered or Urgent. Urgent? sends pain, swelling or injury messages to Alert on-call in Slack.

Step 4 · 9 AM list for your team

Every day 9 AM starts the morning run. Get held enquiries reads rows with Status Slot held, and Loop over enquiries takes them one by one. Confirm on Slack shows who, what, which slot and what they were told, with Confirm and Release. Confirmed? splits the answer.

Step 5 · One tap confirms the patient

Confirm goes to Send confirmation, a WhatsApp with the day and time. Release goes to Release held slot, which deletes the HOLD event. Update enquiry status marks the row Confirmed or Call back. If any WhatsApp fails, Send failed alert tells the front desk.

Setup

  1. Import the JSON into n8n.
  2. Create the Sheet with Prices and Enquiries tabs (columns in the Setup sticky note). Fill in real price ranges.
  3. Connect WhatsApp, Anthropic, Google Sheets, Google Calendar and Slack. Paste your calendar ID into Check free slots, Hold a slot and Release held slot.
  4. Edit the Night agent system message: business name, hours, emergency number. Match the hours in After hours?.
  5. At night, message your number from another phone: "cleaning ka kitna? kal 6 baje?" Check the reply, the HOLD event and the sheet row. Run Every day 9 AM by hand to test the morning cards.

How to customise

  • Salon or coaching: change the system message and slot length (45 or 60 minutes), and rename Prices columns to services.
  • Several doctors: add a calendar per doctor and a Doctor column in Prices; give the agent one Check/Hold tool pair per calendar.
  • No Slack: swap Confirm on Slack for Gmail send-and-wait to the front desk email.
  • Day-time too: remove After hours? and the agent becomes a 24-hour assistant.

Guardrails

  • Prices come only from your sheet; anything else becomes "the doctor will advise".
  • The agent can only hold one slot. Nothing is a booking until your team taps Confirm.
  • Urgent messages get the emergency number and an instant alert, not an AI answer.

Troubleshooting

  • Agent replies during the day: check the workflow timezone is Asia/Kolkata and the hours in After hours?.
  • No slot held: the calendar tools need the right calendar ID and Google Calendar credential.
  • Confirmation fails: WhatsApp free text only works within 24 hours of the patient's last message. Confirm the same morning.
  • Release did nothing: the Hold event ID was empty because the agent did not hold a slot; the row is still marked Call back.

Want the members-only resources too?

A free account unlocks them all, including the ones shared in DMs.

Create a free account