AgentMeshLog inStart free

How-to

How to automate appointment scheduling with AI agents

Scheduling is two jobs stuck together: understanding a request written in prose, and doing something exact with a calendar. An agent is good at the first and needs watching on the second, which is what this page is mostly about.

I built the calendar tools described here. They are the only tools in the set that create something a person will turn up to, which is a different risk from posting a message.

Set it up

  1. Connect Google Calendar under Account → Integrations. It uses OAuth, so you grant access rather than pasting a key.
  2. Create a **Scheduling** agent and tick both calendar tools: `google_calendar_list_events` to read availability and `google_calendar_create_event` to book.
  3. In its Configuration box, set `system_prompt` to state your working hours, your slot length, your buffer between appointments, and your timezone. **Especially the timezone.**
  4. Tell it to list events before creating one, every time, and to refuse rather than guess when the request is ambiguous.
  5. Add a Webhook trigger so your booking form starts a run, or run it on a schedule to sweep an inbox.
  6. Test with a deliberately vague request — "sometime next week, mornings are better" — before trusting it.
State this in the promptWhyExample
TimezoneThe most common cause of a wrong bookingEurope/Berlin, and say so in every event
Working hoursOtherwise it books 7am09:00–17:30, Monday to Friday
Slot lengthOtherwise each request invents one30 minutes unless asked otherwise
Buffer between appointmentsBack-to-back bookings are its default15 minutes
What to do when unsureStops it guessing a dateAsk, do not book

Both calendar tools are capped at 300 calls per user per day, which is far more scheduling than a small team does.

Add reminders separately

Reminders are a different job with a different trigger, so make them a different workflow: a scheduled run that lists tomorrow’s events and sends a confirmation with send_email or telegram_message.

Keep them separate because the booking workflow should fire on an event and the reminder workflow on a clock. Bolting both onto one trigger is how you get reminders that only go out when somebody books.

What it costs

Reading a request and creating an event is a small job — comparable worked examples come to $0.0144, and one that failed on its first tool call $0.0024. Source: both costed step by step. A daily reminder sweep is a fraction of a cent a day.

The risks specific to calendars

Double-booking

Listing and creating are two separate calls, so two requests arriving together can both see a free slot. If double-booking would be a real problem, have the agent propose a slot and let a person or your booking system confirm it.

Timezones

This is where scheduling agents actually fail. State the timezone explicitly in the prompt and in the request format, and test with a request from another one. A quietly wrong offset produces bookings that look perfect and are an hour out.

It booked something that was never asked for

An agent that cannot reach the calendar can still report that it booked. Source: a run of mine finished as COMPLETED with both tool calls refused 403 and told the person it had checked. For anything somebody will physically attend, read the step rows — or better, have the created event itself be the confirmation you check.

Next

  1. See the other eight tools and their caps — see Give agents tools & integrations.
  2. Put the reminder sweep on a clock — see How to run AI agents automatically.