The Cal.com tool lets your agent answer “can I book a call?” with an inline scheduler instead of a dead-end “yes, here’s a link.” Visitors see a booking card in the chat, click it, pick a time, and return to the conversation when they’re done. You don’t need to give Tiny Talk your Cal.com login or an API key. Cal.com event-type URLs are public — you paste them into the configuration and the agent constructs a personalised booking link at conversation time. For how tools work in general, plan limits, and the security model, see Tools.Documentation Index
Fetch the complete documentation index at: https://tinytalk.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
What you need
- A Cal.com account (free or paid — both work).
- One or more active event types with public booking URLs, like
https://cal.com/your-handle/discovery-call. - An agent on a paid plan, using a model that supports tool calling. Most modern models do; the AI Models page lists the exceptions.
Setting up Cal.com
Find your Cal.com event URLs
In Cal.com, open Event Types. For each event you want to offer through the agent:
- Click the event to open it.
- Copy the booking URL — it looks like
https://cal.com/your-handle/discovery-call,https://cal.com/team/your-team/intro, or the EU equivalent oncal.eu.
Install Cal.com on the agent
In the dashboard, go to Agent → Tools → Platform Tools. Find the Cal.com card and click Install.The configuration screen opens. Cal.com is installed against the current agent — installing it once doesn’t enable it on every agent in the workspace.
Add your event types
Under Event types, click Add for each event you want the agent to be able to book. Each event type has four fields.
- Slug — A short, lowercase identifier the agent uses to pick this event type (e.g.
discovery-call,demo,onboarding). Lowercase letters, digits, and hyphens; up to 64 characters. Must be unique within this agent. - Label — The display name shown to visitors in the booking card (e.g. Discovery Call). Up to 120 characters.
- When to use — The single most important field for routing accuracy. Describe the situation or intent that should trigger this event type — not what the meeting is, since the label already covers that. Up to 500 characters.
- Cal.com URL — The public booking URL you copied in step 1. Both
cal.comandcal.euare accepted.
Set a default event type (optional)
Under Default event type, pick one of the events you added. The agent will fall back to this when the conversation doesn’t make it obvious which event type the visitor wants.Leave it on First in list to use the first event type you added as the fallback. With a single event type configured, this setting doesn’t matter — that event is always picked.
Tune the embed appearance
Under Embed appearance, one toggle controls how Cal.com renders inside the chat:
- Hide event type details — Hides the description and duration block at the top of Cal.com’s widget. Useful when the agent has already explained what the meeting is. Off by default.
How the agent uses Cal.com
Once installed, the agent sees Cal.com as a tool it can call when a visitor asks to schedule something. The runtime is channel-aware — what the visitor sees depends on where the conversation is happening.| Channel | What the visitor sees |
|---|---|
| Website widget (Messenger) | An inline booking card. Clicking it opens Cal.com’s scheduler embedded in the chat. After booking, the chat resumes automatically. |
| A markdown link to the personalised Cal.com URL. The visitor taps the link to open Cal.com in their browser. | |
| Slack | A markdown link in the Slack thread. |
| API (custom integration) | The same link, returned in the assistant message. |
What gets prefilled
If the visitor has already shared their contact details with the agent — through a lead form, a Help Desk hand-off, or earlier in the conversation — the agent prefills them into Cal.com automatically:- Name (combined first and last name)
What visitors see in the chat
On the website widget, when the agent decides to use Cal.com, it sends a short framing message (“Pick a time below 👇”) followed by a card showing:- A calendar icon
- The event type label you configured
- A Schedule your call button
- “Powered by Cal.com” attribution
Example use cases
Single event type: book a discovery call
The simplest setup. One event type the agent can offer when a visitor wants to talk to the team.| Field | Value |
|---|---|
| Slug | discovery-call |
| Label | Discovery Call |
| When to use | When the visitor asks to talk to a human, requests a demo, or wants to discuss whether the product fits their use case. |
| Cal.com URL | https://cal.com/your-handle/discovery-call |
Multiple event types: route by intent
Three event types let the agent route bookings based on what the visitor is asking for.- Discovery Call (
discovery-call) — Use when a prospect wants to evaluate the product or has questions about pricing and fit. URL:https://cal.com/your-handle/discovery-call - Product Demo (
demo) — Use when the visitor explicitly asks for a demo or walkthrough of features. URL:https://cal.com/your-handle/demo - Onboarding (
onboarding) — Use when an existing customer wants help setting up the product or migrating data. URL:https://cal.com/team/your-team/onboarding
EU data residency: book on cal.eu
If your customers are EU-based and you need data processed within Europe, configure your event types usingcal.eu URLs.
| Field | Value |
|---|---|
| Slug | eu-discovery |
| Label | Discovery Call (EU) |
| When to use | When the visitor wants to book an introductory call. |
| Cal.com URL | https://cal.eu/your-handle/discovery-call |
Internal scheduling assistant
Cal.com works just as well for internal-facing agents. An HR assistant on an intranet portal could offer:- 1:1 with HR — Use when an employee wants to discuss benefits, leave, or any HR matter privately.
- Manager office hours — Use when an employee wants to talk to their manager outside their regular schedule.
Disabling and uninstalling
Open the Cal.com configuration and toggle Enabled off to stop the agent from offering bookings without losing your event-type configuration. The installation still counts against your per-agent tool limit while disabled. To remove Cal.com entirely, scroll to Danger zone and click Uninstall. A confirmation modal asks you to confirm. Uninstalling is immediate and can’t be undone — your event-type configuration is deleted, but no Cal.com data is touched. Existing bookings in your Cal.com account are unaffected.Troubleshooting
The agent isn't offering Cal.com when it should
The agent isn't offering Cal.com when it should
The model decides whether to use the tool based on the Label and When to use fields you set. If it skips Cal.com even when a visitor clearly wants to book:
- Make When to use explicit about the kinds of phrasing visitors actually use — “asks to book a call, requests a meeting, wants to talk to someone” — rather than generic descriptions.
- Confirm the installation is enabled.
- Check that the AI model on the agent supports tool calling. Older or very small models don’t, and the runtime silently skips tool registration on unsupported models. The AI Models page lists what each model supports.
- Make sure you haven’t hit your per-agent tool cap. Disabled tools count against the limit too.
The agent picks the wrong event type
The agent picks the wrong event type
Two event types with overlapping When to use descriptions force the model to guess. Rewrite each one so it describes a situation the others wouldn’t match. Use concrete intents — “asks for a demo or product walkthrough” — rather than restating the event label.A clear default also helps. The agent uses it whenever the conversation is ambiguous, so put the safest, most general event type there.
The booking card doesn't appear on the website widget
The booking card doesn't appear on the website widget
On the website widget, the agent should render an inline booking card with a Schedule your call button. If you only see a plain markdown link instead:
- Check you’re viewing the live widget, not a Help Desk preview or a takeover thread. The card is rendered by the messenger.
- The visitor’s browser needs to allow Cal.com’s iframe domain (
cal.comorcal.eu). Strict content-security policies on a host page can block it. - Make sure the model selected for the agent supports tool calling — if it doesn’t, the agent never invokes Cal.com and posts a generic message instead.
Visitor details aren't being prefilled
Visitor details aren't being prefilled
Cal.com prefill only works when the agent already knows the visitor’s name and email. That happens automatically when the visitor has gone through a lead form, been recognised by their contact token across sessions, or shared the details earlier in the conversation.For first-time anonymous visitors, the booking form appears blank — they fill it in on Cal.com directly. No configuration is needed; this is by design.
Do I need to give Tiny Talk my Cal.com login?
Do I need to give Tiny Talk my Cal.com login?
No. Cal.com event-type URLs are public — you paste them into the configuration and that’s it. Tiny Talk never authenticates against your Cal.com account. Disabling or rotating your Cal.com account doesn’t affect anything Tiny Talk stores.
The Cal.com URL won't save
The Cal.com URL won't save
The validator accepts URLs in the form
https://cal.com/<handle>/<event-slug>, https://cal.com/team/<team>/<event-slug>, or the matching cal.eu equivalents. Common reasons it rejects a URL:- The URL has query parameters (
?date=...). Strip them — the agent adds prefill parameters automatically. - The URL points to your profile page (
https://cal.com/your-handle) instead of a specific event. You need the per-event public URL. - The URL uses
http://instead ofhttps://. - The URL is from a region other than
cal.comorcal.eu.
Can I use cal.com and cal.eu together?
Can I use cal.com and cal.eu together?
Yes. Each event type is configured with its own URL, so you can mix
cal.com and cal.eu event types on the same agent. The booking experience is identical — only the underlying region changes per event.Does Cal.com count against my message or credit limits?
Does Cal.com count against my message or credit limits?
Tool calls don’t consume extra credits — credit cost is determined by the AI model’s response, the same as for any other reply. The booking flow itself happens on Cal.com and isn’t billed by Tiny Talk.