This page provides detailed information about integrating Salesforce with 6sense . For step-by-step instructions refer to Integrate Email with Salesforce.
Also refer to the Salesforce user permissions documentation.
Salesforce requirements
Salesforce API
CE uses the Salesforce Reports API (REST).
Supported Salesforce editions
Email to Salesforce integration requires a Salesforce edition with API access, either:
Enterprise
Unlimited
Performance
Professional (Requires that you purchase API access as an add-on to this edition.)
Other editions without API access will not support integration, such as the Contact or Group editions.
Salesforce Administrator permissions
The integration requires a Salesforce account that has the Administrator permissions to set up the required fields in Salesforce:
Permissions | Description |
---|---|
Customize Application | To install the package, the Administrator who is installing requires permission to create custom fields on the Lead and Contact objects. These custom fields are required. |
Salesforce user connection permissions
Learn more about how to check your Salesforce user permissions at the Salesforce User Permissions documentation.
The following permissions are required for the user that connects Salesforce to CE.
Salesforce Permissions | Permission Type | Description |
---|---|---|
API Enabled or API Only User | System | Enables API access for CE. |
Run Reports | System | CE uses your SFDC reports to choose which leads to contact. |
View Reports in Public Folders | System | Required to be able to choose a report from which to enroll leads. |
Lead and Contact objects:
| Object |
|
Account object:
| Object |
|
Campaigns object:
| Object | Highly recommended for SFDC report enrollment. Refer to CE-Salesforce Object Integration Permissions. |
Opportunities object:
| Object | Highly recommended for SFDC report enrollment. Refer to CE-Salesforce Object Integration Permissions. |
Campaign Member object:
| Object | Highly recommended for SFDC report enrollment. Refer to CE-Salesforce Object Integration Permissions. |
Lead, contact, and account – mapped fields: Read | Field | Required to pull the values for any mapped fields when importing leads or contacts. |
Lead and contact – owner field: Read and Edit | Field | Required for the lead-owner sync feature. |
Lead and contact – CE custom fields: Read and Edit | Field | Required for the normal operation of the integration. |
Additional Salesforce permissions for extra features
Additionally, the following permissions are required for certain extra features of the integration:
Permissions | Permission Type | Description |
---|---|---|
Task: Read and Edit | Object, Field | Enables CE to create tasks for each email sent to the lead. |
Task fields: Edit | Field | Required fields for task data. |
Lead and contact – DNC synced field: Read and Edit | Field | Required for the DNC sync feature. |
CE packages to install in Salesforce
There are two ways to get the CE packages, one for new customers effective June 10, 2025 and the previous packages are still available.
Important: You must install packages as noted below. Do not attempt to manually create these fields.
Post-June 10, 2025 packages – effective June 10 for new customers
Starting June 10, all new CE customers and existing customers who have not yet completed Salesforce setup receive a consolidated Managed Package v2. The CE package, 6sense Conversational Email, is available in the App Exchange.
This package combines fields from both previous packages into a single package, with updated and standardized naming.
Fields included in Managed Package v2:
Conversational Email Lead Status:
sixsense_ce__status__c
Conversational Email Last Synced Time:
sixsense_ce__last_synced_at__c
Conversational Email Campaign URL:
sixsense_ce__campaign_url__c
Conversational Email Campaign Name:
sixsense_ce__campaign_name__c
Conversational Email Campaign Status:
sixsense_ce__campaign_status__c
Conversational Email Campaign Creator:
sixsense_ce__campaign_creator__c
Pre-June, 10 2025 packages
As part of your CE implementation, you install two Salesforce packages for all users.
You can verify the components on the package installation screen.
Package 1
Package 1 adds two custom fields (status) in your Lead and Contact objects.
Link to Package 1, an .apexp file that includes:
6sense contact status:
sw01_status__c
(restricted picklist)The current status of the conversation (such as example, in progress, import error, not started, qualified, etc.).
6sense last synced time:
sw01_last_synced_at__c
(datetime)The last time that Email information was synced with Salesforce.
Package 2
Package 2 adds four custom fields (campaign) in your Lead and Contact objects.
Link to Package 2, an .apexp file that includes:
6sense campaign name:
sw01_campaign_name__c
(Text – max length 200)The name of the campaign in which the contact is currently enrolled.
6sense campaign status:
sw01_campaign_status__c
(restricted picklist)The status of the campaign (running, ended, paused, canceled, draft, scheduled).
6sense campaign creator:
sw01_campaign_creator_c
(Text – max length 200)The name of the user who created the campaign.
6sense campaign URL:
sw01_campaign_url_c
(URL)A direct link to the campaign in which the contact is enrolled.
CE packages for a Salesforce sandbox
Optionally, if you want to install the CE packages to your Salesforce sandbox instead of your active Salesforce account, follow the same steps as above, but in the Salesforce sandbox. Install the following packages in the Sandbox:
Note: Packages are Lightning Ready.
Email Data synced to Salesforce
The following data is synced from Email to Salesforce:
Campaign Information
6sense campaign name:
sixsense_ce_campaign_name__c
6sense campaign status:
sixsense_ce__campaign_status__c
6sense campaign creator:
sixsense_ce_campaign_creator_c
6sense campaign URL:
sixsense_ce_campaign_url_c
Lead and contact Information
6sense status:
sixsense_ce__status__c
6sense last synced time:
sixsense_ce__last_synced_at__c
Lead and contact email conversations (via Activity tab or Activity History section)
Do Not Contact (DNC)
Task
WhoID
Subject
ActivityDate
Status
Priority
Description
TaskSubtype
Salesforce storage considerations
The bulk of storage usage comes from recording the email activities. The fields added to the lead and contact objects are small (restricted picklist, datetime, or short string).
To get an estimate of the amount of storage CE will use, we suggest using the baseline of approximately 1KB per email. (CE does not include attachments in the sent/received email activities, so these do not require any additional storage.)
Example of a storage estimate
3000 contacts are enrolled into a campaign with 4 emails in the main sequence:
3000 x 4 x 1KB = 12MB of storage in SFDC for the email activities.
Salesforce report requirements
Changelog: The permissions requirements for Salesforce objects used in CE changed in May 2025. Refer to CE-Salesforce Object Integration Permissions.
You can auto-enroll or enroll leads directly from Salesforce reports into CE. If auto import is enabled, leads meeting your specified rules are automatically imported into CE.
Refer to the Salesforce Report documentation.
The Salesforce report should be in a tabular, summary, or matrix type.
The following report types are supported:
Leads
Contacts & Accounts
Campaigns with Leads
Campaigns with Contacts
Leads & Opportunities (Custom Report Type)
Contacts & Opportunities (Custom Report Type)
Note: Salesforce is unable to pull custom data objects (CDOs) onto the report builder for use in the report types above.
API calls to Salesforce
The CE to SFDC Integration uses SFDC reports to assign leads and contacts to a campaign. CE periodically checks the report for new contacts to enroll in the campaign.
When there are new contacts, CE uses SFDC to import the lead, contact, and account objects.
Number and frequency of API calls
For each active campaign with a SFDC report associated, CE makes approx. 200 API calls per day, every 15 minutes, to check the report for new leads or contacts.
For each lead or contact to import, CE makes at least 2 API requests to fetch the details and update the status. CE batches these requests, but in the worst case where contacts are imported one at a time, this results in 2-4 requests per contact enrolled to a campaign.
As contacts are engaged in CE, the system creates task objects for every email sent or received. Each of these are created using an API request.
When a conversation with a contact is completed, CE updates the status of the corresponding lead or contact in SFDC.
Example of API calls
2 SFDC integrated campaigns
500 contacts in each campaign
5 emails in main sequence
2 x 200 x 30 days = 12,000 API requests per month for watching the associated reports
2 x 500 x 4 = 4,000 API requests (worst case) to import and enroll the lead or contact objects
2 x 500 x 5 = 5,000 API requests to create Activities for the sent emails in the main sequence
2 x 500 = 1,000 API requests to update the status of the lead or contact at the conclusion of the conversation
Total: Approx. 22,000 API requests per month
FAQ
How often is the campaign status of leads or contacts updated in SFDC?
When leads get enrolled initially (Scheduled, Running).
When a campaign changes state (Running, Ended, Canceled, Paused).
Is it possible to turn off the sync of emails back to Salesforce if there is concern about storage space?
Yes – it is possible. However please note that this would also disable the writeback of status updates (qualified, not_interested, etc.) as these data points are bundled together. Other fields – such as campaign, DNC, etc. – are not bundled and could still be written back.
If the sync of email activities is disabled, the amount of storage used is minimal.
Is there a way to limit the API calls if we are concerned about the number of API calls this will utilize?
We do not support this today.
Is it possible to turn off the sync of emails back to Salesforce if we are concerned about storage space?
Yes – it is possible. However please note that this would also disable the writeback of status updates (qualified, not_interested, etc.) as these data points are bundled together. Other fields – such as campaign, DNC, etc. – are not bundled and could still be written back.
Can we use the same Salesforce API user for CE as we do for 6sense?
6sense does not require a separate API user for CE. However, Salesforce restricts users from being connected to more than 5 applications simultaneously. If you intend to have multiple AI assistants (“teams”), please confirm that the number of AI assistants + previously connected applications does not exceed 5.
Will this package have unlimited access to our Salesforce org and its data? Can we restrict visibility into specific regions?
CE uses OAuth to authenticate with the SFDC API. Customers can configure the permissions for the API user in order to restrict visibility.
Does authentication need to be OAuth 2.0 or digital certificates for the Salesforce integration?
OAuth 2.0
What fields and objects will be synced with by the SFDC packages?
The CE to SFDC integration uses Salesforce reports to determine which contacts to enroll in a CE Campaign. Both leads and contacts are supported.
The API user used to authenticate with SFDC needs access to run reports and to view at least Id, FirstName and Email fields for lead and contact objects, plus any other fields that you choose to MAP such as LastName, JobTitle, etc. The integration also pulls from related objects such as Account.Name and Owner.Email if they are available. The user needs edit permission for all the fields created by the package for the functioning of the integration.
Detailed information on the permissions required is listed in the Salesforce requirements section above.
What fields need write access?
CE needs write access to the six fields created with the packages.
In addition, if the lead_owner_email field in CE is mapped to a field in SFDC, and the Contact Owner is blank when a contact is qualified, CE will try to update it to the Sales Rep cc-ed in the qualified email.
Finally, when mapping a field for Do Not Contact, CE will update that field if a contact replies with Do Not Contact intent.
Page change log
May 23 2025: New instructions for Salesforce object permissions.
May 6-7 2025: Updates for new packages, new instructions for Salesforce object permissions.