AI agents for Calendly
Bookings that should kick off preparation automatically. AGNT connects to Calendly so agents can read what happens there, reason about it, and act — with a receipt for every run.
Calendly and AGNT, in brief
| What it does | Lets an AGNT agent read from and act in Calendly. |
|---|---|
| Connects with | An API key held in the local vault |
| AGNT node | calendly-api, receive-calendly-booking |
| Runs when | A meeting is booked |
| Typical build time | Two minutes |
| Where data goes | Nowhere by default — AGNT runs on your machine and credentials never leave it. |
What you can automate
Reacts when…
- a meeting is booked
- a booking is cancelled
Agents can…
- read booking details
- trigger prep workflows
Teams use it for
- research briefs before every booked call
- no-show follow-ups sent automatically
- bookings logged into the CRM
Copy this Calendly workflow
Design goal for Calendly: research briefs before every booked call; no-show follow-ups sent automatically; bookings logged into the CRM. The template below supplies configurable nodes, not the complete logic for those goals.
Use this Calendly setup template to arrange the schedule, input review and API operation. Configure the account-specific fields and add your own decision and approval controls before activation.
This is a schema-checked starting point, not an end-to-end tested automation. Replace every CONFIGURE_ value, choose the operations you intend, connect credentials and map source outputs into later inputs. An edge orders steps; it does not supply a condition, an approval gate or a field mapping. Add and test those controls explicitly before any write. Cloud APIs and model providers may receive data. Keep the workflow inactive until tested with fixtures.
{
"id": "c1812317-6de5-4a5c-ab05-2b19eb65505c",
"name": "Calendly — read, decide, act",
"nodes": [
{
"id": "fa48a3c2-7ddb-4235-ad89-e6c534b443fa",
"text": "Watch Calendly for activity",
"x": 512,
"y": 144,
"isEditing": false,
"type": "receive-calendly-booking",
"icon": "clock",
"category": "trigger",
"isSelected": false,
"parameters": {
"scope": "user",
"userUri": "CONFIGURE_USERURI",
"organizationUri": "CONFIGURE_ORGANIZATIONURI",
"eventTypeUri": "CONFIGURE_EVENTTYPEURI",
"pollIntervalMs": 1,
"lookAheadDays": 1,
"count": 1,
"includeInvitees": false,
"dropExistingOnStart": false,
"includeRaw": false
},
"description": "Setup template for New Calendly Booking. Poll Calendly for newly-created upcoming scheduled events and trigger the workflow when a new booking is detected. Configure credentials, inputs and output mapping before use.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
},
{
"id": "82613cc6-af23-4cf2-a4bf-e2dab31bbea4",
"text": "Review source and draft",
"x": 512,
"y": 336,
"isEditing": false,
"type": "agnt-agent",
"icon": "agnt",
"category": "action",
"isSelected": false,
"parameters": {
"agentId": "CONFIGURE_AGENTID",
"message": "Read the Calendly item and decide whether it warrants action. Explain your reasoning.\nSource input: CONFIGURE_SOURCE_INPUT. Produce a reviewable draft only; do not take external actions."
},
"description": "Setup template for Agent Chat. Chat with an AI agent from your agent library. Select an agent and send messages to interact with it within your workflow. Configure credentials, inputs and output mapping before use.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
},
{
"id": "23c78524-f603-4bfa-a9f3-93f6e6ff0d4c",
"text": "Configure destination in Calendly",
"x": 512,
"y": 528,
"isEditing": false,
"type": "calendly-api",
"icon": "connect",
"category": "action",
"isSelected": false,
"parameters": {
"action": "GET_CURRENT_USER",
"userUri": "CONFIGURE_USERURI",
"organizationUri": "CONFIGURE_ORGANIZATIONURI",
"eventTypeUri": "CONFIGURE_EVENTTYPEURI",
"scheduledEventUri": "CONFIGURE_SCHEDULEDEVENTURI",
"startTime": "CONFIGURE_STARTTIME",
"endTime": "CONFIGURE_ENDTIME",
"timezone": "CONFIGURE_TIMEZONE",
"inviteeName": "CONFIGURE_INVITEENAME",
"inviteeEmail": "CONFIGURE_INVITEEEMAIL",
"eventGuests": "CONFIGURE_EVENTGUESTS",
"questionsAndAnswersJson": "CONFIGURE_QUESTIONSANDANSWERSJSON",
"trackingJson": "CONFIGURE_TRACKINGJSON",
"locationJson": "CONFIGURE_LOCATIONJSON",
"reason": "CONFIGURE_REASON",
"confirmBooking": false,
"confirmCancellation": false,
"status": "active",
"sort": "start_time:asc",
"count": 1,
"singleUseLinkMaxEventCount": 1,
"includeRaw": false
},
"description": "Setup template for Calendly API. Use Calendly with AGNT workflows via a Calendly Personal Access Token stored as the calendly auth provider. Configure credentials, inputs and output mapping before use.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
}
],
"edges": [
{
"id": "a7ae3806-24c4-42c5-a80b-39a301e5cfee",
"start": {
"id": "fa48a3c2-7ddb-4235-ad89-e6c534b443fa",
"type": "output"
},
"end": {
"id": "82613cc6-af23-4cf2-a4bf-e2dab31bbea4",
"type": "input"
},
"startX": 800,
"startY": 168,
"endX": 512,
"endY": 360
},
{
"id": "19dbd8d6-9277-4415-a6bc-fb1159f6257e",
"start": {
"id": "82613cc6-af23-4cf2-a4bf-e2dab31bbea4",
"type": "output"
},
"end": {
"id": "23c78524-f603-4bfa-a9f3-93f6e6ff0d4c",
"type": "input"
},
"startX": 800,
"startY": 360,
"endX": 512,
"endY": 552
}
],
"zoomLevel": 1,
"canvasOffsetX": 0,
"canvasOffsetY": 0,
"isTinyNodeMode": false
}
Configure New Calendly Booking
Poll Calendly for newly-created upcoming scheduled events and trigger the workflow when a new booking is detected.
- scope — Listen for bookings for the connected user or the whole Calendly organization. Organization mode may require admin permissions. Current example:
user. - userUri — Optional Calendly user URI or UUID. If omitted, the connected user is used. Current example:
CONFIGURE_USERURI. - organizationUri — Optional Calendly organization URI or UUID. If omitted, the connected user current organization is used. Current example:
CONFIGURE_ORGANIZATIONURI. - eventTypeUri — Optional event type URI/UUID filter. Use commas or new lines for multiple event types. Current example:
CONFIGURE_EVENTTYPEURI. - pollIntervalMs — Polling interval in milliseconds. Minimum 10000. Default 60000. Current example:
1. - lookAheadDays — How far ahead to scan for upcoming booked events. Default 30 days. Current example:
1. - count — Maximum scheduled events to fetch per poll, 1-100. Current example:
1. - includeInvitees — Fetch invitee details for each new scheduled event. Current example:
false. - dropExistingOnStart — Ignore already-existing events when the workflow starts, and only fire for future newly-seen bookings. Current example:
false. - includeRaw — Include raw Calendly API payloads in the trigger output. Current example:
false.
Configure Calendly API
Use Calendly with AGNT workflows via a Calendly Personal Access Token stored as the calendly auth provider.
- action — The Calendly operation to perform. Current example:
GET_CURRENT_USER. - userUri — Calendly user URI. Required for some list operations unless organizationUri is provided. Example: https://api.calendly.com/users/USER_UUID Current example:
CONFIGURE_USERURI. - organizationUri — Calendly organization URI. Example: https://api.calendly.com/organizations/ORG_UUID Current example:
CONFIGURE_ORGANIZATIONURI. - eventTypeUri — Calendly event type URI or UUID. Required for availability, scheduling links, and booking. Current example:
CONFIGURE_EVENTTYPEURI. - scheduledEventUri — Calendly scheduled event URI or UUID. Required for cancellation. Current example:
CONFIGURE_SCHEDULEDEVENTURI. - startTime — ISO 8601 start time. For availability/listing, use the start of the search window. For booking, use the selected meeting start time in UTC ending with Z. Current example:
CONFIGURE_STARTTIME. - endTime — ISO 8601 end time for availability or event listing windows. Calendly available-times supports a maximum 7-day window per request. Current example:
CONFIGURE_ENDTIME. - timezone — Timezone for invitee or display, e.g. America/New_York or UTC. Current example:
CONFIGURE_TIMEZONE. - inviteeName — Invitee full name. Required for BOOK_INVITEE. Current example:
CONFIGURE_INVITEENAME. - inviteeEmail — Invitee email address. Required for BOOK_INVITEE. Current example:
CONFIGURE_INVITEEEMAIL. - eventGuests — Optional comma-separated guest email list, or JSON array of guest emails. Current example:
CONFIGURE_EVENTGUESTS. - questionsAndAnswersJson — Optional JSON array for Calendly invitee questions and answers. Current example:
CONFIGURE_QUESTIONSANDANSWERSJSON. - trackingJson — Optional JSON object for Calendly tracking fields. Current example:
CONFIGURE_TRACKINGJSON. - locationJson — Optional JSON object for Calendly invitee location. Current example:
CONFIGURE_LOCATIONJSON. - reason — Cancellation reason for CANCEL_EVENT. Current example:
CONFIGURE_REASON. - confirmBooking — Required safety confirmation for BOOK_INVITEE because it creates a real Calendly booking. Current example:
false. - confirmCancellation — Required safety confirmation for CANCEL_EVENT because it cancels a real Calendly event. Current example:
false. - status — Scheduled event status for LIST_SCHEDULED_EVENTS. Current example:
active. - sort — Sort order for LIST_SCHEDULED_EVENTS. Current example:
start_time:asc. - count — Maximum number of results to return where supported. Current example:
1. - singleUseLinkMaxEventCount — Maximum event count for CREATE_SCHEDULING_LINK. Calendly single-use links normally use 1. Current example:
1. - includeRaw — Include the raw Calendly API response in the output. Current example:
false.
Run this against your own Calendly
AGNT Community Core is free and runs on your own machine. Nothing about this workflow leaves it.
A booking is a trigger to prepare
The moment a meeting is booked is the ideal time to start research, and the least likely time for anyone to do it. An agent can produce the briefing — who they are, what they do, what they asked for — well before the call appears on anyone’s horizon.
The other end of the funnel
Cancellations and no-shows are equally automatable: follow-ups sent, the CRM updated, and the slot flagged, without anyone remembering to check.
Inside the Calendly API node
Use Calendly with AGNT workflows via a Calendly Personal Access Token stored as the calendly auth provider.
What it can do: GET_CURRENT_USER LIST_EVENT_TYPES GET_AVAILABLE_TIMES CREATE_SCHEDULING_LINK BOOK_INVITEE LIST_SCHEDULED_EVENTS CANCEL_EVENT
Full Calendly API parameter reference
| Parameter | Type | What it does |
|---|---|---|
actionrequired |
string | The Calendly operation to perform. GET_CURRENT_USER · LIST_EVENT_TYPES · GET_AVAILABLE_TIMES · CREATE_SCHEDULING_LINK · BOOK_INVITEE · LIST_SCHEDULED_EVENTS · CANCEL_EVENT |
userUrirequired |
string | Calendly user URI. Required for some list operations unless organizationUri is provided. Example: https://api.calendly.com/users/USER_UUID |
organizationUrirequired |
string | Calendly organization URI. Example: https://api.calendly.com/organizations/ORG_UUID |
eventTypeUrirequired |
string | Calendly event type URI or UUID. Required for availability, scheduling links, and booking. |
scheduledEventUrirequired |
string | Calendly scheduled event URI or UUID. Required for cancellation. |
startTimerequired |
string | ISO 8601 start time. For availability/listing, use the start of the search window. For booking, use the selected meeting start time in UTC ending with Z. |
endTimerequired |
string | ISO 8601 end time for availability or event listing windows. Calendly available-times supports a maximum 7-day window per request. |
timezonerequired |
string | Timezone for invitee or display, e.g. America/New_York or UTC. |
inviteeNamerequired |
string | Invitee full name. Required for BOOK_INVITEE. |
inviteeEmailrequired |
string | Invitee email address. Required for BOOK_INVITEE. |
eventGuestsrequired |
string | Optional comma-separated guest email list, or JSON array of guest emails. |
questionsAndAnswersJsonrequired |
string | Optional JSON array for Calendly invitee questions and answers. |
10 further parameters are available on the node itself.
Every parameter above is read from the shipped calendly-api node, so it cannot drift from the product.
Connect Calendly in two minutes
- Download AGNT Community Core — free, local-first, no account needed to run.
- Connect by pasting an API key into AGNT’s vault — stored encrypted on your machine, never uploaded.
- Drop the Calendly node into a workflow or hand it to an agent — the first run produces a receipt you can read line by line.
Calendly + AGNT — common questions
What happens when a meeting is booked?
A booking can trigger a research briefing, a CRM update and any preparation you define.
Can no-shows be followed up automatically?
Yes — a cancellation or no-show can start its own workflow.
How is Calendly connected?
With an API key held encrypted in the local vault.