Calendar booking and in-call SMS actions
Connect Cal.com or Calendly, create and link real-time booking actions, configure meeting details and availability, and enable SMS during calls.
Actions let a voice agent do work while a conversation is in progress. The current operational paths are:
- Real-Time Booking: a workspace-level calendar action backed by a connected Cal.com or Calendly event type.
- Send SMS during calls: an agent-level capability that lets the agent text the caller during an active call.
In the unified navigation, Chat & Voice → Calendar and Chat & Voice → SMS can both open the workspace Actions page. Calendar actions are created there. In-call SMS is enabled from an individual agent's Actions screen.
The action catalog can be broader than the enabled product
Real-Time Booking is the calendar action implemented by the current workspace screen. Other action types can appear disabled, unavailable, or staged for a particular workspace. The SMS item on the workspace Actions page can also be unavailable for creation; configure in-call SMS on the agent instead. A visible name does not establish plan or rollout availability.
Decide what you are configuring
| Capability | Where it is configured | External connection | Agent link required |
|---|---|---|---|
| Book a Cal.com or Calendly event | Actions → Real-Time Booking | Cal.com or Calendly | Yes |
| Send the booking confirmation by email | Inside the calendar action | Uses the booking action | Included with the linked calendar action |
| Send a booking confirmation by SMS | Inside the calendar action | Uses the booking action; delivery prerequisites vary by workspace and provider | Included with the linked calendar action |
| Send an approved SMS during a live call | Chat & Voice → Agents → agent → Actions | No calendar integration or event type | The toggle links an SMS action automatically |
The two SMS settings are not interchangeable. Send Confirmation SMS belongs to a successful booking. Send SMS during calls gives that agent a messaging action it can use during the conversation.
Before connecting a calendar
Prepare the following before opening Spacebrain:
- Choose either Cal.com or Calendly for each agent. One agent cannot hold calendar actions from both providers at the same time.
- Confirm the provider account, organization, and calendar that should own the appointments.
- Create at least one provider event type with the correct name, duration, description, availability, location, buffers, minimum notice, and conferencing behavior.
- Confirm that the provider user has permission to read event types and create bookings.
- Decide which monitored email address receives booking confirmations.
- Choose the IANA timezone Spacebrain should use when retrieving the first availability options, such as
America/VancouverorEurope/London. - Prepare an internal test caller, an unused test slot, and a plan for removing the test appointment afterward.
Provider plan, account, region, and Spacebrain rollout can affect the event types and conferencing options returned. The signed-in integration and action screens are the source of truth for the current workspace.
Connect Cal.com or Calendly
- Open Integrations and select Cal.com or Calendly.
- Choose Connect. The current connection screen shows Admin access required when the user cannot manage integrations.
- Enter a recognizable Display Name for the connection.
- Complete the authentication method shown by the live integration catalog. An API-key integration asks for the provider key and displays provider-specific help; an OAuth integration redirects to the provider for authorization.
- Return to the integration detail and confirm the status says Connected. Resolve any connection error displayed before creating an action.
- Open the provider in a separate tab and confirm that the intended event type is active and bookable.
The Real-Time Booking drawer detects the connected account for the selected provider. If it says Please connect your account to continue, leave the drawer, connect the matching integration, then reopen the action. If the wrong provider account is connected, correct it under Integrations before creating or editing actions.
Do not ignore the Calendly plan warning
Spacebrain checks the Calendly account while loading event types. If it reports Calendly Free Plan Detected or another plan warning, resolve the requirement described by the warning before relying on the action. The warning itself does not disable the drawer's Continue button, so a visible event type is not proof that an API booking will succeed.
Create a Real-Time Booking action
- Open Chat & Voice → Calendar or Actions.
- Select Real-Time Booking, then choose Create Action.
- Select Cal.com or Calendly. The drawer confirms whether the matching account is connected.
- Select the provider Event Type. Spacebrain loads the event name, duration, and description from the provider.
- Choose Continue.
- Enter the required confirmation Email.
- Decide whether to enable Send Confirmation SMS.
- Optionally select GMeet or Zoom under Meeting Link.
- Set the booking timezone and first-offer preferences.
- Choose Save, then wait for the action to appear in the Real-Time Booking table.
Creating the action does not give any agent access to it. Link it to each intended agent as a separate step.
Event types and provider-owned settings
Spacebrain lists event types from the connected provider. If the list is empty, create or activate an event type in Cal.com or Calendly, close the action drawer, and reopen it so the list is fetched again.
The current action drawer displays the selected event type's name, duration, and description as provider-owned details. Configure the event type itself in Cal.com or Calendly, including:
- Host and owning calendar.
- Duration and description.
- Recurring availability and date overrides.
- Minimum booking notice and booking horizon.
- Before-event and after-event buffers.
- Location or video-conference behavior.
- Cancellation and rescheduling policy.
- Provider notifications and invite behavior.
Spacebrain stores the selected event type identifier and caches basic details for display. If you rename, replace, deactivate, or delete the event type at the provider, reopen and test the Spacebrain action. Do not assume the cached action updates immediately.
The documented action creates bookings. The current screen does not establish that the agent can cancel or reschedule provider appointments. Do not promise those operations unless they are separately enabled and tested in the live workspace.
Meeting links
The booking configuration currently offers GMeet and Zoom. Selecting one records the preferred meeting-link provider on the Spacebrain action; it does not connect or validate a Google or Zoom account from this drawer.
Before launch:
- Confirm that the Cal.com or Calendly event type and its owning account can create the selected conferencing link.
- Create a test booking.
- Open the resulting provider event and calendar invitation.
- Verify that the join URL exists, belongs to the intended host, and works for a guest.
- If either confirmation is expected to include the join URL, check that its URL matches the provider event.
If the provider event type already controls its location, or the selected conferencing option is not available to that account or plan, use the provider's current behavior as the source of truth. A selectable GMeet or Zoom button is not proof that a link will be generated.
Availability and time zones
The provider remains the authority for busy time, event-type availability, minimum notice, buffers, and whether a slot can actually be booked. Spacebrain stores a separate set of first-offer preferences:
- Timezone: used to retrieve availability for inbound calls.
- Days for offering dates: 1–14; the initial default is 3.
- Appointment slots per day: 1–10; the initial default is 3.
- Hours between slots: 1–8; the initial default is 3.
These preferences shape the assistant's first offer of dates and slots. The agent can present alternatives based on the caller's request. They do not rewrite the availability configuration in Cal.com or Calendly.
For outbound use, the action UI states that the user's timezone can be specified dynamically with the {cal_timezone} variable. Use an IANA value such as America/New_York, not an abbreviation such as EST. If the launch path does not supply the variable, test which configured timezone the action uses.
Test callers on both sides of a daylight-saving transition and callers whose local date differs from the workspace date. Have the agent repeat the date, local time, and timezone before booking.
Initial booking date is not currently a durable action setting
The current drawer displays Initial booking date, but the saved action does not retain that field when reopened. Do not use it as a persistent booking boundary. Enforce durable date limits in the provider event type and verify the available dates in a test call.
Link the calendar action to an agent
- Open Chat & Voice → Agents and select the agent.
- Open the agent's Actions screen.
- Select Add Action or Add Existing Action.
- Select the intended calendar action and choose Save.
- Confirm the action appears under Linked Actions with the expected provider and duration.
- Update the agent instructions so it knows when to offer booking, which details to collect, what to confirm, and what to say if availability or booking fails.
The Used in the Following Agents section in the calendar-action editor is informational. Linking and unlinking are performed from the individual agent's Actions screen.
One workspace action can be linked to several agents. Removing it from one agent only removes that association; it does not delete the workspace action or remove it from other agents.
Calendar provider conflicts
An individual agent can use multiple calendar actions, but all of its linked calendar actions must use the same provider. For example, an agent can have two Cal.com event types, but it cannot also hold a Calendly action.
When a provider is already linked:
- Actions from the other provider appear locked or disabled in the selection dialog.
- The product can reject a conflicting link even if a stale screen allowed it to be selected.
- The restriction applies to calendar actions, not the in-call SMS action.
To switch an agent from Cal.com to Calendly, or the reverse:
- Record every existing linked action and its purpose.
- Remove all calendar actions from the agent's current provider.
- Create and test the replacement provider action if it does not already exist.
- Reopen Add Action, select only actions from the replacement provider, and save.
- Run a complete booking test before restoring customer traffic.
This is a per-agent restriction. Different agents can be tested with different providers, subject to the connections and features available in the workspace.
Enable in-call SMS
- Open Chat & Voice → Agents, select the agent, and open Actions.
- Find Send SMS during calls.
- Review the live per-SMS credit cost displayed beside the setting.
- Turn the switch on and wait for the success message.
- Add explicit instructions for when the agent may send, what it may include, when it must confirm the destination, and what it must never send.
Enabling the switch reuses an existing workspace SMS action, preferring an active one, and creates one only when none exists. It then links that action to the agent. It does not require a Cal.com or Calendly connection and does not participate in the calendar-provider conflict rule. Turning the switch off unlinks the SMS action from that agent; it does not delete the reusable workspace SMS action.
The capability sends to the caller during an active call. Sending still depends on the workspace's supported phone and messaging configuration, available credits, destination, provider rules, and legal consent. For US application-to-person traffic over a 10-digit long-code number, complete the Messaging Compliance setup and confirm the product says SMS sending is active.
Use in-call SMS for short, expected content such as a confirmed link or reference. Do not send passwords, payment card data, authentication secrets, sensitive health or identity information, or an unconfirmed URL. The agent's spoken claim that it sent a message is not delivery confirmation.
End-to-end test checklist
Run a fresh test after connecting, editing, relinking, or reconnecting a provider.
Calendar booking
- Choose an unused provider slot and record its expected host, duration, timezone, and meeting-link behavior.
- Start a Spacebrain Test Call or a controlled call to the agent.
- Ask for a date in the configured timezone, then ask for a different date or timezone.
- Confirm that the offered slots respect provider availability and the Spacebrain first-offer settings.
- Select one slot and have the agent repeat the exact date, time, timezone, attendee details, and purpose before confirming.
- Verify the appointment exists in Cal.com or Calendly. Match the event type, host, attendee, duration, timezone, and status.
- Open the host and attendee calendar events and test the Google Meet or Zoom URL when one is expected.
- Verify the confirmation email and, when enabled and authorized, the booking confirmation SMS.
- Repeat with no availability, an ambiguous timezone, a date outside the provider horizon, and a duplicate booking request.
- Remove or cancel the test appointment using the provider's normal operational process.
In-call SMS
- Use an internal number with documented consent and a unique, harmless test message.
- Ask the agent to send the message, then confirm the destination before it acts.
- Verify receipt on the same caller number and check that the link or text is exact.
- Review the available call or transcript records and the workspace credit activity.
- Test the prohibited path: an unconfirmed destination, an opt-out, unsupported content, insufficient messaging readiness, or a simulated send failure.
- Confirm the agent reports failure honestly and does not repeatedly send after an uncertain result.
Unlink, delete, or disconnect
These operations have different scope:
- Remove from an agent: unlinks that calendar action only from that agent. The workspace action and other agent links remain.
- Turn off Send SMS during calls: unlinks the reusable SMS action from that agent. It does not delete the workspace SMS action.
- Delete from the Real-Time Booking table: permanently deletes the Spacebrain calendar action. Every agent using it loses that booking capability, and the product warns that the deletion cannot be undone.
- Disconnect the provider integration: removes the authorization the action needs. Inventory and pause dependent agents first, then reconnect and retest before resuming traffic.
- Delete or deactivate the provider event type: can leave the Spacebrain action pointing to an event type that can no longer be booked. Replace or recreate the action and test it.
Before deleting a calendar action, open it and review Used in the Following Agents. Record the provider, event type, settings, and linked agents so it can be rebuilt if necessary. Prefer unlinking from a single agent when the action is still valid elsewhere.
Deleting a Spacebrain action is not presented as a provider-side cancellation tool. Do not assume it cancels existing appointments or deletes the Cal.com or Calendly event type; verify and manage those records in the provider.
Troubleshooting
| Symptom | What to check |
|---|---|
| Provider says it is not connected | Correct workspace, integration status, owning provider identity, authorization scope, last connection error, then reconnect |
| No event types appear | Active event type exists at the connected provider, provider plan/API access, correct provider account, then close and reopen the action drawer |
| Calendly warning appears | The exact plan warning returned by the provider; resolve it before relying on the action |
| Other provider's actions are locked | Remove every calendar action from the agent's current provider before switching |
| Wrong times are offered | Action timezone, outbound {cal_timezone}, provider timezone, availability rules, date overrides, buffers, minimum notice, and daylight-saving boundary |
| No meeting link is created | Provider event location, Google or Zoom authorization, host ownership, plan support, and the actual provider event after booking |
| Agent says booked but no event exists | Treat as a failed booking, inspect the action result and provider connection, and do not create a second booking until duplication risk is understood |
| SMS toggle is on but no message arrives | Active call, destination, supported sending number, Messaging Compliance standing, consent or opt-out, credits, provider status, and action result |
| Initial booking date resets | Current behavior; enforce the durable booking boundary at Cal.com or Calendly |
For related safeguards, see Build and operate an AI agent, Phone, outreach, dialer, and compliance, Integration connection lifecycle, and Communications troubleshooting.
Next step
Keep moving
Open the relevant Spacebrain module, ask for help, or tell us how to improve this guide.