Salesforce integration
Last updated: 2026-07-12
Dromlik's Salesforce integration links your phone system to Salesforce so agents can call contacts straight from the CRM, see who's calling before they pick up, and have every conversation written back as an activity.
Setup involves configuring an authorization app inside your own Salesforce org, so plan for 30–45 minutes the first time — most of that is Salesforce-side configuration, not Dromlik-side.
Before you begin
- Administrator access to your Dromlik account.
- A System Administrator account in Salesforce (only a Salesforce system administrator can create and authorize the connection).
- Each Dromlik user who needs the integration must also have a Salesforce login.
- Your Salesforce edition must be Enterprise, Unlimited, Performance, or Developer Edition. Salesforce's Professional/Group editions don't support the API access this integration needs.
Authentication
Dromlik connects to Salesforce using OAuth 2.0, via a Salesforce External Client App that you create in your own org. This is a per-tenant connection — there is no shared, pre-authorized Dromlik app in Salesforce's app directory, so you'll do a one-time setup on the Salesforce side before authorizing.
Set it up
Part 1 — Get your Callback URL from Dromlik
- 1
Open the integration page
In the Dromlik admin console, go to Integrations → CRM → Salesforce.
- 2
Copy the Callback URL
In the Network section, select your Homepage URL and copy the Authorized Redirect URI. You'll paste this into Salesforce in the next part.
Part 2 — Create the authorization app in Salesforce
- 1
Create a new External Client App
In Salesforce, go to Setup → Platform Tools → Apps → App Manager, then click New External Client App. Give it a name (e.g. "Dromlik Phone System") and a contact email.
- 2
Configure OAuth settings
Under API (Enable OAuth Settings), check Enable OAuth, then set:
- Callback URL — paste the Authorized Redirect URI you copied from Dromlik.
- OAuth Scopes — add all of the following to Selected OAuth Scopes:
- Full access (
full) - Manage user data via APIs (
api) - Manage user data via Web browsers (
web) - Access unique user identifiers (
openid) - Access the identity URL service (
id,profile,email,address,phone) - Perform requests at any time (
refresh_token,offline_access)
- Full access (
Click Save.
- 3
Disable the credentials flow and PKCE
Open the app's Settings tab (Apps → External Client App → External Client App Manager → dropdown next to your app → Edit Settings). Under Flow Enablement, leave Enable Authorization Code and Credentials Flow unchecked. Enabling this setting can cause the connection to fail intermittently after the initial authorization succeeds.
Under Security, uncheck Require Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows. Dromlik's authorization flow doesn't use PKCE, so leaving this checked will block the connection.
Save your changes and allow a couple of minutes for them to propagate.
- 4
Set app permissions
Go to the Policies tab for the same app (Edit Policies) and set Permitted Users to All users may self-authorize. Save.
- 5
Retrieve your Consumer Key and Secret
Still on the app's Settings tab, find Consumer Key and Secret and click it. Salesforce emails you a verification code — enter it to reveal the Consumer Key and Consumer Secret. Copy both; you'll need them in the next part.
Part 3 — Authorize the connection in Dromlik
- 1
Enter your credentials
Back in the Dromlik admin console, on the Salesforce integration page, paste your Consumer Key and Consumer Secret into the Authorization section and click Save.
- 2
Approve access
A Salesforce window opens asking you to approve data access for the app. Click Allow. You'll be redirected back to Dromlik, which confirms the connection is live.
- 3
Map contact types
Choose which Salesforce record types Dromlik should match against on inbound calls (typically Contacts and Leads, sometimes Accounts).
- 4
Configure call journaling
Pick what gets written back after each call: activity type, whether to attach the recording link, and whether unanswered calls also generate an entry.
- 5
Assign users
Toggle the integration on for the extensions that need it, then associate each Salesforce user with their Dromlik extension. If a user's Salesforce login and Dromlik extension share the same email address, use Associate Automatically; otherwise associate them manually.
What users see
- Inbound: the Dromlik App shows the matching Salesforce contact and a one-click link to open the record.
- Outbound: click any phone number in Salesforce to dial it through Dromlik.
- After the call: an activity appears in Salesforce with duration, direction, notes and (optionally) the recording link.
Troubleshooting
Error: invalid_client_id / "client identifier invalid" when authorizing. The Consumer Key pasted into Dromlik doesn't match a currently active Salesforce app credential. Common causes:
- You copied the key before completing the email verification step, or from the wrong screen.
- The app was recently created or edited — Salesforce can take a couple of minutes to propagate changes. Wait and retry.
- The key was rotated or belongs to a different app than the one with your Callback URL configured. Re-open Consumer Key and Secret and copy a fresh value.
Error: missing required code challenge when authorizing. PKCE is still being enforced somewhere. Check two places in Salesforce:
- The app's own Settings → Security → Require Proof Key for Code Exchange (PKCE) — should be unchecked.
- The org-wide Setup → OAuth and OpenID Connect Settings → Require Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows — should also be off. This org-level setting overrides the per-app one, so both need to be disabled.
Authorization fails or drops out after initially working. Check that Enable Authorization Code and Credentials Flow is unchecked in the app's Flow Enablement settings. When this setting is enabled, the connection can authorize successfully at first and then fail intermittently later.
The pop-up doesn't appear. Check that the user has signed in to Salesforce from the Dromlik App and that their extension has the integration toggled on.
Activities aren't written back. The authorizing admin's Salesforce token may have expired or had its scope reduced. Re-authorize from the integration page.
Wrong contact shows up. Number formatting in Salesforce doesn't match E.164. Either normalise the numbers in Salesforce or enable Dromlik's loose-match option on the integration page.