Intent data has a bad reputation with sales teams for a reason: most integrations dump scores onto account records, nobody trusts the numbers, and within a quarter it’s ignored. When we integrated Intentsify and ZoomInfo data into Salesforce for an enterprise hybrid-cloud storage company, the design goal was the opposite — land the data with minimal blast radius, then let the signal layer turn it into action. This engagement’s full context is in the overview.
The starting point: paid for, never activated
The company had purchased the Intentsify–Salesforce connector months earlier. It had never been activated — stalled behind legal review, unclear permission requirements, and memories of past integrations that had gone badly. That’s worth pausing on: the blocker to intent-driven GTM is rarely buying data. It’s that integrations die in the gap between procurement and a Salesforce admin’s queue. The first win of this workstream was simply finishing what was already owned — after the MSA, DPA, and security review cleared, the technical install was measured in days.
Data model: a custom object, not more fields
The integration (Workato-based under the hood, delivered as a Salesforce managed package) follows a pattern we’d now specify for any intent vendor:
- A dedicated custom intent object, related to Account, holding topic, score, trend, and week. All writes go there. Core objects — Account, Lead, Contact, Opportunity — are never written to.
- Domain matching, no record creation. Incoming intent is matched to existing accounts by website domain. If there’s no matching account, nothing is created. This is the single most important anti-noise decision: intent data never manufactures CRM records, so there is nothing to dedupe against your account hierarchy and no phantom leads for routing rules to misfire on.
- Account-level only, no PII. Third-party intent arrives aggregated to the company. Person-level activation happens downstream in the signal layer where identity resolution and consent controls live.
- Weekly refresh, paced. Data refreshes each Monday, spread across the day to stay under Salesforce API limits, complete by Tuesday. Weekly is the honest cadence for topic-level intent — pushing it daily just manufactures false urgency.
Permissions were the part the client scrutinized hardest, because past projects had been burned by vendors requesting broad access. The final grant: one dedicated, clearly named integration user (so its activity is instantly identifiable in audit logs), read-only on the four core objects, full rights only within the vendor’s own custom object, plus the package’s “view all” permission set for the fields it creates. If an intent vendor asks for more than that, ask why.
Deployment: sandbox first, and treat the sandbox as a dependency
The rollout went sandbox → validation → production: install the managed package in sandbox, run a test data push, verify domain-match rates and page layouts, then promote. Unglamorous, and it caught real issues.
It also surfaced the classic enterprise blocker: the sandbox wasn’t synced with production, and two unrelated in-flight projects were camped on it. Sandbox contention delayed this integration more than any technical factor. If you’re planning an intent integration, ask three questions before you commit a date: is there a sandbox, does it mirror production, and who else needs it this quarter?
Page layouts were the last mile — an intent tab added to the account page so a rep opening any account sees its intent history in context, followed by role-specific walkthroughs for sales, BDR, and marketing users. Data nobody can see on the layouts they actually use might as well not exist.
ZoomInfo: right-size before you integrate
ZoomInfo entered this architecture differently. A usage review across its 25–30 licenses showed it was used almost entirely for contact lookup and validation — its intent signals added little for this team’s market. So instead of wiring another intent feed into Salesforce, we scoped ZoomInfo to the job it demonstrably did: enrichment and contact validation feeding list builds, with the license footprint sized to observed usage rather than renewed by default. Vendor enablement sessions came out of the same review, because half the “missing capability” was simply unused capability.
The general rule: audit actual usage (admin portals will tell you) before integrating or renewing any data vendor. Every feed you don’t integrate is dedupe logic, field mapping, and rep attention you don’t spend.
What sales actually uses
Fields and surfaces that earned their keep:
- The account intent tab — trending topics and week-over-week movement, in one place, on the record reps already open.
- Composite segment membership — intent flows from Salesforce into Common Room, where it combines with first-party signals. A rep is alerted on “target account + active competitor topic + pricing-page visit this week,” not on a raw score. Routing rules live there, on composite conditions, and hand contacts into cadences with human approval.
- Campaign audience filters — marketing uses account intent to prioritize syndication and event follow-up rather than blasting entire lists.
What nobody used: standalone score fields and weekly intent report emails. Both were retired.
Attribution closed the loop. The CRM had been keeping only first and last touch, so intermediate intent and syndication touches vanished from reporting. Journey tracking was configured during the integration — our standing rule is that attribution gets designed in with the pipeline, because retrofitting it later means the history you wanted was never captured.
Work with Node8
Node8 designs intent-data architectures that sales trusts — minimal permissions, clean data models, composite routing, and attribution from day one. Get in touch to review your intent stack.