CRM & tools

Connect your stack so agents can look things up and push results.

An integration is a live connection between oyehello and a tool your team already runs - your CRM, your helpdesk, your calendar, your spreadsheet. Once it’s connected, your agent stops being a closed box: it can look things up while the caller is on the line (“let me check your order… yes, it shipped Tuesday”) and write results back after the call ends (the outcome logged in HubSpot, a row added to a sheet, a ticket opened in Zendesk) - without anyone copy-pasting anything.

Think of it like giving a new teammate a login to your systems. Before, they could only talk. Now they can actually do the job - check a record, book a slot, file a note - because they’re plugged into the same tools your humans use.

Everything lives under Integrations in the console, grouped by category. Each connection is scoped to one workspace, so connecting HubSpot here doesn’t touch any other workspace you belong to.

The one rule that ties this whole page together: an integration only becomes usable by an agent after you connect it. A tool that isn’t connected simply doesn’t show up as an option anywhere. So “connect it once, in Integrations” is always step one.


What you can connect

We support real, named providers grouped by what they’re for. Here’s the full list and what each one is good at.

CRM - where your customer records live

  • HubSpot - log calls as activities on a contact, and look the caller up mid-call to see their history.
  • Salesforce - create leads/contacts and log calls as Task activities; look the caller up during a call.
  • Zoho CRM - log calls as Call records and look callers up in Zoho.

Why connect one: your CRM is your source of truth for who a customer is. Connecting it means the agent talks to a known person (“I see you called last week about…”) instead of a stranger, and every call outcome lands where your sales/ops team already looks.

Support - your helpdesk

  • Zendesk - open a support ticket for a call outcome, or raise one mid-call straight from the caller’s own words.

Why connect it: so a call that surfaces a problem becomes a tracked ticket automatically, instead of a note someone forgets to file.

Commerce - your store

  • Shopify - match a caller to a customer, look up their order status live, and note the outcome on their profile.

Why connect it: the single most common question on an e-commerce call is “where’s my order?” - this lets the agent actually answer it.

Scheduling - your calendar

  • Calendly - offer open times and book a meeting during the call.
  • Cal.com - same idea, on the open-source scheduler.
  • Google Calendar - offer open slots from a calendar and book directly onto it.

Why connect one: booking is the whole point of a lot of calls. Instead of “someone will email you a link,” the agent offers real times and locks one in before the caller hangs up.

Messaging - team + customer notifications

  • Slack - post every call outcome to a channel your team watches.
  • WhatsApp Business - send approved WhatsApp templates from live calls and outcome boards (via MSG91 or Meta’s Cloud API). WhatsApp has its own dedicated setup - see WhatsApp.

Why connect one: Slack gives your team a live feed of what’s happening on calls; WhatsApp lets the agent follow up with the customer on the channel they actually check.

Productivity - the humble spreadsheet

  • Google Sheets - append every call outcome as a new row.

Why connect it: it’s the zero-setup CRM. If you don’t run a formal CRM yet, a shared sheet gives you a clean, filterable log of every call without buying anything.

Don’t see your tool? Anything with an HTTP endpoint can still be called mid-conversation as a webhook tool - see Webhooks & your own API at the bottom.


Connecting: one click, or paste a key

There are two ways a connection gets made. For most providers you’ll never touch an API key.

One-click (OAuth) - the easy path

For the supported providers, connecting is: click Connect → approve access in the provider’s own login screen → done. A popup opens on HubSpot’s (or Google’s, or Slack’s) site, you log in there and click “Allow,” and you’re bounced straight back with a green Connected badge. No keys to find, no scopes to configure by hand.

Providers wearing a “1 click” badge on their card support this. It’s the same flow you already know from “Sign in with Google” - and it’s deliberately built so a non-technical person can do it in under a minute.

  • Why it’s the better path: OAuth tokens are scoped and revocable, and for providers whose tokens expire (Zoho refreshes hourly, Google, Salesforce) the platform quietly refreshes them for you in the background. You connect once and forget about it.
  • Tip: if the popup gets blocked by your browser, the connect can happen in the same tab instead - just allow popups for a smoother ride, and you’ll see any error message clearly if something goes wrong.

Paste-a-key - the manual path

A few connections either need a key you generate yourself, or offer it as an advanced option:

  • Cal.com - paste an API key (Cal.com → Settings → Developer → API keys).
  • Google Sheets / Google Calendar - one-click OAuth is offered, but you can instead paste a service account JSON and share the sheet/calendar with that service account’s email. Handy when you want a dedicated, non-personal login.
  • Every provider also exposes its raw fields (a HubSpot private-app token, a Zendesk subdomain + API token, a Shopify admin token, and so on) as a fallback if you’d rather not use OAuth.

Each field in the connect form comes with a short hint telling you exactly where to find that value in the other tool’s settings - you shouldn’t need to go hunting.

