Calendly Integration
Calendly Integration
Overview
The Calendly integration lets your bot send personalized scheduling links directly in the chat conversation. When a visitor requests a demo or consultation, the bot collects their name and email, generates a Calendly booking link pre-filled with their information, and shares it in the chat. The visitor clicks the link and the Calendly booking page opens in a new browser tab.
Everything is automatic — the visitor does not need to retype their information on the Calendly page.
Setup
Step 1 — Create a Personal Access Token in Calendly
1. Sign into your Calendly account.
2. Go to My Account → Integrations & apps → API & Webhooks → Personal Access Tokens.
3. Click Generate new token.
4. Give it a name (e.g. "Velaro Integration").
5. Enable these three scopes:
- users:read — lets Velaro fetch your Calendly profile
- event_types:read — lets Velaro list your event types
- scheduling_links:write — required to create single-use booking links
6. Copy the token — it is shown only once.
> If you do not see scope checkboxes, your Calendly plan may use a simplified token flow. In that case, all standard scopes are included automatically.
> If scheduling_links:write is not available on your plan, uncheck Single-use links in the Velaro settings. The bot will send a reusable booking URL instead.
Step 2 — Connect Calendly in Velaro
1. Go to Integrations → Calendly.
2. Paste your Personal Access Token and click Save.
3. Velaro will automatically detect your event types.
4. Select a default event type (the type used when no specific type is chosen in a workflow).
5. Choose whether to use single-use links (recommended — each link works for one booking only).
6. Click Save.
How booking links work
When a visitor reaches a Send Calendly Link node in a workflow:
1. The bot resolves the visitor's name and email from the current conversation variables.
2. Velaro calls the Calendly API to generate a booking link.
3. If single-use links are enabled, a unique link is created that expires after one booking.
4. The visitor's name and email are pre-filled into the link — they do not need to enter them again on the Calendly page.
5. The link is sent in the chat. When the visitor clicks it, Calendly opens in a new browser tab.
6. The visitor picks a time and confirms on the Calendly site. Calendly sends them a confirmation email and calendar invite automatically.
Workflow setup
The simplest booking workflow looks like this:
1. Ask for name — "What's your name?" → save as visitorName
2. Ask for email — "What's your email address?" → save as visitorEmail
3. Send Calendly Link — the node uses visitorName and visitorEmail automatically
4. Send message — "Your booking link has been sent! Click it to pick a time."
You do not need to configure the variable names manually — the node defaults to visitorName and visitorEmail. If you store name and email under different variable names in your workflow, update the node's variable settings accordingly.
Bot-guided scheduling vs. link-based scheduling
Velaro offers two ways to handle Calendly:
| Send Calendly Link | Calendly AI (bot conversation) | |
|---|---|---|
| How it works | Bot collects info, sends a link; visitor picks time on Calendly site | Bot converses about scheduling and can book directly in the chat |
| Visitor experience | Click link → Calendly opens in new tab | Stays in the chat the whole time |
| Calendly confirmations | Yes — Calendly sends its own email + reminders | Yes — Calendly sends its own email + reminders |
| Best for | Self-service demo booking, quick consultations | High-touch sales, qualification + booking in one flow |
Most teams start with the Send Calendly Link approach. It's simpler to set up and uses Calendly's own scheduling UI.
Booking directly in the chat (rich channels like Apple Messages)
On rich channels — Apple Messages for Business, and the web widget — the bot can show a native time
picker of your real Calendly availability and book the chosen time **without the customer ever
leaving the conversation**. The customer taps a time and gets an instant "Confirmed" — Calendly then
sends its own calendar invite, reminders, and runs any Calendly Workflows, exactly like a normal booking.
What this needs (and the limitations)
- A paid Calendly plan. Direct in-chat booking uses Calendly's Scheduling API, which is only
available on paid Calendly plans. On the free plan, direct booking isn't available.
- A Personal Access Token connected in Velaro (Setup above). This works for booking on your own
account — you do not need to build a Calendly OAuth app.
- A default event type selected — that's the meeting type the bot books.
- Video / auto-location event types work with zero extra steps. If your event type is configured to
ask the invitee for a location (e.g. "invitee specifies a phone number" or multiple physical
addresses), Calendly needs that detail, so the bot falls back to sending a link for those.
If any of the above isn't met
The bot automatically falls back to sending a single-use Calendly scheduling link ("tap to lock in
your time"). The customer finishes on Calendly's page. Nothing breaks — the experience just gains one
extra tap. The bot will never tell a customer "Confirmed" unless the booking actually went through.
Want the most seamless native booking?
Calendly is fully supported, but because it's a scheduling platform its direct-booking path depends on a
paid plan. If you want a native picker → instant-confirmed experience with no plan dependency, connecting
Microsoft Bookings or Outlook Calendar in Velaro creates the calendar event directly. Velaro
books through whichever calendar you connect — you can switch anytime.
Common questions
Q: Does the Calendly link expire?
A: Single-use links expire after they are used once. If the visitor does not click the link, it remains active until the conversation closes. Reusable links do not expire.
Q: What if I have multiple event types?
A: The default event type is used unless the workflow node specifies a different event type URI. You can set the event type on individual Send Calendly Link nodes in your workflow.
Q: The booking link is not being generated — what's wrong?
A: Check that your Personal Access Token is still valid in Calendly (tokens can be revoked). Also verify that scheduling_links:write scope was enabled when you created the token. If single-use links fail, try disabling that option in the integration settings.
Q: Can the bot book the appointment without the visitor leaving the chat?
A: Yes — use the Calendly AI workflow node instead of Send Calendly Link. The AI node holds a full conversation and creates bookings via the Calendly API without opening an external page.
Q: Does Velaro store the visitor's Calendly booking data?
A: No. Velaro only generates and sends the link. All booking data (time, confirmation, attendees) is stored in your Calendly account.
Was this article helpful?