Tools & Integrations overview
Tools turn your assistant from a talking knowledge base into something that actually does work for your business. Connect HubSpot once and every inbound call becomes a CRM contact. Connect Google Calendar and the assistant can book appointments on the right calendar with a Meet link attached. Connect your own API and the assistant can look up an order or quote a price live, mid-conversation. The point of a tool is to let the assistant act on the customer's behalf without a human in the loop.
How tools fit in
Your assistant has two ingredients: a system prompt that tells it how to behave, and a list of tools it's allowed to use. During a conversation, the model reads what the customer just said, decides whether one of the tools would help, and if so it picks the right one, fills in the arguments from the conversation context, and calls it. Insighto runs the call, hands the result back, and the model continues talking.
You don't script any of that. You write a paragraph explaining when each tool should be used, attach the tools to the assistant, and the model handles the timing and the parameters on its own.
Where tools live
Open Tools & Integrations in the sidebar. Every row on that page is a connected tool — a specific connection to an external service. You can have more than one of the same kind: two HubSpot connections (one per client), three Google Calendar connections (one per practitioner), one Custom tool pointed at your in-house API. Each connection has its own credentials, its own configuration, and its own name. The name shows up on the assistant's Tools tab when you wire it in.
Connecting a tool
The flow depends on the provider:
- OAuth (HubSpot, Zoho, GoHighLevel, Google Calendar) — Click Connect, sign into the provider, approve scopes. Insighto stores the refresh token and keeps the access token fresh automatically.
- API key (Freshdesk, Twilio, Plivo, Telnyx) — Paste your account credentials. Insighto encrypts and stores them.
- Connection details (Postgres, PayPal, ModMed) — Provide the bits the provider needs (host/port, merchant email, FHIR endpoint).
Once connected, you configure provider-specific options — which calendar to book against, which Zoho Bookings service to use, which Postgres table to query — and the tool is ready to attach to assistants.
Attaching a tool to an assistant
- Open your assistant.
- Go to the Tools tab.
- Pick the connected tools you want this assistant to be able to use.
- Save.
A tool you attach is available on the very next conversation turn — no redeploy needed. You can detach just as easily.
The function-call pattern
Each tool exposes one or more functions the model can call. The assistant prompt should name them explicitly. For example, the HubSpot tool exposes create_contact, get_contact_by_email, and create_ticket. In your assistant's system prompt you might write:
When a caller gives you their email, first call
get_contact_by_emailto see if they already exist. If not, callcreate_contact. At the end of every call, callcreate_ticketwith a one-paragraph summary.
That's enough. The model will call those functions at the right moments, fill in the arguments from what the caller said, and continue the conversation naturally.
A function call from the model looks like this on the wire:
{
"function": "create_contact",
"arguments": {
"email": "alice@example.com",
"firstname": "Alice",
"phone": "+15551234567"
}
}
The tool runs, returns a result, and the model uses that result to keep going:
{
"result": {
"message": "Contact created.",
"id": "7831"
}
}
Tool categories
Insighto's built-in tools fall into a handful of categories:
- CRM — HubSpot, Zoho, GoHighLevel. Look up, create, and update contacts. Open tickets. Sync conversations.
- Calendar — Google Calendar. Find available slots, book meetings, attach Meet links. Pairs with Calendar Pools for team round-robin.
- EHR — ModMed for specialty medical practices. Patient search, new-patient intake, appointment booking against the FHIR API.
- Support — Freshdesk. Open a ticket from inside a conversation.
- Payments — PayPal. Generate a hosted payment link to send the customer.
- Database — Postgres. Single-row lookup against a configured table on your own database.
- Communication — SMS outbound text messages via Twilio, Plivo, or Telnyx. Disconnect & transfer for voice call control.
- Custom — Custom HTTP tools for your own API. MCP servers for Model Context Protocol-compatible services.
Built-in vs custom — which to pick
Use a built-in tool when one exists for what you need. Built-ins are tested, OAuth handshakes are wired in, token refresh works automatically, and the function names are designed to be model-friendly.
Reach for a Custom tool when:
- You need to call your own internal API (the in-house CRM, the shipping carrier, the inventory service).
- A built-in covers the provider but not the specific action you need (e.g., HubSpot is connected but you need deals, not just contacts).
- You want to wrap a third-party service that doesn't have a built-in yet.
Reach for an MCP server when you have or want a Model Context Protocol-compatible service — the assistant auto-discovers every tool the server advertises with no manual schema definition.
Multiple connections of the same tool
You can attach two HubSpot connections to a single assistant — one for your North America portal, one for Europe. The model sees them as distinct functions. Just be explicit in the prompt about which one is for what:
Use "HubSpot - US" for callers in North America. Use "HubSpot - EU" for callers in Europe.
Same pattern works for Postgres (multiple databases), Google Calendar (multiple practitioners), or any other tool type.
Voice vs chat differences
Tools work the same way on voice calls, web chat, SMS, and webhook channels — a HubSpot lookup is a HubSpot lookup. Two things to keep in mind:
- Voice has a latency budget. Every tool call is a few hundred milliseconds of silence on the line. Two or three back-to-back calls can feel slow to a caller. On chat, the same delay is invisible behind the typing indicator.
- Some tools are voice-only. Disconnect & transfer only works during an active phone call.
A worked example
A dental practice's voice assistant. The system prompt:
You answer the phone for ABC Dental. When a caller wants to book an appointment, use Google Calendar to find an open slot, then book it. If they're a new patient, use HubSpot first — call
get_contact_by_email, and if no match, callcreate_contactwith the caller's name, email, and phone. After booking, send a confirmation SMS usingsend_smswith the date and time.
Caller says "I'd like to come in next Tuesday afternoon." The model decides:
- Ask the caller for their name and email.
- Call
get_contact_by_email— no match. - Call
create_contactwith the captured info. - Call
find_available_slotsfor next Tuesday. - Read three options to the caller, ask which works.
- Call
book_appointmentwith the chosen slot. - Call
send_smswith the confirmation text.
That entire flow comes from one paragraph of prompt and three attached tools. No scripting.
Tips for reliable tool calls
A few patterns that hold across every tool:
- Mention the function name in the prompt. Models invoke tools much more reliably when the prompt says "call
create_ticket" instead of "open a ticket." - Spell out the trigger condition. "When the caller asks about an order, call
lookup_order" beats "use the order lookup tool." - Keep the tool count reasonable. Fewer than ten tools per assistant is the sweet spot. More than that and the model starts second-guessing which to use.
- Test failure paths. Tools fail — APIs go down, tokens expire, networks blip. Tell the assistant what to say when something doesn't work ("If you can't look up the order, apologize and offer to take a message").
Where to next
- Connect your first CRM: HubSpot, Zoho, or GoHighLevel.
- Build a calendar booking flow with Google Calendar.
- Wrap your own API as a Custom tool.