Skip to main content

Configure Salesforce Permissions

Grant Backstory the Salesforce system, object, and field permissions needed for a successful integration.

Salesforce Permissions establish the access controls required for the Backstory integration to function. You will create a dedicated Salesforce user account and assign it three categories of permissions: system permissions, object permissions, and field permissions. Together, these enable Backstory to read, create, and update Salesforce data as part of normal integration operations.


What You Can Do


Prerequisites

  • You must be a Salesforce administrator to complete this setup.

  • Your organization must have an active Backstory account with the Salesforce integration enabled.


Integration User

We strongly recommend setting up a separate Salesforce user account exclusively for Backstory, rather than using an existing employee's account. This ensures permissions remain stable if someone leaves the company or changes roles.

  1. Follow Salesforce's standard process to add a single user.

  2. Name the user "Backstory Integration User."

  3. Assign the user a Salesforce user license.

  4. Place the user at the top of your Salesforce Role Hierarchy.

  5. Once complete, move on to the next section to assign system permissions.


System Permissions

System permissions give the integration user the access it needs to connect to Backstory. Three permissions are required: View All Data, API Enabled, and View All Users. How you grant them depends on the profile type assigned to your integration user. Select the option that applies to you.

Option A: System Administrator Profile (Recommended)

The System Administrator profile includes the highest level of administrative privileges by default, including all three required permissions. If your organization is comfortable granting this level of access, no further configuration is needed. Skip to the section about Object Permissions.

Option B: Custom Profile

Custom profiles let you grant permissions selectively. Once you have a custom profile assigned to your integration user, follow these steps to enable the required permissions:

  1. In Salesforce, go to Setup > Users > Profiles.

  2. Open the custom profile assigned to your integration user.

  3. Under System Permissions, enable View All Data, API Enabled, and View All Users.

Option C: Standard Profile with Permission Set

Standard profiles have fixed permissions and cannot be edited directly. You will need to create a Permission Set to grant the required access.

  1. Create a new permission set named "Backstory Standard Permissions."

  2. Under System Permissions, enable Edit Events, Edit Tasks, and API Enabled.

  3. Under User Permissions, enable View All Data and View All Users.

  4. Assign the permission set to your Backstory Integration User.

A Note on View All Data

We recommend enabling View All Data for the integration user. Backstory relies on it in the following ways:

  • CRM pull: View All Data allows Backstory to access all Salesforce objects without additional configuration.

  • Trigger exception troubleshooting: When a sync fails due to insufficient access errors, View All Data gives Backstory the visibility needed to diagnose the root cause.

  • Cadence tool integration: View All Data may be required when integrating with cadence tools.

If your organization's security policies prohibit View All Data, you can use the least-privilege alternative below. Note that troubleshooting trigger exceptions will become your responsibility in this case.

  1. Assign View All permission on Accounts, Contacts, Leads, and Opportunities.

  2. Enable Edit Events and Edit Tasks under System Permissions.

  3. Enable View Setup and Configuration under Administrative Permissions. This automatically grants View Role and Role Hierarchy, which is also required.

  4. Assign View All permission on any additional objects that interact with the above via automations, including Tasks and Events.


Object Permissions

Object permissions control which types of Salesforce records Backstory can read, edit, create, or delete.

To configure object permissions:

  1. In Salesforce Setup, navigate to your integration user's profile or permission set.

  2. Click Object Settings.

  3. Select an object and enable the permissions listed in the table below.

  4. Click Save.

  5. Return to Object Settings and repeat for each remaining object.

Salesforce Object

View All

Edit

Create

Delete

Why Backstory Needs It

Account

Used to match activities to accounts and write aggregated fields.

Contact

Used to match activities to contacts and update titles and phone numbers. Delete is reserved for contacts created by Backstory for support purposes.

Lead

Used to match activities to leads and write aggregated fields. Create is reserved for future enhancements.

Opportunity

Used to match activities to opportunities and write aggregated fields.

Note: If your organization uses Private sharing settings on any object above, the integration user also needs the Modify All Records permission for that object. Without it, some sync processes may fail.

Inherited Object Permissions

The following objects inherit permissions automatically from the parent objects or system permissions you've already granted and require no additional configuration:

Object

Inherits From

AccountTeamMember

Account

EventRelation

Edit Events (system permission)

FiscalYearSettings

View All Data (system permission)

Group

Manage Users (system permission)

LeadHistory

Lead

LeadStatus

Lead

OpportunityContactRole

Opportunity

OpportunityHistory

Opportunity

OpportunityStage

Opportunity

OpportunityTeamMember

Opportunity

Organization

View All Data (system permission)

Profile

Manage Users (system permission)

TaskRelation

Edit Tasks (system permission)

User

Manage Users (system permission)

UserLicense

Manage Users (system permission)

UserRole

Manage Users (system permission)


Field Permissions

Granting access to an object does not automatically grant access to its fields. Field permissions control which individual data fields Backstory can read within each Salesforce object.

We recommend granting Read Access to all fields in the following objects to ensure all features work as expected:

  • Account

  • Contact

  • Event

  • Lead

  • Opportunity

  • Period

  • Task

To configure field permissions:

  1. In Salesforce Setup, navigate to your integration user's profile or permission set.

  2. Click Object Settings and select the object you want to configure.

  3. Scroll to the Field Permissions section.

  4. Enable Read Access for all object fields allowed by your organization’s security policies.

  5. Click Save.

  6. Return to Object Settings and repeat for each remaining object.

Minimum Required Field Permissions

