This page provides detailed information about integrating AI Email (AIE) with Salesforce.
For step-by-step instructions refer to Integrate AI Email with Salesforce. Also refer to the Salesforce user permissions documentation.
Salesforce requirements
Salesforce API
AIE uses the Salesforce Reports REST API.
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 AIE.
| Salesforce Permissions | Permission Type | Description | 
|---|---|---|
| API Enabled or API Only User | System | Enables API access for AIE. | 
| Run Reports | System | AIE 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 AI Email - Salesforce Object Integration Permissions. | 
| Opportunities object: 
 | Object | Highly recommended for SFDC report enrollment. Refer to AI Email - Salesforce Object Integration Permissions. | 
| Campaign Member object: 
 | Object | Highly recommended for SFDC report enrollment. Refer to AI Email - 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 AIE 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. | 
AIE packages to install in Salesforce
There are two ways to get the AIE 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 AIE customers and existing customers who have not yet completed Salesforce setup receive a consolidated Managed Package v2. The AIE package, 6sense 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. 
 
AIE packages for a Salesforce sandbox
Optionally, if you want to install the AIE 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.
AIE Data synced to Salesforce
The following data is synced from AIE 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 AIE will use, we suggest using the baseline of approximately 1KB per email. (AIE 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
Change log: The permissions requirements for Salesforce objects used in AIE changed in May 2025. Refer to AI Email - Salesforce Object Integration Permissions.
You can auto-enroll or enroll leads directly from Salesforce reports into AIE. If auto import is enabled, leads meeting your specified rules are automatically imported into AIE.
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 AIE to SFDC integration uses SFDC reports to assign leads and contacts to a campaign. AIE periodically checks the report for new contacts to enroll in the campaign.
When there are new contacts, AIE 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, AIE 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, AIE makes at least 2 API requests to fetch the details and update the status. AIE 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 AIE, 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, AIE 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 AIE. However, Salesforce restricts users from being connected to more than 5 applications simultaneously. If you intend to have multiple AI email agent, please confirm that the number of AI email agents + 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?
AIE 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 AIE to SFDC integration uses Salesforce reports to determine which contacts to enroll in a AIE 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?
AIE needs write access to the six fields created with the packages.
In addition, if the lead_owner_email field in AIE is mapped to a field in SFDC, and the Contact Owner is blank when a contact is qualified, AIE will try to update it to the Sales Rep cc-ed in the qualified email.
Finally, when mapping a field for Do Not Contact, AIE will update that field if a contact replies with Do Not Contact intent.
Does the 6sense AI Email managed package work with SFDC Classic? Will it work as expected if we switch between SFDC Classic and Lightning?
Yes. The 6sense AI Email managed package is fully compatible with Salesforce Classic and will continue to work as expected if you switch between Salesforce Classic and Lightning Experience.
Can I integrate a different CRM with 6sense AI Email or does it have to be the same CRM across the 6sense Platform and 6sense AI Email?
You need to use the same CRM across the entire 6sense Platform and 6sense AI Email.
Page change log
Aug 2025: Product name change “Conversational Email” to “AI Email”.
May 23 2025: New instructions for Salesforce object permissions.
May 6-7 2025: Updates for new packages, new instructions for Salesforce object permissions.