CRM connectors
DialerBee can connect to your CRM so that callers are recognised and, if you choose, every finished call is written into the CRM. Each company connects its own CRM account from its own console page. Nothing is connected for you, and nothing is switched on until your administrator does it.
This page is for the administrator who sets the connection up. Open CRM integration in the DialerBee console. Only an administrator can connect, change or disconnect a CRM.
Which CRMs, and how each connects
| CRM | How you connect today | What you need |
|---|---|---|
| Odoo | Your own API key | The address of your Odoo, its database name, your login and an API key |
| Freshworks CRM | Your own API key | The address of your Freshworks CRM and an API key |
| HubSpot | Your own CRM app | An app you create in your HubSpot account |
| Salesforce | Your own CRM app | A connected app you create in Salesforce |
| Zoho CRM | Your own CRM app | An app you create in your Zoho region's API console |
| Pipedrive | Your own CRM app | A private app you create in Pipedrive |
| Zendesk | Your own CRM app | An OAuth client you create in your Zendesk account |
| Microsoft Dynamics 365 | Your own CRM app | An app registration you create in Microsoft Entra |
One-click connection with DialerBee's own app is coming soon for HubSpot, Salesforce, Zoho CRM, Pipedrive, Zendesk and Dynamics 365. Until then those six CRMs connect with an app of your own, as described below. You do not need to wait. Odoo and Freshworks CRM never need an app: they use your API key.
Connect Odoo or Freshworks CRM with your API key
- In your CRM, create an API key for the user DialerBee should act as. The key carries that user's permissions, so use a user who can read and create contacts and, if you will log calls, create call notes or activities.
- In CRM integration, choose the CRM and enter its address and the key (for Odoo also the database name and your login).
- Press connect. DialerBee checks the key once with your CRM. If the check passes the connection is saved; if it does not, nothing is saved.
What can answer at this step:
- The address answers but is not that CRM (for example a sign-in page of another product): the connection is refused with "did not answer like" your CRM.
- Your CRM is limiting requests: DialerBee says so and you try again a little later.
- The key or login is refused by your CRM: the connection is refused.
- More than 10 key checks per hour for your company are refused with a request to try again in an hour. This protects your CRM from repeated guesses.
Connect HubSpot, Salesforce, Zoho CRM, Pipedrive, Zendesk or Dynamics 365 with your own app
You create a small app in your own CRM account, then paste its details into DialerBee. The app belongs to you, so you control its permissions and can remove it at any time. DialerBee never uses another company's app for your connection, and never uses its own as a fallback for yours.
The console guides you through four steps for each CRM:
- Create the app in your CRM (see the table below).
- Copy the return address shown in the console into the app. It is your console's CRM page,
for example
https://app.dialerbee.com/admin/crm-integration. It must be copied exactly; a different address is refused. If the console cannot show a return address, open the console on its usual address or contact support. - Paste the app's details into the console: the client ID, the client secret and, for three CRMs, one extra value (see the table). Press Save app.
- Connect. You sign in to your CRM and allow the app. When you return, the connection is saved.
| CRM | Where you create the app | Give the app these permissions | Extra value to paste |
|---|---|---|---|
| HubSpot | Developer account > Apps > Create app > Auth tab. Add the return address under Redirect URLs. | crm.objects.contacts.read, crm.objects.contacts.write |
none |
| Salesforce | Setup > App Manager > New Connected App, with OAuth settings enabled. Set the Callback URL to the return address and require PKCE. Paste the Consumer Key and Consumer Secret. | api, refresh_token |
none (you choose production or sandbox when you connect) |
| Zoho CRM | The API Console of your region > Server-based Application. Set the Authorized Redirect URI to the return address. | ZohoCRM.modules.contacts.ALL, ZohoCRM.modules.leads.READ, ZohoCRM.modules.calls.ALL, ZohoCRM.modules.tasks.ALL |
Your region (data centre): accounts.zoho.com, .eu, .in, .com.au, .jp, .sa, .com.cn or accounts.zohocloud.ca. It must match the console you created the app in. |
| Pipedrive | Developer Hub > create a private app. Set the Callback URL to the return address. | Contacts, activities, phone integration and reading users (contacts:full, activities:full, phone-integration, users:read) |
none |
| Zendesk | Admin Center > Apps and integrations > APIs > OAuth Clients. Set the Redirect URL to the return address and choose a confidential client. Paste the client's unique identifier and secret. | users:read, users:write, tickets:write (turn on PKCE if offered) |
Your Zendesk subdomain (the connection is locked to it) |
| Dynamics 365 | Microsoft Entra admin center > App registrations > New registration. Add a Web redirect URI with the return address and create a client secret. | Dynamics CRM user_impersonation (plus offline_access) |
Your directory (tenant) ID |
Rules that protect your connection:
- Change an app only when disconnected. While a CRM is connected you cannot replace or remove its app: disconnect first. You can rotate the secret of the same app while connected.
- If your CRM refuses your app (a wrong client ID or secret), the console says your own app was refused and asks you to check those two values. A connection whose app is later refused shows "Reconnect".
- If you change the app during sign-in, the sign-in is refused and you start again.
- A sign-in that does not start from your console, or that someone altered on the way, is refused.
Log finished calls in your CRM (optional)
DialerBee can write every finished call, whether an agent or your AI agent handled it, into the connected CRM. It is off for every company until your administrator turns it on.
- It is turned on for one connection at a time. The switch Log calls to CRM belongs to the connection that was active when you turned it on. If you connect a different CRM, or disconnect and reconnect, it reads off and the console asks you to turn it on again. Nothing is sent in the meantime.
- Only calls after you turn it on are logged. Earlier calls are not sent.
- What is written: the direction (inbound or outbound), the duration, the outcome, the agent's notes, a summary of the call when your AI features are switched on, and a follow-up task when the outcome asks for one. A link to the call's page in DialerBee may be included; that page requires a sign-in.
- What is never sent: call recordings, and full transcripts.
- Create unknown callers (also off by default) lets DialerBee create a contact for a caller your CRM does not know.
- If your CRM cannot be reached, DialerBee retries with increasing delays. A call that cannot be written after the retries is listed for your administrator, who can retry it.
Security
- Secrets are stored encrypted, for your company only. This covers API keys, app client secrets and the sign-in tokens your CRM issues.
- Nothing is echoed back. A saved key or client secret is never shown again, never returned by the console, and never put in an error message or log. The console shows only the last four characters of an app's client ID so you can recognise it.
- Your company only. Your connection, your app and your settings are invisible to other companies, and another company cannot use them.
- Only your own CRM account is contacted, at the address you gave, and DialerBee refuses to send requests to private or internal addresses.
- Connecting, changing and removing an app, and changing the call-logging switch are recorded in your company's audit log.
- Treat the app's client secret like a password: put it only in the console, and rotate it in your CRM if it may have been seen.
Is there an API for this?
Not yet. CRM connections and the call-logging switch are managed in the console only. They are not part of the key-based API, and an API key cannot change them.