Skip to main content
Connect Salesforce so Doris can sync Accounts, Contacts, Opportunities, owners, stages, and the deal context attached to your pipeline.
Salesforce is an organization-wide CRM integration. A Doris admin connects it from Sources > CRM > Salesforce.

Before you start

You need two things before opening the Doris connection flow:
  • A Doris admin account for your workspace
  • A Salesforce user who can create an External Client App and authorize API access for the org
Use a Salesforce admin or a dedicated integration user with:
  • API access enabled
  • Read access to User, Account, Contact, and Opportunity
  • Read access to opportunity stages, owners, and standard opportunity fields
  • Write access to Account, Contact, and Opportunity if Doris will update CRM fields
  • Create access to Task if Doris will write notes or follow-up records back to Salesforce
A dedicated Salesforce integration user is usually cleaner than using an individual rep’s account. It keeps ownership of the integration stable if a team member changes roles.

1. Create the Salesforce app

Salesforce requires your organization to create its own External Client App before Doris can run OAuth.
1

Open Salesforce Setup

In Salesforce, open Setup and search for External Client Apps.
2

Create an External Client App

Create a new app for Doris and enable OAuth. Doris uses the OAuth authorization-code flow with PKCE.
3

Add the callback URL

Add this callback URL exactly:
4

Add OAuth scopes

Add the Salesforce OAuth scopes Doris needs:
5

Copy the credentials

Copy the app’s Consumer Key and Consumer Secret. You will paste them into Doris during the connection flow.

2. Connect from Doris

After the Salesforce app exists, complete the connection in Doris.
1

Open Sources

Log in to Doris as an admin and go to Sources in the sidebar.
2

Choose Salesforce

Open the CRM card, choose Salesforce, and click Connect.
3

Enter app credentials

Paste the Salesforce Consumer Key and Consumer Secret from the External Client App, then click Save & Connect.
4

Authorize in Salesforce

Salesforce opens in a new authorization flow. Sign in as the Salesforce integration user and approve the requested access.
5

Return to Doris

After authorization, Salesforce redirects back to Doris. The Salesforce source should show as connected.

3. Select reps and import

The Salesforce source has three setup sections in Doris: Initial import can take a few minutes depending on the size of your Salesforce org.

What syncs

Doris reads Salesforce as the source of truth for your CRM records. When CRM writeback or automation is enabled, Doris can also write selected field updates and notes back to Salesforce.

Troubleshooting

Open Sources > CRM > Salesforce, click Connect, and paste the Consumer Key and Consumer Secret from the Salesforce External Client App. Salesforce cannot be connected without customer-owned app credentials.
Confirm the callback URL in Salesforce exactly matches https://server.meetdoris.com/api/v1/crm/salesforce/callback. Extra slashes, missing https, or an old API domain will cause OAuth to fail.
Disconnect Salesforce in Doris and reconnect using a user from the correct Salesforce org. Doris checks the Salesforce org identity during OAuth.
Check the Salesforce integration user’s object permissions and field-level security. Doris can only sync records and fields visible to the user who authorized the integration.
Doris supports one primary CRM connection at a time. Disconnect the existing CRM source before connecting Salesforce.