Book meetings with your AI agent via Cal.com or Calendly
How to enable the "Book meeting" tool (book_meeting) so your AI agent sends customers a Calendly or Cal.com link and books the right slot.
"Book meeting" lets the AI agent send the customer a scheduling link when they ask for a demo, a sales call, or any kind of meeting — no back-and-forth coordinating availability.
Requirements
- Calendly or Cal.com connected under Integrations → Calendar in your workspace.
- At least one active event type on the connected provider.
- Crece plan or above (the tool requires AI to be active).
If no integration is connected, the tool shows up locked in the agent editor with a button that takes you straight to connecting one.
Setup
- Connect your Calendly or Cal.com account under Integrations → Calendar.
- In the agent editor's Custom actions tab, enable "Book meeting".
- In the system prompt, tell the agent when to offer the meeting and, if you have several event types, which name to use for each case.
Tool parameters
event_name(optional): the meeting type's name ("Demo", "Discovery 30min"). Accepts a case-insensitive partial match. If omitted, it uses the first available event type.note(optional): logged internally for analytics — the customer never sees it.
How it works at runtime
- The system resolves the workspace's active integration (Calendly is preferred; if not connected, it falls back to Cal.com).
- It looks up available event types (5-minute cache) and picks the one matching
event_name, or the first one if none was specified. - It sends the customer a message with the booking link, through the same channel as the conversation.
- Once the customer books a slot, the provider notifies Omnifox (an invitee-created webhook) and the message is marked as booked.
Example
If you have "Demo 30min" and "Onboarding 60min" set up in Calendly, and your prompt says "if the customer asks for a demo, !book_meeting with event_name='Demo'", when the customer writes "I'd like to see the product in action" the agent recognizes the intent, runs the tool with event_name="Demo", and the customer gets the exact link for that event type, not the first one on the list.
Tips
- If you only have one meeting type, your prompt doesn't need to specify
event_name— let it use the default. - Name your event types clearly and uniquely in the provider ("Demo", "Strategy call") so name-matching works reliably.
- Pair this tool with lead qualification: only offer the meeting once you've confirmed the customer is actually interested.
Troubleshooting
- "The tool shows up locked": you don't have Calendly or Cal.com connected — go to Integrations → Calendar and connect one.
- "It always sends the same event type": check that the
event_namein your prompt matches (even partially) the real name configured on the provider. - "The customer booked but it's not showing in Omnifox": the provider's webhook may take a few seconds to process; if it never updates, check that the integration is still connected with valid permissions.
Related articles
-
Create your first AI agent
Learn what an AI agent does in Omnifox, how to give it instructions, connect it to a channel and test it in the sandbox before it talks to real customers.
-
How to write good instructions for your AI agent
Learn how to write clear instructions so your AI agent replies with the right tone, limits and actions.
-
Giving your AI actions (tools)
Tools turn your AI agent into a teammate that acts: it closes conversations, assigns to a human, updates contacts, books appointments and triggers workflows.
-
How to test your agent in the sandbox
Use the sandbox to chat with your AI agent and validate replies, actions and tone before publishing it.
-
Handoff: when and how the AI passes the conversation to a human
Set up the handoff from AI to a human agent so no customer gets stuck when personal attention is needed.