Integrate with Salesforce
Permissions
In order to integrate Salesforce with Tofu, the user that will be authorizing the integration MUST have the following permission set. This can be created or edited by a Salesforce admin.
- Create/edit Permission Set
- Click Setup → Permission Sets.
- Click New or select an existing permission set.
- Name your permission set (e.g., “Tofu Integration Access”).
- Enable Uninstalled App Permission
- In the permission set, click System Permissions.
- Click Edit.
- Search for and select Approve Uninstalled Connected Apps.
- Click Save.
- Assign Permission Set
- Click Manage Assignments.
- Click Add Assignments.
- Select at least 1 user who needs Salesforce integration access.
- Click Assign.
The user assigned for the integration will also need the following permissions:
- Connect with Tofu through OAuth
- The user must have permission to authorize and integrate with OAuth-connected apps.
- View Lists and Reports
- Tofu can import lists or reports directly from Salesforce. This requires read access to both lists and reports.
- Read and Edit Access on Account, Contact, and Lead Objects
- Tofu retrieves data from these objects and may update them during exports. Read and edit permissions are required.
- Read and Edit Access on Custom Fields
- Tofu writes exported data into custom fields created for Tofu such as “tofu_body_1”, “tofu_body_2”, etc. The user must have read and edit access to these fields.
- View Setup and Configuration
- This permission enables Tofu to access the Salesforce Describe API, which provides metadata about objects and fields.
- Access to Required Fields for List and Report Imports
- To import a list or report from Salesforce into Tofu, the integration user must have access to all fields used in the report filters, as well as all fields being imported into Tofu.
- (Optional) Create Custom Fields
- Tofu can automatically create the custom fields it needs within Salesforce. If you prefer to create them manually, this permission is not required.
- If you do choose to manually create fields for Tofu, here is a list of fields we need.
Connect Tofu with Salesforce
Once all of the above is completed, go to the org settings within Tofu (this link here) and follow the steps below to login to your Salesforce and complete the integration:
Click “Connect” to the right of Salesforce

Click “Connect” on the top right

Choose “Salesforce Production Account” and log in

Once connected, you should see the screen below

Troubleshooting
If you see an error like
- “app must be installed into org” or
- “OAUTH_APP_BLOCKED” or
- “OAUTH_APPROVAL_ERROR_GENERIC”,
the Salesforce admin will need to install the Tofu connected app following the steps below
- In Setup → Connected Apps OAuth Usage, search for “Tofu”
- If it shows an Install button, the app is currently uninstalled → it must be installed.
- Click Install, review details, confirm install.
- Then configure access:
- go to Setup → Manage Connected Apps → Tofu → Edit → OAuth Policies → Permitted Users, choose All users may self-authorize
Create custom fields for Tofu in Salesforce
Tofu can automatically create the Salesforce custom fields it needs. To do this, follow the steps below:
Go to Token Management → Mappings → Create Fields

The pop up (see below) will provide you with the number of fields needed on the account, lead, and contact objects for the email body, email subject, and URL for landing pages. You can add more if you’d like to start with more than the default. Click “next” to proceed.

On the next screen, click “Create Fields”

Alternatively, you can also manually create fields for Tofu. Here is a list of fields needed for the integration.
Map Salesforce with Salesloft
Once the custom fields for Tofu have been created in Salesforce, take the steps below to map these fields in Salesloft.
- In Salesloft go to Settings → Data → Object and Field Configuration → Field mapping,
- click “Create custom field” in the “Set field mapping” section,
- then map Tofu fields into custom fields in Salesloft.
- We recommend starting with tofu_content_1 and matching the numbers to the connected Salesforce field.
- Direction will be: Salesloft ← CRM


- You will need to do the same thing for “Contact” and “Lead” if are planning to run campaigns at those levels.
Complete mapping in Tofu
Once steps 1 and 2 have been completed, we need to finish the integration set-up by going into Tofu to mirror the mapping that was done between Salesforce and Salesloft.
Otherwise, follow the steps below to complete:
- Go to Token Management → Mappings → Choose “Salesloft” for Platform → Sync Tofu Fields
- Once the fields are sync’d, click Add Mappings for each Object

- For each Salesforce object type, add the corresponding custom Tofu field created in Salesloft (Salesloft column) to the custom Tofu field created in Salesforce (Salesforce Custom Field column).
