Features
Custom tools & integrations
OnCore's assistants call your own systems mid-conversation — looking up bookings, checking orders, and taking real action through your API.
Your assistant can do more than talk. Give it a tool and it can check an order, look up a booking, or file a request against your own systems while the caller is still on the line.
What it is#
A tool is an action you give the assistant. During a call, when the conversation reaches the point where the action applies, the assistant collects the details it needs from the caller, sends them to an endpoint on your system, waits for your answer, and carries on the conversation with it — the caller hears the result seconds later, on the same call. If your API can answer a question or perform an action, the assistant can use it live.
What you can do with it#
- Look up a booking — the caller gives their name and date, the assistant fetches the reservation from your booking system and confirms it aloud.
- Check order status — "where's my order?" becomes a live lookup against your systems, answered in the same breath.
- Act, not just answer — submit a reservation, log a callback request, register a complaint: your endpoint decides what the tool does, so tools can write to your systems as well as read.
- Transfer by directory — a dynamic transfer tool asks your own directory server who "Alice" or "the service department" is at call time and connects the caller, without publishing any numbers.
- Keep the caller informed — while a tool runs, the assistant can speak a short filler line ("One moment while I check that"), either fixed wording you provide or phrased naturally in the flow of the conversation.
How to set it up#
Everything is configured through OnCore's REST API. You define each tool once — what it does, the details it should collect from the caller, step-by-step instructions for when and how to use it, and the HTTPS endpoint on your side that does the real work — then attach it to any assistant that should have it. The tool definition is covered in the Tools guide, and attaching tools to an assistant in the Assistants guide. Your side is one endpoint per tool: the request OnCore sends and the response it expects are specified in Tool calls to your server. For directory-style transfers, follow the Dynamic transfer guide.
Limits & FAQ#
- Tool endpoints must be public HTTPS URLs — addresses on private or internal networks are rejected when the tool is created.
- The exchange is live: the assistant waits on the line for your answer, so your endpoint's speed and availability are part of the call experience.
- A tool is defined once and can be attached to as many of your assistants as it applies to.
What does OnCore send to our endpoint? A JSON request carrying the call's ID and the details the assistant collected from the caller, with a shared-secret header so your server can verify the request really came from OnCore. Your JSON response is handed straight back to the assistant to reason over. The full contract is in Tool calls to your server.
What happens if our system is down or returns an error? The request is not retried. The assistant is told the action failed and wraps up gracefully with the caller instead of leaving dead air — so treat the endpoint like any production dependency.
Does the caller hear silence while a tool runs? Only if you want them to. Each tool can announce itself with a filler message spoken while it runs — fixed wording you choose, or phrasing the assistant generates to fit the conversation.
How does transfer-by-name handle a wrong or ambiguous name? Your directory server answers each lookup as resolved, ambiguous, or not found. On a match the transfer fires automatically; on several matches the assistant reads the options back and asks which one; on no match it tells the caller and the conversation continues. The resolved phone number is never spoken and never shown to the caller.