n8n Jump Start · Module 11 of 16

Book Appointments from Chat, Automatically, using n8n

n8nAdvanced~11 min practice36 steps

Why this matters

Robert’s intro to this module

At Maple Street Dog Grooming, every booking request is a back-and-forth. Check the calendar, offer a time, wait, write it in the calendar, then copy it into the bookings sheet. Requests that arrive while the groomers are busy wait for hours, and some customers book elsewhere.

A chat agent can talk, but on its own it cannot do anything. Give it tools and it can look things up and act.

In this module you turn a chat agent into a booking assistant. You write its rules, then give it three tools: check Google Calendar, create the event, and log the booking in Google Sheets.

What you’ll build

A chat agent that, given a name, a dog, a service and a time, checks the calendar, books the hour and adds a row to the Grooming bookings sheet (columns Customer and Booking), then confirms in one friendly message.

You use the sparkle button so the model fills in start and end times, the event title and the sheet columns from the conversation.

What you need

  • Nothing to start the practicen8n, OpenAI and Google are practice copies. Maple Street Dog Grooming, Dana and Biscuit are made up.
  • An n8n account, to do it for realSign up with this link (affiliate link: I may earn a commission, at no cost to you). n8n’s free AI credits can power the model at first.
  • An OpenAI API key (if the free credits run out)Go to platform.openai.com, open API Keys, click Create new secret key and copy it once. Add a few dollars under Settings, Billing. Paste it into a new credential in the chat model node. Never share it.
  • A Google CalendarA calendar called Grooming appointments, in the Google account you connect. In each Google Calendar tool, create the credential and choose Sign in with Google.
  • A Google Sheet for bookingsName it Grooming bookings with Customer and Booking in row 1. Connect it in the Google Sheets tool the same way.

Concepts

3 ideas you’ll use in the practice.

The system message is the rulebook

Replace "You are a helpful assistant" with real rules: opening hours, services, that each appointment is one hour, and the order of the job. Check the time first, then book it, then log it, then confirm.

Name the tools in the rules so the agent knows when to use each one. Add "Never book a time you have not checked. Do not invent prices or services."

Each tool is a node the agent can call

Click the + under Tool on the AI Agent. Tool one is Google Calendar, Availability, which checks whether an hour is free. Tool two is Google Calendar, Create an event. Tool three is Google Sheets, Append row in sheet.

The nodes are named after their actions, such as Get availability in a calendar in Google Calendar, and the rules use those names.

Let the model fill in the blanks

A tool cannot know the customer’s time in advance. Click the sparkle button next to a field (Let the model define this parameter) and the model fills it in from the conversation. Use it for Start Time, End Time, the event title and the sheet columns.

An agent also does not know today’s date. Add a line like Today is {{ $now.toFormat('cccc, d LLLL yyyy') }} to the system message, switched to Expression, so it can handle "next Thursday".

Practice

Do every step yourself in a practice copy of the real tool. It checks your work, and “Do it for me” finishes any step you get stuck on.

n8nBook Appointments from Chat, Automatically, using n8n36 steps · ~11 min · nothing touches your real accounts

Do it for real

Now repeat it in your own account. Tick each step as you go.

Quick check

3 questions to check you’ve got it.

1. Why name the tools in the system message?

  • It makes the answers longer
  • It tells the agent when to use each one, and in what order
  • n8n requires it
Show the answer

It tells the agent when to use each one, and in what order. The rules say check first, then book, then log, using the tools by name.

2. What does the sparkle button next to a field do?

  • Lets the model fill in that value from the conversation
  • Deletes the field
  • Publishes the workflow
Show the answer

Lets the model fill in that value from the conversation. The start time, event title and sheet columns depend on what the customer says, so the model fills them in.

3. The agent cannot work out "next Thursday". What is missing?

  • A bigger model
  • Today’s date in the system message
  • A third tool
Show the answer

Today’s date in the system message. An agent does not know the date. Add a Today is line using $now, switched to Expression.

Up next · Module 12

n8n: Read, Add and Update Google Sheets Rows with an AI Step

That completes n8n Jump Start. You can chat with a sheet, use templates, route work, run on a schedule, handle errors, write with AI, take in forms and give an agent tools. Pick your next course, like AI Agents 101, to go deeper on agents.

Start module 12 →