Skip to main content

Setting up a Salesforce API user for integration with Donna

How to create and configure a Salesforce API user for the Donna integration: permissions setup, coordination steps, and integration options.

Updated this week

1. Create a Salesforce Integration User

We recommend using a dedicated Integration User to ensure clean separation of access and easier monitoring.

Steps to take:

  • Create two new users in your Salesforce org with the following email format:

    • For API access: hello+*(sandbox)*[email protected]

    • For frontend (UI) access: hello+*(sandbox)*[email protected]

      ⚠️ If licenses are limited, the frontend user can be temporary—used only for setup and onboarding, then deactivated afterward.

  • Assign a custom permission set that includes access to both standard and custom objects needed for the sync (see below).

  • Ensure the user has API Enabled and Modify All Data if needed for full access to the integration scope.

2. Permission Sets and Object Access

Donna's integration syncs a mix of default and custom Salesforce objects. At a minimum, the following standard objects should be accessible via the permission set:

  • Core Objects:

    Account, Contact, Lead, Opportunity, User
  • Activity & Communication:

    EmailMessage, EmailMessageRelation, Event, EventRelation, Task, TaskRelation, Note
  • Opportunity Details:

    OpportunityContactRole, OpportunityStage

Please ensure read access is granted to all of the above, and write access where appropriate (based on business needs).

3. Integrate Salesforce with Donna

You have two options to enable the connection:

Option A: Manual Login

  • Provide login credentials for the Integration User to Donna securely (preferred for testing environments).

Option B: Use a Connected App

Donna uses the standard OAuth 2.0 flow to authenticate with Salesforce.

4. Testing and Moving to Production (if sandbox)

Once configuration is complete:

  • Test the setup in your sandbox environment.

  • When confirmed working, allocate time and resources to move the setup to production.

  • If a temporary frontend user was used, you may deactivate it after onboarding is finalized.

Did this answer your question?