Documentation Index
Fetch the complete documentation index at: https://docs.voxworks.ai/llms.txt
Use this file to discover all available pages before exploring further.
Description
Creates a booking in Calendly for the time slot the user selected during the conversation. The tool uses AI to extract the appointment date and time from the conversation context, then calls the Calendly API to create the booking. Returns true if the appointment is booked successfully.
Provider: Calendly (calendly.com)
Timezone: Australia/Sydney (automatically converted to UTC for API)
Location Type: Outbound call (the assistant will call the user at their phone number)
| Name | Data Type | Required | Description |
|---|
| Invitee name | string | Yes | Full name of the person booking the appointment |
| Invitee email | string | Yes | Email address of the person booking the appointment |
| Invitee phone | string | Yes | Phone number of the person booking the appointment |
You can use variables in these fields:
[Contact - First Name] for the name
[Contact - Email] or [Contact - Email (Verified)] for the email
[Contact - Phone] for the phone number
This tool automatically uses:
| Variable | Description |
|---|
| [Calendar - Event ID] | The Calendly event URL (set by Calendly - Get Availabilities) |
The tool also uses the conversation context to extract which time slot the user selected.
Manual Outputs
| Name | Data Type | Description |
|---|
| result | bool | true if appointment was booked successfully |
Global Outputs
| Variable | Data Type | Description |
|---|
| [Calendar - Booking Time - Raw] | string | Booked time in YYYY-MM-DD HH:MM format |
| [Calendar - Booking Time - Written] | string | Booked time in human-readable format |
| [Calendar - Booking Time - Spoken] | string | Booked time in natural spoken format |
| [Calendar - Booking ID] | string | Calendly event URI (used for cancellation) |
| [Calendar - Booking Link] | string | URL to view/modify the booking |
| [Calendar - Booking Error - Spoken] | string | Error message if booking failed (for assistant to speak) |
Conditions
Success (true)
The tool returns true when:
- The booking is successfully created in Calendly
- The Calendly API returns a confirmation
Failure (false)
The tool returns false when:
- The invitee email is missing or invalid
- The selected time slot is no longer available (race condition)
- The AI cannot extract a valid date/time from the conversation
- [Calendar - Event ID] is empty (run Calendly - Get Availabilities first)
- The Calendly API credentials are missing or invalid
- A network or API error occurs
Example Usage
Step 1 (Tool): Calendly - Get Availabilities
-> Success -> Step 2
Step 2 (Tool): Calendar - Check Availability
-> Success -> Step 3
Step 3 (Voice): "I have [Calendar - Availability - Spoken]. Which works best?"
-> User selects time -> Step 4
Step 4 (Tool): Calendly - Book Time
Input:
Invitee name = "[Contact - First Name]"
Invitee email = "[Contact - Email]"
Invitee phone = "[Contact - Phone]"
Condition: true (success)
-> Next: confirmation_step
-> Script: "You're all set for [Calendar - Booking Time - Spoken]!"
Condition: Otherwise (failure)
-> Next: retry_step
-> Script: "That slot just got taken. Let me check for other times."
Prerequisites
This tool requires:
- Calendly API Token — Connected via your team integrations settings
- [Calendar - Event ID] — Set by running Calendly - Get Availabilities first
- User’s time selection — The user must have selected a time from the available options
Best Practices
- Get availability first — Run Calendly - Get Availabilities before booking
- Confirm before booking — Verify the selected time with the user
- Handle race conditions — Slots can be taken between checking and booking; have a retry flow
- Send confirmation — Follow up with SMS containing booking details
- Use contact variables — Pre-fill invitee details from contact record
- Ensure email exists — Use the Contact Email is Available function first
Next Steps