Calendly
Read and cancel Calendly bookings, book invitees, mark no-shows, make single-use scheduling links, and read event types and availability.
Connect Calendly
- In the sidebar, open Connections and press Add connection.
- Type
calendlyand choose Calendly. - Choose Sign in with Calendly.
- Press Sign in with Calendly at the bottom of the sheet, then choose your account in Calendly’s window and allow access.
Or choose Paste your personal access token, paste it, and press Test and save. It stays until someone deletes it.
Sign in with Calendly, or paste a personal access token (Calendly → Integrations & apps → API and webhooks → Personal access tokens). Booking an invitee and Calendly’s webhooks need a paid Calendly plan (Standard or above).
What if it says “Sign-in isn’t set up here yet”?
Signing in with Calendly needs a Calendly app on this installation, and it has none yet. Until it is set up, Paste your personal access token works without it.
On Cloud: The sheet says “It’s set up once for everyone who uses this service, not by an organization.”
Self-hosted: An admin of the installation sees Set up Calendly sign-in instead, and sets it up once for everyone. Everyone else sees who to ask.
- Create an app in Calendly’s developer settings (Calendly’s guide).
- In GoRunner, copy the Redirect address to add in Calendly’s developer settings, and add it to the app.
- Paste the Client ID and Client secret, then press Save and sign in.
Can I use my own Calendly app?
Yes. In the sheet, open Use your own Calendly app and paste its Client ID and Client secret. Add the redirect address it shows to your app first. The connection then signs in through your app instead of the installation’s.
Connections says how to sign in again, rename or delete it. In a product that embeds GoRunner, Add connection can be missing: then your provider makes connections for you.
Start a workflow
Add a trigger and choose Calendly. The trigger uses the same connection as the steps.
On Calendly Event
Starts a run when Calendly reports one of the events picked, for your own meetings or the whole organization's. Publishing the workflow creates the Calendly webhook subscription (with a signing key kept encrypted); unpublishing removes it. Every delivery's Calendly-Webhook-Signature is checked, with a timestamp no older than 5 minutes, and an unsigned or wrongly signed one is refused; a delivery Calendly sends again starts no second run. Webhooks need a paid Calendly plan; the organization scope needs an admin or owner.
- Scope · Required
Your own meetings, or every meeting in the organization (needs a Calendly admin or owner).
Options: Mine, The organization's.
Default: Mine.
- Events · Required
Which events start a run.
Options: Meeting booked, Meeting cancelled, Invitee marked a no-show, No-show mark removed, Routing form submitted (organization only), Event type created, Event type changed, Event type deleted.
A later step can use its data, such as {{trigger.created_at}}, {{trigger.created_by}}, {{trigger.event}} and 1 more. See Use data from earlier steps.
Do things in Calendly
Add a Calendly step, choose a Resource, then an Operation. Choose a row to see its fields.
- Scheduled EventGet · Get Many · Cancel
- InviteeBook · Get · Get Many · Mark No-Show · Undo No-Show
- Event TypeGet · Get Many · Get Available Times
- Scheduling LinkCreate
- AvailabilityGet Schedules · Get Busy Times
- UserGet Me · Get · Get Many
Later steps read a step’s output by its name: see Use data from earlier steps.
Limits
- A reply from Calendly can be up to 16 MB (a file download can have its own limit). A larger one fails the step; it is never cut short.
- When Calendly says to slow down (429), the step waits as long as it asks, if the step’s time allows. Otherwise it fails and says when to try again.
Not in your list? See When an app isn’t here.
For developers
In the API, which calls apps pieces, Calendly is pieceId: "calendly" with actionId: "calendly", set by resource and an operation_… field, such as operation_availability. Its trigger is calendlytrigger / calendly_event. Get an app returns every field.
It can change something outside the run (writes_external). See How versions and side effects work.
Calendly › Scheduled Event
Get
- Scheduled Event · Required
The scheduled event's uuid or uri.
Get Many
- Whose · Optional
Your own events, another user's, or the whole organization's (another user's and the organization's need a Calendly admin or owner).
Options: Mine, A user's, The organization's.
Default: Mine.
- User · Required
The user's uuid or uri (User › Get Many lists the organization's).
Shows when Whose is A user's.
- Status · Optional
Active or cancelled events, or both.
Options: Both, Active, Cancelled.
- Starting After · Optional
Only events that start at or after this time (ISO 8601).
- Starting Before · Optional
Only events that start before this time (ISO 8601).
- Invitee Email · Optional
Only events this person is invited to.
- Order · Optional
By start time.
Options: Soonest first, Latest first.
Default: Soonest first.
- Return All · Optional
Read every event, page by page (at most 2000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many events to return (1–2000).
Default: 50.
Shows when Return All is off.
Cancel
- Scheduled Event · Required
The scheduled event's uuid or uri.
- Reason · Optional
Why it is cancelled; Calendly includes it in the cancellation email.
Calendly › Invitee
Book
- Event Type · Required
The event type to book.
- Start Time · Required
When the meeting starts (ISO 8601). It must be an open time (Event Type › Get Available Times).
- Name · Required
The invitee's full name.
- Email · Required
The invitee's email.
- Time Zone · Required
The invitee's time zone (IANA name).
- Location · Optional
The location kind, when the event type offers more than one (physical, outbound_call, zoom_conference, google_conference …). Empty: the event type's.
- Location Details · Optional
The address for an in-person meeting, or the phone number for a call the host makes.
- Answers · Optional
Answers to the event type's questions, such as [{"question": "What should we cover?", "answer": "Pricing", "position": 0}].
- Guests · Optional
More people to invite: emails separated by commas (at most 10).
Get, Mark No-Show and Undo No-Show
- Scheduled Event · Required
The scheduled event the invitees belong to (uuid or uri).
- Invitee · Required
The invitee's uuid or uri.
Get Many
- Scheduled Event · Required
The scheduled event the invitees belong to (uuid or uri).
- Status · Optional
Active or cancelled invitees, or both.
Options: Both, Active, Cancelled.
- Email · Optional
Only the invitee with this email.
- Return All · Optional
Read every invitee, page by page (at most 2000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many invitees to return (1–2000).
Default: 50.
Shows when Return All is off.
Calendly › Event Type
Get
- Event Type · Required
The event type.
Get Many
- Whose · Optional
Your own event types, another user's, or the whole organization's (another user's and the organization's need a Calendly admin or owner).
Options: Mine, A user's, The organization's.
Default: Mine.
- User · Required
The user's uuid or uri (User › Get Many lists the organization's).
Shows when Whose is A user's.
- Active · Optional
Only active (bookable) event types, only inactive ones, or both.
Options: Both, Active, Inactive.
- Return All · Optional
Read every event type, page by page (at most 2000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many event types to return (1–2000).
Default: 50.
Shows when Return All is off.
Get Available Times
- Event Type · Required
The event type.
- From · Required
The start of the range (ISO 8601; not in the past).
- To · Required
The end of the range (ISO 8601; at most 31 days after From).
Calendly › Scheduling Link
Create
- Event Type · Required
The event type the link books.
Calendly › Availability
Get Schedules
- User · Optional
The user's uuid or uri. Empty: your own (the user who signed in or made the token).
Get Busy Times
- User · Optional
The user's uuid or uri. Empty: your own (the user who signed in or made the token).
- From · Required
The start of the range (ISO 8601).
- To · Required
The end of the range (ISO 8601; at most 7 days after From).
Calendly › User
Get Me
Nothing to fill in.
Get
- User · Required
The user's uuid or uri.
Get Many
- Email · Optional
Only the member with this email.
- Role · Optional
Only members with this role.
Options: Any, Owner, Admin, User.
- Return All · Optional
Read every member, page by page (at most 2000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many members to return (1–2000).
Default: 50.
Shows when Return All is off.