Which should I use? If the “1 click” badge is there, use it. Only reach for a pasted key when a provider requires it (Cal.com) or when your security team specifically wants a dedicated service account rather than a personal OAuth grant.


Using a connection: mid-call vs. after the call

Connecting a provider doesn’t automatically change any call. A connection just makes its abilities available. There are two distinct ways an agent puts them to work, and the difference matters.

Mid-call - a live tool the agent can use while talking

Some abilities run during the conversation, while the caller waits a beat for the answer:

  • Look up contact (HubSpot, Salesforce) - pull the caller’s record so the agent can reference their history.
  • Order lookup (Shopify) - check an order’s status live.
  • Create ticket (Zendesk) - open a ticket from what the caller just described.
  • Check availability and Book meeting (Calendly, Cal.com, Google Calendar) - offer real open times and lock one in.

These are tools, and they’re off by default. You switch them on per agent - every agent’s builder has an Integration tools section that lists only the tools your connected providers back, and you tick the ones this agent should use.

  • Why off by default: every extra tool is one more thing that could fire at the wrong moment. A support agent probably shouldn’t be booking meetings; a booking agent probably shouldn’t be opening tickets. You decide, per agent.
  • Even finer control in flows: if you build a prompt & flow agent, you can enable an integration tool per node - so “check availability” is only reachable once the caller has actually agreed to book, not at the top of the call. Same list of connected tools, scoped to the exact step where it belongs.

Keep mid-call tools lean. A tool the agent calls mid-conversation adds a moment of latency while it waits for the other system to answer. Grant only what a given call genuinely needs, and the calls stay snappy.

Post-call - the outcome pushed automatically

Most “write it down” work doesn’t need to happen live at all - and shouldn’t, because it would slow the call. Instead, after the call ends, the platform reads the finished transcript and pushes the outcome to the tools you’ve connected:

  • Log call outcome to HubSpot / Salesforce / Zoho.
  • Open a ticket in Zendesk.
  • Note the outcome on a Shopify customer profile.
  • Post to a channel in Slack.
  • Append a row in Google Sheets.

This is the right home for dispositions, captured fields, and call summaries. It keeps the live conversation fast (no waiting on your CRM to save), while still getting everything filed the moment the call wraps.

  • Tip: name the fields you capture on the agent the way your CRM names them (interested, callback_at) so the data lines up cleanly when it’s pushed out.

Scheduling providers are mid-call only. Calendly, Cal.com and Google Calendar exist to book - they don’t receive an outcome push. Everything else that writes records (CRM, Zendesk, Shopify, Slack, Sheets) does.


Per-agent (and per-node) control

Worth stating plainly because it’s the mental model that keeps this safe: an agent only ever uses the integrations you switch on for it. Connecting a provider in the hub is workspace-wide, but using it is per-agent.

That means one workspace can run:

  • a sales agent that writes to your CRM and books meetings,
  • a support agent that only reads from your helpdesk and opens tickets,
  • an announcement agent with no integrations at all,

…all from the same set of connections. And because integration tools are off until you tick them, a brand-new agent starts with zero access - you add capability deliberately, never by accident.


Only connected providers show up

This is the safety net behind everything above. Throughout the product - the agent builder’s tool list, a flow node’s tool picker - you only ever see the tools backed by an integration you’ve actually connected. A provider you haven’t connected doesn’t appear as an option; there’s no way to accidentally enable a tool that has nothing behind it.

So if a tool you expected isn’t in the list, the fix is always the same: go to Integrations and connect that provider first. Then it appears, ready to switch on.


Disconnecting

Changed your mind, rotated a key, or connected the wrong account? Open the provider’s card in Integrations and hit Disconnect (per account, if you’ve connected more than one). The connection is removed from the workspace immediately.

  • What happens to agents that used it: the mid-call tools it backed simply stop appearing as options, and post-call pushes to it stop. Nothing breaks mid-call - the agent just no longer has that ability. Reconnect any time to bring it back.
  • Tip: if you’re only swapping credentials, you can reconnect right after disconnecting - the same green badge returns once the new connection verifies.

Webhooks & your own API

Native integrations cover the common tools, but you’re never boxed in.

  • Webhook tool (mid-call): any service with an HTTP endpoint can be called during a conversation. Add it as a webhook tool under Account → Tools (see Tools & actions), then enable it on an agent like any other tool. This is how you reach an in-house system or a provider we don’t natively support.
  • Event webhooks (after the fact): subscribe to call events and have oyehello notify your systems - see the event webhooks reference.
  • Developer API: for full programmatic control, drive everything through the developer API.

Rule of thumb: if it’s a well-known SaaS tool, check the Integrations hub first - a one-click connection beats maintaining a webhook. If it’s your own system, the webhook tool is exactly what you want.


Next: WhatsApp → - set up the WhatsApp Business connection so your agents can follow up on the channel your customers actually check.