Browse the docs

Agent setup guide

Smart Scheduler

Reads a plain-language scheduling request and emails 3 real open times from your Calendly.

Coming soon — waiting for Calendly approval About 15 min to set up

What it does

Reads a plain-language scheduling request and emails 3 real open times from your Calendly.

  • Receives each scheduling request in plain language ("30 minutes next week, afternoons") from your form, chat widget or email parser through a webhook.
  • AI works out the search window, the requester's time zone and their preferences, and sends reschedules, group meetings and unclear requests to your team by email, with the requester's own message.
  • Asks Calendly for your real open slots, then AI picks the 3 that fit best (reading both its understanding of the request and the requester's own words) and shows them in the requester's time zone, each with its own booking link, plus a one-time booking link as a fallback.
  • Clear requests are emailed at once; anything less certain is checked by a teammate in Reviews first. Replies go to your scheduling inbox.

What it needs

  • A paid plan (agents run live on paid plans).
  • An AI provider key (Settings → AI Providers).
  • Calendly, connected in Settings → Integrations (with your calendars connected inside Calendly).
  • A form, chat widget or email parser that can send scheduling requests to a webhook URL.

What it doesn't do

  • It doesn't read your Google or Outlook calendar directly or book on the requester's behalf; they pick a time and Calendly books it and sends the invite.
  • It doesn't coordinate several people's calendars, reschedule or cancel meetings, or send reminders.
  • It doesn't read an inbox by itself; requests arrive through the webhook.

Availability and plans

Coming soon — waiting for Calendly approval

The agent is built, but Calendly is still waiting for the vendor's approval. It becomes available on its own once that app is live; until then it can't be bought or set up.

Included free on the Enterprise plan; on other paid plans it's a one-time purchase per workspace (the price is on the Agents page). The Agents page in the app always shows its current status.

Before you start

  • A paid plan: agents run live, and the Free plan only runs Dry Runs.
  • An AI provider key (OpenAI, Anthropic, Google and more) in Settings → AI Providers. AI usage is billed by your provider.
  • These apps, connected in Settings → Integrations: Calendly.
  • A form, app or system that can send each new item to a webhook URL (the agent starts from a webhook).
  • About 15 minutes.

Set it up step by step

Get the agent first (buy it, or it's already yours when your plan includes it), then in Agents → My agents press “Set up this agent”. That creates the agent's workflow in your workspace (it counts towards your plan's workflow limit) and opens the canvas with a setup checklist above it. Each item links to the exact place to go and ticks itself off when it's done.

1. Connect your AI provider

The AI steps run on your own key (OpenAI, Anthropic, Google and more). Add one in Settings → AI Providers.

2. Connect Calendly

Connect the Calendly account whose availability you offer (Settings → Integrations → Calendly).

3. Describe your scheduling preferences

Open “Understand the request” and “Pick 3 times and write the email” and replace the placeholder in each with your time zone, hours and signer.

SettingWhat to enterIn step
Your scheduling preferencesReplace the placeholder in “Understand the request” with your default time zone, meeting hours, days to avoid, what counts as needing a person, and who signs the emails. It starts as “[DESCRIBE YOUR SCHEDULING PREFERENCES HERE]” until you replace it.“Understand the request”
Your scheduling preferences (email step)Paste the same preferences into “Pick 3 times and write the email”, so it picks times and signs emails the same way. It starts as “[DESCRIBE YOUR SCHEDULING PREFERENCES HERE]” until you replace it.“Pick 3 times and write the email”

4. Pick your Calendly event type

Open both Calendly steps and pick your account and the same event type in each.

SettingWhat to enterIn step
Calendly account (open times)The Calendly account whose availability is used. Pick your connected Calendly account.“Find open times in Calendly”
Event type (open times)Pick the Calendly event type to offer, e.g. “30 Minute Meeting”.“Find open times in Calendly”
Calendly account (booking link)The Calendly account the one-time booking link is created in. Pick your connected Calendly account.“Create a one-time booking link”
Event type (booking link)Pick the same event type as in “Find open times in Calendly”.“Create a one-time booking link”

5. Add your scheduling inbox

Open “Email the times to the requester” and “Send it to your team” and enter your scheduling address.

SettingWhat to enterIn step
Your scheduling email addressRequesters' replies come back to this address (Reply-to).“Email the times to the requester”
Where requests that need a person goReplace meetings@example.com with the address reschedules, group meetings and unclear requests are emailed to. It starts as “meetings@example.com” until you replace it.“Send it to your team”

6. Test it with Dry Run

Press Dry Run: the agent runs on sample data with no messages sent and nothing written to your apps.

7. Switch the trigger on

Open the trigger, switch the webhook on and send your scheduling requests (name, email, time zone, message) to its URL.

How it works

The agent is a normal workflow with 11 steps (2 AI steps, with a person approving in Reviews). You can open, edit and monitor it like any other workflow.

  • New scheduling request — Starts when your form or app sends data to the agent's webhook URL. Your contact form, chat widget or email parser posts each scheduling request (name, email, time zone and message) to the webhook URL.
  • Understand the request — AI step (runs on your AI provider key). AI reads the request in plain language and works out the search window, the requester's time zone and their preferences, or flags it for a person.
  • Can the agent handle it? — Decision: picks the branch to follow. Reschedules, group meetings, unclear requests and non-scheduling messages go to your team by email; the rest get open times.
  • Send it to your team — Sends an email from your workspace's sender. Branch: Needs a person. Emails the request, the requester's own message and the reason it needs a person to your scheduling inbox.
  • Find open times in Calendly — Calendly: Find available times. Branch: Find times. Asks Calendly for the open slots of your event type in the requested window (your real availability, up to 7 days).
  • Create a one-time booking link — Calendly: Create a one-time booking link. Creates a single-use Calendly booking link for your event type, as a fallback if none of the proposed times work.
  • Pick 3 times and write the email — AI step (runs on your AI provider key). AI reads the understood request, the requester's own message, the open slots and the one-time link, picks the 3 slots that best match, shows them in the requester's time zone with a booking link for each, and writes the email.
  • Clear enough to send? — Decision: picks the branch to follow. When the request was clear and at least two good times were found, the email goes out at once; otherwise a teammate checks it first.
  • Check the proposed times — A person approves or rejects it in Reviews (the run waits). Branch: Check first. A teammate checks the times and email in Reviews, edits them if needed and approves sending.
  • Email the times to the requester — Sends an email from your workspace's sender. Branch: Send now / Approved. Sends the proposed times with their booking links, with replies going to your scheduling inbox.
  • Done — Kept in the run history. The run history keeps the request, the proposed times and what was sent.

Test it with Dry Run

Press Dry Run in the canvas. The agent runs on the sample data stored on its trigger (the “Sample data for Dry Run” box), so you can check every step's output before anything is live. Edit the sample to match the fields your own form or app sends.

Sample data fields

name, email, timezone, message, source.

  • Nothing is sent or written: app actions, emails and Slack posts are simulated, and AI steps don't call your AI provider.
  • Approval steps use the Dry Run decision you pick in the step's settings (approved, rejected or timeout), so you can try each branch.

Go live

  • Open the trigger, switch the webhook on and send your scheduling requests (name, email, time zone, message) to its URL.
  • The webhook is protected by a secret: send it in the header shown in the Activation panel (requests without it are refused with 403). Each request starts one run.
  • The setup checklist adds a “paid plan” item before activation: live runs need a paid plan (the Free plan only runs Dry Runs).
  • When every checklist item is done and the trigger is on, the checklist says “Live — this agent is running”. Follow its runs in the workflow's History tab and in Analytics → Agents.

Questions

Does it book the meeting itself?

The requester books with one click on the time they pick; Calendly then sends its usual invite and calendar links.

Does it read my Google or Outlook calendar?

It uses your Calendly availability, which already reflects the calendars you connected to Calendly.

Troubleshooting

  • “No AI provider connected” or a rejected key: connect or fix the key in Settings → AI Providers, then press Test there.
  • A checklist item stays unticked: the setting is still empty or still contains its placeholder text. Open the step from the checklist and fill it in.
  • An app step fails with “Needs reconnect”: the account's access was revoked or expired. Reconnect it in Settings → Integrations.
  • Nothing happens when your form sends data: check the webhook is switched on and the request carries the secret header (403 means it's missing or wrong).
  • A run shows as paused: it's waiting for someone in Reviews to approve or reject it.
  • A step failed: open the run in History and check that step in the Trace tab for the error and what it received.

Generated from the agent's own workflow, so it always matches what the agent does. Last updated .