If your organization's security policies require a more restrictive approach, the table below lists the minimum required and recommended fields by their API names.

  • Required: Backstory cannot complete a data pull without these. Missing required fields will cause the integration to stop and return an error.

  • Recommended: Backstory uses these to enrich insights, but the data pull will not fail without them. Granting access is strongly encouraged where your security policies allow.

Object

Required Fields

Recommended Fields

Account

CreatedById

Name

OwnerId

AnnualRevenue

BillingAddress

Industry

NumberOfEmployees

Ownership

ParentId

RecordTypeId

ShippingAddress

Type

Website

Contact

AccountId

CreatedDate

Name

OwnerId

Title

AssistantPhone

Department

Email

HomePhone

MailingAddress

MobilePhone

OtherPhone

Phone

Event

ActivityDate

CreatedById

LastModifiedById

OwnerId

peopleai__Created_by_PeopleAI__c

Type

Lead

Company

CreatedById

Name

OwnerId

Status

AnnualRevenue

Email

Industry

MobilePhone

Phone

Rating

Title

Website

Opportunity

AccountId

CloseDate

CreatedById

Name

OwnerId

StageName

Amount

ExpectedRevenue

ForecastCategoryName

LeadSource

Probability

RecordTypeId

Territory2Id

Type

Task

CreatedById

OwnerId peopleai__Created_by_PeopleAI__cWhatId

WhoId

Priority

Status

TaskSubtype

Inherited Field Permissions

Fields in the table below are also required for the Backstory integration, but are accessible automatically through permissions you've already granted and do not require manual configuration.

Object

Required Fields

Account

CreatedDate

Id

IsDeleted

LastModifiedById

SystemModstamp

AccountTeamMember

AccountId

CreatedDate

Id

IsDeleted

SystemModstamp

TeamMemberRole

UserId

Contact

AccountId

CreatedDate

Id

IsDeleted

SystemModstamp

Currency Type

Note: These fields only exist if Multi-Currency is enabled in Salesforce. To check, go to Setup > Company Settings > Company Information > Activate Multiple Currencies checkbox.

CreatedDate

DecimalPlaces

Id, IsActive

IsCorporate

IsoCode

SystemModstamp

DatedConversionRate

Note: These fields only exist if Multi-Currency is enabled in Salesforce. To check, go to Setup > Company Settings > Company Information > Activate Multiple Currencies checkbox.

ConversionRate

CreatedDate

Id

IsoCode

NextStartDate

StartDate

SystemModstamp

Event

CreatedDate

Id

SystemModstamp

FiscalYearSettings

EndDate

Id

IsStandardYear

Name

StartDate

SystemModstamp

Group

CreatedDate

Id

Name

OwnerId

SystemModstamp

Type

Lead

ConvertedAccountId

ConvertedContactId

ConvertedDate

ConvertedOpportunityId

CreatedDate

Id

IsDeleted

SystemModstamp

LeadHistory

CreatedDate

Field

Id

LeadId

NewValue

LeadStatus

ApiName

CreatedDate

IsConverted

IsDefault

SortOrder

SystemModstamp

Opportunity

CreatedDate

Id

IsClosed

IsDeleted

IsWon

LastModifiedById

SystemModstamp

OpportunityContactRole

ContactId

CreatedDate

Id

IsDeleted

IsPrimary

OpportunityId

Role

SystemModstamp

OpportunityHistory

Amount

CloseDate

CreatedDate

Id

OpportunityId

Probability

StageName

SystemModstamp

OpportunityStage

ApiName

CreatedDate

IsActive

IsClosed

IsWon

SortOrder

SystemModstamp

OpportunityTeamMember

CreatedDate

Id

IsDeleted

Name

OpportunityAccessLevel

OpportunityId

SystemModstamp

TeamMemberRole

Title

UserId

Profile

Id

SystemModstamp

UserLicenseId

User

CreatedDate

Email

Id

IsActive

ProfileId

SystemModstamp

TimeZoneSidKey

UserLicense

Id

LicenseDefinitionKey

SystemModstamp

UserRole

Id

LastModifiedById

Name

ParentRoleId

PortalAccountId

SystemModstamp


Frequently Asked Questions

Which profile type should I use for the integration user?

It depends on your organization's security policies. The System Administrator profile is the simplest option. A custom profile gives you more control. A standard profile requires an additional permission set.

What happens if I don’t enable read access to a required field?

The integration will stop and return an error. It won't resume syncing until read access is granted for every required field on that object.

Do I have to enable the recommended fields?

No, but it's strongly encouraged. Recommended fields allow Backstory to surface richer insights and more complete reporting. Skipping them won't break the integration, but your data may be less detailed and some functionality will be unavailable to you.

What does "inherited" mean for field permissions?

Some fields become accessible automatically once you grant the related parent object permission or system permission. You don't need to configure these manually. They're listed in the table for reference only.

What if my organization uses private sharing settings?

If any object has Private sharing settings, the integration user will also need the Modify All permission for that object. Without it, specific processes like OCR creation and summary field pushes may fail.

What should I do if validation rules are blocking Backstory from updating fields?

Some orgs have validation rules or flows that prevent Backstory from updating fields installed with the managed package. If this happens, ask a Salesforce admin to update each affected validation rule to exempt the Backstory integration user. They can do this by adding a condition like $Profile.Name != 'Backstory Integration User', or by referencing the integration user's profile or role in the rule logic.


Need Help?

Contact your CSM or email support@backstory.ai.

Did this answer your question?