Skip to content

Salesforce: Permissions for the graph8 Integration User

graph8 works inside Salesforce as the user who authorised the connection. Salesforce never lets a connected app see more than that user’s own profile and permission sets allow, so any field the connecting user cannot access is silently left out of the sync. This page lists exactly what that user needs, so a Salesforce admin can set up a dedicated integration user in one pass.

Why the connecting user’s permissions matter

  • When you click Connect, graph8 receives a token for the Salesforce user who signs in. Every read and write graph8 makes runs as that user.
  • The OAuth grant cannot exceed the user’s own permissions. If the user cannot see the Title field on Lead, graph8 cannot read or write job titles. There is no error; the field simply never syncs.
  • Salesforce best practice is a dedicated integration user with a minimal profile. That is the right approach, as long as the user is granted the objects and fields below.
  • graph8 checks this for you. After connecting, open the Salesforce settings: any field graph8 uses that the connected user cannot access is listed in a banner at the top, and the field appears greyed out in the Fields tab. The sync keeps running with whatever the user can see; nothing is blocked.

Object access

Grant the integration user access to these objects:

ObjectAccessUsed for
LeadRead, Create, EditLead sync: pushing qualified leads, pulling leads and their opt-outs
ContactRead, Create, EditPulling and pushing contacts
AccountRead, Create, EditPulling and pushing companies
CampaignReadPulling leads and contacts by campaign, and adding pushed leads to a campaign
Campaign MemberRead, Create, EditAdding pushed leads to the campaign you choose in the Lead sync settings
UserReadMatching Salesforce record owners to graph8 team members. Salesforce grants this by default; only relevant if your org restricts user visibility
Task, EventRead, Create, EditOnly when activity sync is on

Field access

Field-level security applies on top of object access. Grant Read and Edit on every field in the tables below for the objects you sync. The Needed for column tells you when a field matters:

  • Always: whenever that object is synced.
  • Lead sync: the Salesforce Lead sync is on in the Push tab.
  • Opt-out suppressions: Suppress from opt-outs is on in the Lead pull settings, so Salesforce Email Opt Out and Do Not Call flags become graph8 suppressions.
  • Contact push: a contact push to Salesforce is configured.

Lead

Salesforce fieldAPI nameNeeded for
EmailEmailAlways
First NameFirstNameAlways
Last NameLastNameAlways
CompanyCompanyAlways
TitleTitleAlways
PhonePhoneAlways
Mobile PhoneMobilePhoneAlways
WebsiteWebsiteAlways
IndustryIndustryAlways
StreetStreetAlways
CityCityAlways
State/ProvinceStateAlways
Zip/Postal CodePostalCodeAlways
CountryCountryAlways
Lead StatusStatusAlways
Lead SourceLeadSourceAlways
Lead OwnerOwnerIdAlways
EmployeesNumberOfEmployeesAlways
Email Opt OutHasOptedOutOfEmailLead sync / Opt-out suppressions
Do Not CallDoNotCallLead sync / Opt-out suppressions

Contact

Salesforce fieldAPI nameNeeded for
EmailEmailAlways
First NameFirstNameAlways
Last NameLastNameAlways
TitleTitleAlways
PhonePhoneAlways
Mobile PhoneMobilePhoneAlways
Account NameAccountIdAlways
Mailing CityMailingCityAlways
Mailing State/ProvinceMailingStateAlways
Mailing CountryMailingCountryAlways
Contact OwnerOwnerIdAlways
Email Opt OutHasOptedOutOfEmailContact push
Do Not CallDoNotCallContact push

Account

Salesforce fieldAPI nameNeeded for
Account NameNameAlways
WebsiteWebsiteAlways
IndustryIndustryAlways
EmployeesNumberOfEmployeesAlways
Billing CityBillingCityAlways
Billing State/ProvinceBillingStateAlways
Billing CountryBillingCountryAlways
Account OwnerOwnerIdAlways

Custom fields you map in the Fields tab need the same field-level access. graph8 does not list them in the banner because it cannot tell a hidden custom field from one that does not exist in your org.

Grant the permissions with a permission set

  1. In Salesforce, open Setup and search for Permission Sets in the Quick Find box
  2. Click New, name it (for example graph8 Integration), leave License as None, and click Save
  3. Under Apps, click Object Settings, then open Leads
  4. Click Edit. Under Object Permissions, tick Read, Create and Edit. Under Field Permissions, tick Read Access and Edit Access for every field in the Lead table above, then click Save
  5. Repeat step 4 for Contacts, Accounts, Campaigns, Campaign Members and, if activity sync is on, Tasks and Events
  6. Back on the permission set, click Manage Assignments → Add Assignment, select the integration user, and click Assign
  7. In graph8, go to Settings → Integrations, click the gear icon on the Salesforce card, and click Re-check in the banner. The banner disappears once every field is accessible

Download the permission set

A ready-made permission set file that grants exactly these permissions is coming soon; until then, follow the steps above.