In-call tools
Let agents check availability, book and look up contacts mid-call.
In-call tools let an agent act while the caller is still on the line: check open slots, book or cancel an appointment, and look up or save the caller in the client’s CRM. This is what turns an answering agent into one that actually books business.
Plan: Requires a plan that includes integrations — by default Agency and Agency Pro.
- A calendar (Cal.com or Calendly) or CRM (HubSpot or GoHighLevel) connected inside the agent’s client workspace. See Connect in the right workspace.
- An agency owner, agency admin or client admin account.
- An agent to add the tools to. See Build an agent.
What agents can do mid-call#
| Provider | Tools the agent can use | Notes |
|---|---|---|
| Cal.com | Check availability, Book appointment, Find appointment, Reschedule, Cancel | Supports every calendar tool. |
| Calendly | Check availability, Book appointment, Find appointment, Cancel | No rescheduling. Existing bookings are found by the caller’s email address. |
| HubSpot | Look up the caller (find_contact), create or update the caller (create_contact) | Matching and saving contacts only. |
| GoHighLevel | Look up the caller (find_contact), create or update the caller (create_contact) | Matching and saving contacts only. |
| Twilio | Text the caller (send_text_message) | Only after the caller agrees; up to 3 texts per call. Numbers on the do-not-call list are never texted. |
| Zendesk | Look up the caller’s open tickets, open a ticket | Tickets are filed under the caller’s number or email, as internal notes. |
| Webhook | None | Webhooks run after the call. See Post-call automations. |
When you enable Reschedule or Cancel, Find appointment is added automatically, because the agent has to find the booking first.
What the agent says
The tools return short, fixed confirmations that the agent speaks to the caller:
- Each open time comes with its day, time and time zone written out, for example “Monday, October 5, 2026 at 9:00 AM MDT (America/Denver, UTC-06:00)”. The agent offers times as written. If the caller’s time zone isn’t known, the agent’s own “Time zone” is used.
- Only a time the calendar offered is booked. For any other time, nothing is booked and the agent gets that day’s open times instead.
- After a booking: “Booked for” followed by the date, time and time zone the calendar actually booked.
- When there’s nothing to find: “I don’t see any upcoming appointments.”
- After a cancellation: “Your appointment is cancelled.”
- CRM lookup with no match: “I don’t see you in our system yet.” After saving: “You’re saved in our system.”
- When the caller says “this number”, the CRM saves the number they’re calling from. A different number they give is saved as they gave it. If the number isn’t clear, or there’s no caller ID (on a web call), the agent asks for it.
Add scheduling to an agent#
- Open the agentGo to Agents, open the agent, and find the “Functions & Tools” panel. It has a Calendar card and a CRM card.
- Click Set up schedulingOn the Calendar card, click “Set up scheduling” (“Update scheduling” if it’s already set up). If the card says no calendar is connected for this client, connect one in the client’s workspace first.
- Choose the calendar and event typeIn the “Scheduling” dialog, pick the “Calendar” (shown only when the client has more than one) and the “Event type”. Event types are pulled live from the calendar, so create the event type there first. Each agent keeps its own event type.
- Pick the functionsUnder “Functions the agent can perform”, tick what this agent may do. Only functions the provider supports are shown.
- Wire the calendarClick “Wire calendar”. You see “Calendar wired — tools added to the agent”.
Add CRM lookup to an agent#
- Click Enable in-call CRMOn the agent’s CRM card, click “Enable in-call CRM”.
- Choose the toolsIn the “In-call CRM” dialog, choose one or both:
- “Look up the caller in the CRM (find_contact)”
- “Create / update the caller as a contact (create_contact)”
- SaveClick “Enable CRM tools” (“Update CRM tools” when changing them). You see “CRM wired — tools added to the agent”.
In-call CRM tools only find and save contacts. To log the call, update a lead status or create a deal after the call ends, use Post-call automations.
Conversation flow agents#
A conversation flow only uses a tool from a step that can call it: a “Subagent” step (the agent decides when, during the conversation) or a “Function” step (runs every time the call reaches it). A plain conversation step never calls tools. So on flow agents, each tool card has one more option, on by default:
- “Add a “Scheduling” step to the flow” (or “Caller details”, “Text the caller”, “Support tickets”) adds one subagent step that holds those tools. It’s reachable from anywhere in the call when the caller needs it, then goes back to where they were. It appears on the canvas; rename it or edit its instructions and trigger like any step. Wiring again only refreshes its tools and keeps your edits.
- Untick it to add the tools only. Then add your own subagent or function step in the flow builder and pick the tools under “Functions this node can use” or “Function”, or the agent won’t use them.
Turning the tools off removes their step. If one of your own function steps still calls a tool you’re turning off, you’re asked to point it at another function first.
Publish the agent again#
Wiring tools changes the agent’s draft. The builder shows that the agent has unpublished changes. Publish the agent again so callers get the new tools. Make a test call first. See Test and publish.
Tell the agent when to use its tools#
The tools give the agent the ability; the prompt tells it when to use them. We recommend adding instructions like these to the agent’s prompt:
- Check availability before offering times. Never promise a slot the calendar hasn’t returned.
- Before booking, read back the date, time and timezone, and wait for the caller to confirm.
- For Calendly, ask for the caller’s email before looking up, cancelling or changing an appointment — that’s how the booking is found.
- Collect the details the booking or contact needs (name, email, reason for the visit) before calling the tool.
- If the caller wants to reschedule on Calendly, offer to cancel and book a new time.
- Look up the caller in the CRM at the start of the call if you want the agent to greet returning customers differently.
Test each path on a test call: booking, no availability, cancelling, and a caller who isn’t in the CRM.
When a tool fails#
Calendar tools wait up to 6 seconds for the calendar; CRM tools wait up to 4 seconds. If the calendar doesn’t respond in time or returns an error, the agent tells the caller: “I’m having trouble reaching the calendar right now — let me have someone follow up with you.” The call carries on.
Most failures come from an expired or revoked token. Check the connection on Integrations and use “Retest” or “Rotate token”. See Health checks and testing.
Remove tools from an agent#
On the Calendar or CRM card, click “Disconnect” and confirm. The agent stops using those in-call tools. The workspace connection stays available for other agents. Publish the agent again afterwards.
You need to remove a connection from every agent that uses it before you can disconnect the connection itself on Integrations.
Troubleshooting#
| What you see | What to do |
|---|---|
| “No calendar connected for this client…” or “No CRM connected for this client…” | The connection is agency-wide or belongs to another client. Connect it for the agent’s client (choose the client under Workspace when connecting) (why). |
| “Connect a calendar for this agent’s client first — or name which connected calendar to use” | Same cause: connect the calendar inside the agent’s client workspace, or pick the calendar in the dialog if the client has several. |
| The event type list is empty | Create an event type in Cal.com or Calendly, then reopen the Scheduling dialog. |
| The agent doesn’t use the tools on live calls | Publish the agent again after wiring, and make sure the prompt tells the agent when to use each tool. |
| “Not on this workspace’s plan” — Existing tools are paused | Your plan no longer includes integrations, or the client’s “Use integrations” access is off. The tools stop working until that’s restored. You can still disconnect them. The agent answers “Calendar tools aren’t available for this workspace.” |
| The agent can’t find a Calendly booking | Calendly bookings are found by the email the caller booked with. Have the agent confirm the exact email. |