Stripe
LiveCharge cards, issue refunds, create + send invoices, manage subscriptions — all called by the agent mid-conversation when your prompt asks it to.
Every integration is wired per-account, never via the model. The agent picks which tool to call based on your system prompt and the conversation; we resolve credentials at call time from your account's integration config.
You connect an integration once in the dashboard (sign in with the provider, install an app, or paste an API key, depending on the provider). Credentials are stored encrypted and tied to your account, not exposed to the model and not visible to anyone calling the agent.
When the agent invokes a tool — say, send_sms — the tool runs server-side, looks up your account's SMS sender via integration_resolver.get_integration_for_agent(agent_id), and uses those credentials. The model only ever sees “tool succeeded” or “tool returned X”.
Connect your CRM once and every call your team or your agent handles shows up in it — with an AI summary, the caller matched to their record, and (for HubSpot, Salesforce, Odoo and Zoho CRM) a dialer inside the CRM so your team can call without switching tabs.
Each connection has three switches: Log calls, Include AI summary, and Include full transcript. The transcript is off by default.
Full HubSpot setup guide — every step, what we read and write, and what to do when something stops working.
Where calls are logged: A call on the contact's timeline. Calling seats, AI summaries, caller identification and agent tools work as described in What every CRM connection includes.
A Lightning Phone utility (Open CTI softphone): click-to-dial on phone fields, and incoming calls open the Contact or Lead when answered. To set it up, a Salesforce admin imports the ReasonVoice call center definition and adds the softphone to the app's utility bar.
The softphone is currently enabled per org — contact us to enable it for yours. Call logging, caller identification and agent tools work as soon as you connect.
Where calls are logged: A completed call Task on the Contact or Lead. Callers who aren't in Salesforce yet become a new Lead. Calling seats, AI summaries, caller identification and agent tools work as described in What every CRM connection includes.
The ReasonVoice app works with Odoo 18 and 19, Community and Enterprise, self-hosted or on Odoo.sh.
Where calls are logged: A note in the contact's chatter, or on their open lead. Calling seats, AI summaries, caller identification and agent tools work as described in What every CRM connection includes.
Where calls are logged: A Call record on the Contact or Lead. Missed calls and voicemails are logged as Missed calls. Calling seats, AI summaries, caller identification and agent tools work as described in What every CRM connection includes.
Don't use an external CRM? ReasonVoice includes contacts, leads, tasks and a call log out of the box — no setup and nothing to connect.
More CRMs are on the way. If yours isn't listed, tell us which one — or use a Custom REST tool in the meantime.
Charge cards, issue refunds, create + send invoices, manage subscriptions — all called by the agent mid-conversation when your prompt asks it to.
Check availability, book appointments, reschedule, cancel. Connect via OAuth from the dashboard; the agent reads the connected calendar without seeing the token.
Bring your existing carrier account for phone numbers and SMS. Agent uses your provisioned numbers as the SMS sender; we never proxy through our own number unless you ask.
Buy a managed number from the dashboard and it is wired to your agent in about a minute. Managed numbers stream wideband audio end-to-end, which is why latency on them is lower than on a bring-your-own carrier number.
Post to a channel or DM a person from the agent. Useful for a "tell sales when a hot lead calls" style of automation, or pinging on-call when the agent transfers a difficult call.
Post messages via incoming-webhook URLs. Same pattern as Slack — agent fires the notification, your team sees it instantly.
Send FCM / APNS pushes to a device token. Common pattern: agent texts a confirmation and pushes the same content to your staff app.
Send WhatsApp messages from your registered Business channel (Meta Cloud API or Twilio WhatsApp). Templates supported for outbound sessions.
Send transactional email from your verified sender domain. Custom fields on the agent map directly to email templates so the LLM never composes the body from scratch when it doesn’t need to.
Define an HTTP tool with URL, method, headers, body template, and parameter schema. The agent calls it like any other tool. Use this when you have an internal API the agent needs to hit — booking system, inventory check, ERP — and we don’t have a first-party integration yet.
If your stack isn't in the list, you have two options: