
Last updated: May 26, 2026
The Tofu + Salesforce integration connects Tofu, an AI-native B2B marketing platform, directly to your Salesforce CRM instance to create a closed-loop system for generating, delivering, and measuring personalized marketing content at scale. This integration enables marketing teams to pull account, contact, opportunity, and campaign data from Salesforce into Tofu's AI content engine, generate fully personalized campaign assets for every target account, and push finished content plus engagement data back into Salesforce where it can be tracked, attributed, and acted upon by sales. If your organization runs Salesforce as its system of record and struggles to produce enough personalized content for ABM programs, multi-touch campaigns, or deal acceleration workflows, this integration eliminates the manual content creation bottleneck that prevents teams from scaling beyond a few dozen target accounts. This guide walks through every detail a marketing ops professional needs: how data flows between the two platforms, how to set up and configure the integration, the specific use cases it unlocks, what syncs and what does not, how Tofu fits alongside Pardot and Marketing Cloud, and answers to the most frequently asked technical questions.
At its core, the Tofu + Salesforce integration creates a bidirectional data bridge between your CRM and Tofu's AI content generation engine. Salesforce serves as the source of truth for your account hierarchy, contact records, opportunity pipeline, campaign membership, and custom objects. Tofu reads that data to understand each target account's industry, size, technology stack, deal stage, and buyer personas, then uses that context to generate personalized campaign content. Finished assets and engagement data flow back into Salesforce where they attach to the appropriate records for sales visibility, lead scoring, and campaign attribution.
The integration connects through Salesforce's Connected App framework using OAuth 2.0 authentication. Your Salesforce administrator creates or approves a Connected App, grants Tofu the required API permissions, and the platforms maintain a persistent, token-refreshing connection. No third-party middleware such as Zapier, Workato, or MuleSoft is required for the core integration, although those tools can complement it for highly customized workflows involving non-standard objects or external data warehouses. The native connection handles authentication, token refresh, rate limiting, and Salesforce API versioning automatically.
In practical terms, here is how the integration works end to end. Your marketing team creates a campaign brief in Tofu that specifies the campaign theme, target personas, value propositions, messaging angles, and asset types needed. Tofu pulls the relevant account and contact data from Salesforce, enriching each record's profile with industry context, opportunity stage, engagement history, and any custom field data you have mapped. The AI engine then generates complete, production-ready assets: landing pages tailored to each target account's specific situation, email sequences that reference the prospect's deal stage and pain points, one-pagers that speak to the buyer's role and industry, and ad copy variations optimized for each segment. Those assets can then be delivered as links on Salesforce records, pushed to connected marketing automation tools, or hosted on Tofu-managed microsites with tracking that writes engagement data back to Salesforce.
The net result is that your Salesforce instance becomes both the data source that fuels content personalization and the system that receives engagement intelligence back, creating a feedback loop where every content interaction is visible to sales reps on the records they already work in daily.
Understanding the data flow is essential for marketing ops and Salesforce administrators who need to manage permissions, ensure data integrity, and maintain compliance. The integration moves data in two clear directions, with defined boundaries around what Tofu reads from Salesforce versus what it writes back.
| Direction | Data Type | What Gets Transferred | How It Is Used |
|---|---|---|---|
| Salesforce → Tofu | Account Records | Account name, industry, employee count, annual revenue, billing address, website, description, account owner, custom fields | Account-level personalization of landing pages, emails, one-pagers, and ad copy |
| Salesforce → Tofu | Contact Records | Name, title, department, email, phone, lead source, account association, contact owner | Persona-level content targeting and role-specific messaging |
| Salesforce → Tofu | Opportunity Records | Opportunity name, stage, amount, close date, probability, associated account, associated contacts, product line items | Deal-stage-specific collateral generation and sales enablement content |
| Salesforce → Tofu | Campaign Members | Campaign membership, member status, response date, associated lead or contact | Determines which accounts receive which campaign content and tracks multi-touch journeys |
| Salesforce → Tofu | Lead Records | Lead name, company, title, lead source, lead status, lead score, custom fields | Pre-conversion personalization for leads not yet associated with accounts |
| Salesforce → Tofu | Custom Objects | Configurable per org: product usage data, support tickets, partner records, or any custom object with account lookup | Deep personalization using proprietary data unique to your business |
| Tofu → Salesforce | Content Asset Links | URLs for personalized landing pages, one-pagers, microsites, and PDF collateral | Written to custom fields on Account, Contact, or Opportunity records for sales access |
| Tofu → Salesforce | Engagement Events | Content views, page visits, asset downloads, time on page, CTA clicks | Logged as Activities on contact/lead records for lead scoring and sales follow-up |
| Tofu → Salesforce | Campaign Attribution | Campaign member status updates, response timestamps, influenced pipeline amounts | Feeds Salesforce campaign influence reports and ROI dashboards |
| Tofu → Salesforce | Task Creation | Follow-up tasks assigned to account or opportunity owners when content is engaged | Alerts sales reps to strike while engagement is fresh |
Data syncs operate on a near-real-time basis for most record types. Salesforce Streaming API and Platform Events enable Tofu to listen for changes to account, contact, and opportunity records as they happen, with most updates reflected in Tofu within two to five minutes. Bulk syncs for initial data loads or large-scale list imports use the Salesforce Bulk API 2.0 and typically complete within 15 to 45 minutes depending on org size. Engagement data flows from Tofu back to Salesforce as activities are recorded, with a typical latency of under one minute for individual events and batched writes every five minutes for high-volume campaigns.
Setting up the Tofu + Salesforce integration requires Salesforce System Administrator permissions (or a user profile with Manage Connected Apps and API Enabled permissions) and a Tofu account with the integration tier. The full setup process takes 30 to 60 minutes depending on your Salesforce org's complexity, the number of custom objects you want to sync, and whether you need to create custom fields for Tofu data writeback. Below is the complete step-by-step process.
Begin in your Tofu workspace by navigating to Settings → Integrations → Salesforce. Click Connect Salesforce to initiate the OAuth 2.0 flow. You will be redirected to the Salesforce login page where you should authenticate with an account that has System Administrator privileges. If your org uses My Domain (which most production orgs do), the login URL will automatically resolve to your custom domain.
Tofu supports both production and sandbox Salesforce orgs. If you want to test the integration in a sandbox first, select the Sandbox toggle before initiating the OAuth flow. Sandbox connections use the test.salesforce.com login endpoint. Most teams test in a full or partial copy sandbox before connecting their production org, which is the recommended approach for organizations with complex Salesforce configurations.
During the OAuth authorization, Salesforce will display the permissions Tofu is requesting through the Connected App configuration. These include:
Tofu does not request or receive access to modify your Salesforce org configuration, automation rules (Flows, Process Builder, Apex triggers), permission sets, or user records. The integration operates strictly at the data level: it reads records for personalization context and writes back content links, engagement activities, and campaign attribution data. Your Salesforce admin retains full control over which fields and objects are accessible through standard Salesforce field-level security and object permissions.
After authentication, Tofu initiates an initial data sync. The platform uses Salesforce Bulk API 2.0 for this first load to minimize API call consumption and avoid hitting rate limits. The sync pulls your Account, Contact, Lead, and Opportunity records along with their associated Campaign Member records. Depending on your org size, this takes anywhere from a few minutes for smaller orgs (under 10,000 accounts) to 45 minutes for enterprise orgs with hundreds of thousands of records.
During setup, you configure field mappings that tell Tofu which Salesforce fields to pull for personalization. The platform provides a default mapping for standard fields:
Custom field mapping is where the integration becomes especially powerful. If your Salesforce org includes custom fields such as a Technology Stack picklist, an ICP Tier score, a Product Interest multi-select, or data from enrichment tools like ZoomInfo or Clearbit, you can map those fields in the Field Mapping configuration screen. These mapped fields then become available as personalization variables in Tofu campaign briefs. This means the data enrichment, scoring, and segmentation work you have already done in Salesforce directly informs the AI-generated content without any additional manual effort.
Campaign triggers define when Tofu should automatically generate or update content based on changes happening in Salesforce. This is where the integration shifts from a passive data sync into an active content automation engine. Navigate to Campaigns → Triggers in your Tofu workspace to set these up.
The most common Salesforce-based triggers include:
Each trigger is configured with a campaign brief template (the instructions Tofu's AI uses to generate content), the asset types to produce, and the delivery destinations in Salesforce. Triggers support two modes: fully automated, where content is generated and delivered without human review, and semi-automated, where generated content is queued for approval before being pushed to Salesforce. Most organizations begin with the semi-automated mode for the first two to four weeks, then transition to fully automated once the team is confident in the content quality. Triggers also support conditions and filters, so you can limit a trigger to specific record types, account tiers, or opportunity amounts to avoid generating content for every minor pipeline change.
Content delivery configuration determines how Tofu-generated assets appear inside Salesforce and how they are accessible to your sales and marketing teams. There are several delivery methods, and you can use different methods for different asset types:
Asset naming follows a configurable convention. The default format is [Campaign Name] - [Account Name] - [Asset Type] - [Date], which you can customize in the delivery settings. For organizations managing hundreds of generated assets across multiple campaigns, consistent naming is critical for searchability and organization within Salesforce reports and list views.
The following use cases represent the highest-impact workflows that the Tofu + Salesforce integration enables. Each describes a specific scenario, the Salesforce trigger, the content generated, and the business outcome.
When an opportunity moves from one stage to the next, the type of content a buyer needs changes fundamentally. Early-stage opportunities need educational content that establishes the problem space. Mid-stage opportunities need solution comparisons, technical validation, and social proof. Late-stage opportunities need business cases, ROI projections, and procurement-ready documentation. The Tofu + Salesforce integration triggers content generation automatically at each stage transition. When an opportunity moves to "Evaluation," Tofu generates a personalized competitive comparison that references the prospect's industry, company size, and known tech stack. When it moves to "Negotiation," Tofu produces a customized ROI calculator and business case document. Sales reps find the new collateral as a link on the Opportunity record within minutes of the stage change, eliminating the typical two-to-five-day lag of requesting custom content from marketing.
For ABM programs targeting named accounts, generic landing pages underperform compared to pages that reference the prospect's company, industry, and specific challenges. The Tofu + Salesforce integration enables marketing teams to generate account-specific landing pages at scale by pulling Account record data (industry, size, description, technology stack) from Salesforce and using it to personalize every element of the page, from the headline and hero copy to the case studies featured and the CTA language. When a new account is added to a target Campaign in Salesforce, Tofu automatically generates a personalized landing page and writes the URL back to a custom field on the Account record. Sales reps can share that URL directly with prospects, and marketing can use it in outbound email campaigns. Engagement data from page visits flows back to Salesforce as Activities, giving the account team real-time visibility into prospect interest.
Email sequences that reference a prospect's specific deal context perform significantly better than generic nurture emails. The Tofu + Salesforce integration allows marketing teams to generate personalized email sequence content triggered by opportunity creation or stage changes. When a new opportunity is created for a target account, Tofu generates a multi-touch email sequence with subject lines, body copy, and CTAs personalized to the contact's role, the account's industry, and the opportunity's product interest. The generated email content can be pushed to Pardot or Marketing Cloud for automated sending, or delivered as templates that sales reps send through Salesforce's native email functionality or sales engagement tools like Outreach or Salesloft. Each email in the sequence references the previous touchpoint, creating a coherent narrative rather than a collection of disconnected messages.
One of the most valuable aspects of the Salesforce integration is the ability to track Tofu-generated content performance within Salesforce's native campaign attribution framework. When Tofu generates and delivers content for a campaign, it creates or updates Campaign Member records to track who received what content. As prospects engage with personalized assets, Tofu updates Campaign Member Status to reflect engagement milestones such as "Content Delivered," "Content Viewed," "CTA Clicked," and "Asset Downloaded." These status changes feed directly into Salesforce Campaign Influence reports, allowing marketing leadership to measure which Tofu-generated content contributed to pipeline creation and closed revenue. This closed-loop attribution eliminates the black box problem that many teams face when trying to measure the ROI of personalized content programs.
Transparency about data sync boundaries matters for security reviews, compliance audits, and setting accurate expectations. Here is an honest accounting of what the integration handles and what falls outside its scope.
What syncs from Salesforce to Tofu:
What syncs from Tofu to Salesforce:
What does not sync:
On the technical side, the integration respects Salesforce API limits. Tofu monitors your org's daily API call allocation and throttles sync frequency if consumption approaches 80 percent of the limit. For Enterprise Edition orgs, the default API limit is typically more than sufficient. For Professional Edition orgs with lower API limits, Tofu can be configured to use scheduled batch syncs instead of real-time streaming to conserve API calls. The integration also respects Salesforce field-level security: if a field is not visible to the connected user's profile, Tofu will not be able to read or write to that field, regardless of the integration configuration.
Many Salesforce customers also use Salesforce's own marketing automation tools: Pardot (now called Marketing Cloud Account Engagement) for B2B marketing automation, or Marketing Cloud (formerly ExactTarget) for enterprise-scale multi-channel marketing. A natural question is how Tofu fits alongside these tools rather than replacing them.
The short answer is that Tofu is a content generation engine, not a marketing automation platform. Pardot and Marketing Cloud are execution engines: they send emails, manage nurture tracks, score leads, and orchestrate multi-step campaigns. Tofu generates the personalized content that those platforms deliver. In practice, this means Tofu and Pardot or Marketing Cloud are complementary, not competitive. Tofu generates the emails, and Pardot sends them. Tofu creates the landing page content, and Marketing Cloud hosts or delivers it. Tofu produces the one-pagers, and Pardot's automation rules determine when and to whom those one-pagers are distributed.
Here is how a typical Salesforce + Tofu + Pardot workflow looks in practice:
For Marketing Cloud customers specifically, Tofu integrates through Salesforce's Marketing Cloud Connect, which bridges CRM data with the marketing execution layer. Tofu-generated content blocks can be pushed to Marketing Cloud Content Builder as reusable content areas, then assembled into Marketing Cloud emails and landing pages using the platform's native drag-and-drop tools. This approach preserves Marketing Cloud's sophisticated sending infrastructure, deliverability management, and compliance features while dramatically accelerating the content creation step that typically bottlenecks campaign launch timelines.
The key distinction is this: Pardot and Marketing Cloud answer the question "when, how, and to whom should we send this content." Tofu answers the question "what should the content say for each specific account and buyer." Teams that use both tools together report that their campaign launch time drops from weeks to days because the content creation step, which is typically the longest phase in any campaign workflow, is reduced from a manual process to an AI-assisted one that produces dozens or hundreds of personalized variations from a single brief.
Yes, the integration works with Salesforce Professional Edition, Enterprise Edition, Unlimited Edition, and Performance Edition. However, Professional Edition has lower API call limits and does not include some features like Platform Events for real-time streaming. For Professional Edition orgs, Tofu automatically falls back to scheduled polling-based syncs instead of real-time event-driven syncs. The functional outcome is the same, but data latency may be five to fifteen minutes longer on Professional Edition compared to Enterprise or Unlimited Edition. Custom object syncing also requires the API add-on for Professional Edition orgs that do not already have it enabled.
Tofu reads and respects Salesforce Record Types for Accounts, Contacts, Leads, and Opportunities. During field mapping configuration, you can create different mapping profiles for different record types, which means content personalization logic can vary based on whether an Account is a "Customer," "Prospect," or "Partner" record type. For multiple opportunity pipelines, Tofu allows you to configure triggers per pipeline, so you can set different content generation rules for your new business pipeline versus your renewal or expansion pipeline. Stage-based triggers reference the specific pipeline's stage values.
If an Account, Contact, or Opportunity record is deleted in Salesforce, the associated content generated by Tofu remains hosted and accessible at its original URL. However, the custom field links on the deleted record are no longer accessible since the record itself is gone. If the record is restored from the Recycle Bin within 15 days, the field values including Tofu content links are restored. Tofu does not automatically delete generated content when the source record is removed, which means previously shared content links continue to work even if the Salesforce record is cleaned up. This is intentional to avoid breaking links that may have been shared externally with prospects.
Yes. Tofu supports syncing data from Salesforce custom objects as long as the object has a lookup or master-detail relationship to the Account, Contact, Lead, or Opportunity object. During configuration, your Salesforce admin maps the custom object and selects which fields to include. Common examples include product usage objects, support ticket summaries, partner records, or industry-specific data models. Custom object data is available as personalization variables in Tofu campaign briefs, so you can generate content that references a prospect's product usage patterns, open support issues, or partner relationships. The integration supports up to 10 custom objects per Tofu workspace.
Yes, API calls made by the Tofu integration count against your Salesforce org's daily API limit. However, the integration is designed to minimize API consumption through several strategies: bulk operations use the Salesforce Bulk API 2.0 (which consumes far fewer API calls than individual record operations), real-time sync uses the Streaming API (which has its own separate limit), and read operations are batched and cached to avoid redundant calls. For reference, a typical mid-market deployment with 5,000 target accounts syncing in near-real-time consumes approximately 2,000 to 5,000 API calls per day, well within the standard Enterprise Edition allocation of 100,000 calls per 24-hour period. Tofu's integration dashboard shows real-time API consumption metrics so your admin can monitor usage.
Tofu processes Salesforce data under a strict security model. All data in transit is encrypted using TLS 1.2 or higher. Data at rest within Tofu's platform is encrypted using AES-256. Tofu is SOC 2 Type II compliant. The platform respects Salesforce field-level security, meaning if a field is restricted in the connected user's profile, Tofu cannot access it. For organizations subject to GDPR, Tofu acts as a data processor and provides a Data Processing Agreement upon request. Salesforce Shield encrypted fields are supported but require explicit configuration to allow Tofu to read decrypted values. Tofu does not store Salesforce credentials; it uses OAuth tokens that can be revoked at any time from either the Tofu or Salesforce side, immediately terminating the integration's data access.
Currently, each Tofu workspace supports one Salesforce production org connection. If your organization uses multiple Salesforce orgs (for example, separate orgs for different business units or regions), you would need a separate Tofu workspace for each org. However, sandbox connections do not count toward this limit, so you can have a production org and one or more sandbox orgs connected simultaneously for testing purposes. Multi-org support within a single workspace is on the product roadmap for organizations with complex multi-org Salesforce architectures.
Book a personalized demo to see how Tofu connects with your Salesforce org, generates account-specific content from your CRM data, and delivers measurable results with full campaign attribution.
Request a DemoA playbook for 1:1 marketing in the AI era
"I take a broad view of ABM: if you're targeting a specific set of accounts and tailoring engagement based on what you know about them, you're doing it. But most teams are stuck in the old loop: Sales hands Marketing a list, Marketing runs ads, and any response is treated as intent."
"ABM has always been just good marketing. It starts with clarity on your ICP and ends with driving revenue. But the way we get from A to B has changed dramatically."
.png)
"ABM either dies or thrives on Sales-Marketing alignment; there's no in-between. When Marketing runs plays on specific accounts or contacts and Sales isn't doing complementary outreach, the whole thing falls short."
"In our research at 6sense, few marketers view ABM as critical to hitting revenue goals this year. But that's not because ABM doesn't work; it's because most teams haven't implemented it well."
.png)
"To me, ABM isn't a campaign; it's a go-to-market operating model. It starts with cross-functional planning: mapping revenue targets, territories, and board priorities."

"With AI, we can personalize not just by account, but by segment, by buying group, and even by individual. That level of precision just wasn't possible a few years ago."
%201%20(1).png)
This comprehensive guide provides a blueprint for modern ABM execution:
8 interdependent stages that form a data-driven ABM engine: account selection, research, channel selection, content generation, orchestration, and optimization
6 ready-to-launch plays for every funnel stage, from competitive displacement to customer expansion
Modern metrics that matter now: engagement velocity, signal relevance, and sales activation rates
Real-world case studies from Snowflake, Unanet, LiveRamp, and more
Sign up now to receive your copy the moment it's released and transform your ABM strategy with AI-powered personalization at scale.
Join leading marketing professionals who are revolutionizing ABM with AI