Tools & custom functions
Tools let your agent do things during a call — not just talk. With tools, an agent can check a calendar, book an appointment, transfer to a human, or call your own systems, all while staying on the line with the caller.
There are two kinds:
- Built-in tools — ready-made capabilities you switch on per agent.
- Custom functions — connect the agent to your own API or webhook.
Built-in tools
Enable these on any agent and configure them in the agent’s Tools settings.
📅 Check Availability
Looks up open appointment slots on the agent’s connected Cal.com calendar within a date range — so the agent can offer real, bookable times.
✅ Book Appointment
Books an appointment on the connected Cal.com calendar. The agent captures the caller’s name, email, preferred date/time, service type, and phone number, then confirms the booking. See Appointment bookings.
Configuration for calendar tools: connect your Cal.com account (API key), choose the event type, and set the timezone.
📞 Call Transfer
Transfers the caller to a human when needed. Supports:
- Cold transfer — an immediate hand-off; the caller is connected straight to the destination.
- Warm transfer — the agent briefs the person first, then connects the caller. The briefing can be a short spoken summary or an AI-generated recap of the conversation so far.
Configuration for Call Transfer: set named destinations (label, phone number, description), choose the default transfer type, set the caller ID, optional hold music, and whether the agent announces the transfer before it happens.
Custom functions (connect your own systems)
A custom function lets an agent call your API during a conversation — for example to look up an order, check a policy number, create a lead in your CRM, or verify a customer. This is how you connect HeyMello to the systems you already run.
For each custom function you define:
| Field | What it is |
|---|---|
| Name | What the function is called (the agent uses this to decide when to call it). |
| Description | Plain-language explanation of what it does and when to use it. |
| Connection details | The URL to call, HTTP method, headers, authentication, and timeout. |
| Inputs (parameters) | A description of the data the agent should collect from the caller and send — e.g. an order number or postcode. |
During a call, when the situation matches, the agent gathers the required inputs from the caller, calls your endpoint, and uses the response to continue the conversation.
Custom functions are defined per agent, so each agent only has the integrations it needs.
How the agent decides to use a tool
You don’t script exact steps. The agent reads its instructions, the tool descriptions, and the conversation, then decides when a tool is needed. Write clear tool descriptions and mention in your instructions when the agent should use them — e.g. “When a caller wants to book, use Check Availability first, then Book Appointment.”
Best practices
- Describe tools clearly. The description is how the agent knows when to use it.
- Keep inputs minimal. Only ask the caller for what the tool truly needs.
- Handle failures gracefully. In your instructions, tell the agent what to say if a lookup fails (e.g. offer to take a message).
- Test each tool in the test panel before going live.
Next: Appointment bookings →