How to integrate Outreach with Tofu

~15 min read Last updated April 22, 2026

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.

  1. Create/edit Permission Set
    1. Click SetupPermission Sets.
    2. Click New or select an existing permission set.
    3. Name your permission set (e.g., “Tofu Integration Access”).
  2. Enable Uninstalled App Permission
    1. In the permission set, click System Permissions.
    2. Click Edit.
    3. Search for and select Approve Uninstalled Connected Apps.
    4. Click Save.
  3. Assign Permission Set
    1. Click Manage Assignments.
    2. Click Add Assignments.
    3. Select at least 1 user who needs Salesforce integration access.
    4. Click Assign.
Note Once Tofu is integrated with Salesforce, the Permission Set created above can be removed without impact to the integration connection.

The user assigned for the integration will also need the following permissions:

  1. Connect with Tofu through OAuth
    1. The user must have permission to authorize and integrate with OAuth-connected apps.
  2. View Lists and Reports
    1. Tofu can import lists or reports directly from Salesforce. This requires read access to both lists and reports.
  3. Read and Edit Access on Account, Contact, and Lead Objects
    1. Tofu retrieves data from these objects and may update them during exports. Read and edit permissions are required.
  4. Read and Edit Access on Custom Fields
    1. 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.
  5. View Setup and Configuration
    1. This permission enables Tofu to access the Salesforce Describe API, which provides metadata about objects and fields.
  6. Access to Required Fields for List and Report Imports
    1. 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.
  7. (Optional) Create Custom Fields
    1. Tofu can automatically create the custom fields it needs within Salesforce. If you prefer to create them manually, this permission is not required.
    2. 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

Connect Salesforce integration screen

Click “Connect” on the top right

Connect button on top right

Choose “Salesforce Production Account” and log in

Choose Salesforce Production Account

Once connected, you should see the screen below

Salesforce successfully connected

Troubleshooting

If you see an error like

the Salesforce admin will need to install the Tofu connected app following the steps below

  1. In Setup → Connected Apps OAuth Usage, search for “Tofu”
    1. If it shows an Install button, the app is currently uninstalled → it must be installed.
  2. Click Install, review details, confirm install.
  3. Then configure access:
    1. 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

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.

Create fields pop up with field counts

On the next screen, click “Create Fields”

Create Fields confirmation screen
Tip If you get an error message, double check if the fields were created in Salesforce. If not, let the Tofu team know.

Alternatively, you can also manually create fields for Tofu. Here is a list of fields needed for the integration.

Map Salesforce with Outreach

Once the custom fields for Tofu have been created in Salesforce, take the steps below to map these fields in Outreach.

Outreach field mapping screen

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 Outreach.

Heads up This can be done by the Tofu team if you share a screenshot of the field mappings between Salesforce custom Tofu fields and Outreach fields.

Otherwise, follow the steps below to complete:

  1. Go to Token Management → Mappings → Choose “Outreach” for Platform → Sync Tofu Fields
    Token Management Mappings Outreach Sync Tofu Fields Outreach
  2. Once the fields are sync’d, click Add Mappings for each Object
    Add Mappings for each Object
  3. For each Salesforce object type, add the corresponding custom Tofu field created in Outreach (Outreach column) to the custom Tofu field created in Salesforce (Salesforce Custom Field column).
Field mapping table between Outreach and Salesforce

Token Management

This is a step-by-step guide to using Tofu’s Token Management system to track and recycle personalization tokens across your email campaigns. This makes it easier to manage tokens for you or your ops team.

Video walkthrough here

Since you are using Salesforce, you likely have a limited number of custom fields available for Tofu personalization tokens. Token Management gives you visibility into which tokens are in use and which are ready to recycle, so you can avoid conflicts across campaigns and teams.

Bootstrap Tokens

For Salesforce, we often work with customers to create tokens in advance, during the onboarding process.

Reminder After the tokens are created, please don’t forget to sync them on the Token Management page.
Bootstrap tokens sync on Token Management page

Access the Token Management interface

Navigate to the Token Management section in Tofu. This central hub shows all tokens created for Tofu personalization across your organization.

You’ll see two main views: In use tokens (organized by campaign) and All tokens (a full table view of all tokens).

Token Management interface two main views

Manage active campaigns and free up tokens

The In Use Tokens page is where you track active usage and recycle tokens once a campaign is complete. This is one of the most important workflows for maintaining clean token operations.

In Use Tokens view grouped by campaign

In this view:

Once a campaign has finished sending:

  1. Locate the campaign in the In Use Tokens view
  2. Click the option to mark tokens as available
  3. A confirmation modal will appear:
    “Once marked as available, tokens will be ready for use in another campaign. The email and campaign associations will be saved in history.”
  4. Select Yes, mark as available

The tokens will now move to an Available status and can be reused in future campaigns.

Note You will not lose visibility into where tokens were used. All campaign and email associations are saved in token history. If needed, you can also archive tokens from this interface. Archiving in Tofu does not delete the field from Salesforce.

View all tokens, check history, and archive unused tokens

The All Tokens table gives you a comprehensive view of your personalization field inventory. This is where you can audit usage, confirm availability, and manage long-term token hygiene.

All Tokens comprehensive table view

In this view, you can:

Before reusing a token, you can review its history:

This allows your team to confidently reuse tokens while maintaining visibility into past usage.

Monitor token status during campaign creation

When you’re setting up personalization in a campaign, Tofu will show you which tokens are ready to use and which are currently in use.

Token status appears as:

If you select more personalization components than you have available tokens, a warning banner will appear in the personalization setup to alert you. This prevents you from accidentally creating conflicts or running out of tokens mid-campaign.

All set And that’s it! You now have full visibility into your token usage and can confidently recycle tokens across campaigns.