How to build a Salesforce-integrated intent engine that surfaces highest-value accounts in 48 hours

How to build a Salesforce-integrated intent engine that surfaces highest-value accounts in 48 hours

I recently built a lean intent engine that integrated directly with Salesforce and began surfacing my highest-value accounts within 48 hours. I want to walk you through the practical, no-nonsense approach I used so you can replicate it quickly—using tools you probably already have or can spin up in a day. This is about delivering impact fast: an MVP that identifies accounts showing buying intent, scores them, and pushes prioritized leads into Salesforce for your reps to act on immediately.

Why build an intent engine, and why 48 hours?

Intent data turns passive prospects into active opportunities. Instead of chasing lists, you engage accounts when they’re already researching solutions. I set a 48-hour target because teams need momentum—sales and marketing should see value fast to continue investing. That constraint forces simplicity: focus on high-signal sources, deterministic rules, and reliable connectors rather than complex models that take weeks to train.

What I considered before starting

Before writing a single line of code I asked three questions:

  • Which intent signals are highest-signal for my product?
  • How will I map intent to accounts in Salesforce reliably?
  • What’s the simplest scoring mechanism that surface highest-value accounts?
  • Answering these kept the scope tight. For most B2B sellers, high-signal intent comes from intent data vendors (Bombora, G2), site behavior (page views, product pages), and technographic triggers (built with tools like BuiltWith or Clearbit). Mapping to accounts usually relies on reverse-IP or email-to-domain heuristics and enrichment APIs. For scoring, start with weighted rules—no ML required for the MVP.

    Architecture overview I used

    The architecture had three layers:

  • Data collection: capture intent signals from third-party APIs and your website.
  • Processing & scoring: normalize events, enrich with firmographic/technographic data, apply a scoring model.
  • Salesforce integration: push account scores and activity into Salesforce as fields, tasks, or custom objects and trigger alerts via Salesforce Flow or Slack.
  • I used lightweight services: Segment to collect website events, a small AWS Lambda to orchestrate API calls, Clearbit for enrichment, and Workato for Salesforce sync. You can swap in Zapier or MuleSoft depending on what your org supports.

    Step-by-step: building the MVP in 48 hours

    Here’s the practical sequence I followed. Adjust based on tools you already have.

  • Hour 0–2: Define signals and schema
  • Decide which signals will count (e.g., Bombora topic surge, G2 buyer intent, multiple product page views, demo request). Define the schema for your intent event: {account_domain, signal_type, signal_value, timestamp} and the account score object in Salesforce (e.g., Account.Intent_Score__c, Account.Latest_Intent_Signal__c, Account.Intent_Last_Seen__c).

  • Hour 2–8: Hook up high-signal sources
  • I started with two quick wins: Bombora and website events.

  • Bombora: use their Company Surge API to pull trending topics for domains. They have straightforward REST endpoints.
  • Website: implement Segment or simple JS that tracks page views and maps visitor domains (via Clearbit Reveal or reverse-IP) into account-level events.
  • If you have G2/TrustRadius data, pull their intent exports. For the fastest route, use vendor webhooks or exports that can be polled from a Lambda or serverless function.

  • Hour 8–16: Enrich and map to Salesforce accounts
  • Enrichment is critical. For any domain or IP I call Clearbit (or ZoomInfo if available) to get firmographic data—company name, industry, revenue band, employee count, Salesforce Account ID (if you maintain a mapping). If a Salesforce Account ID doesn’t exist, the engine can use domain-based matching and create a placeholder account or lead with a special flag.

  • Hour 16–30: Implement a scoring rule engine
  • For speed, I avoided ML. I implemented a weighted rule set in a Lambda function (or a small Python script) that adds points for:

  • Bombora surge on high-value topics +50
  • G2 demo requests or product reviews +70
  • 3+ product page views in 24 hours +30
  • Technographic match (customer uses complementary tech) +20
  • Existing ARR/high-value account multiplier ×1.5
  • Thresholds determine actions: Score ≥100 = high priority, 60–99 = nurture, <60 = monitor.

  • Hour 30–36: Push into Salesforce
  • I created or updated three fields on Account: Intent_Score__c (number), Intent_Category__c (High/Medium/Low), Intent_Details__c (JSON blob of signals). Using Workato (or a direct API call via simple Salesforce client), I upserted accounts and set tasks for sales reps when accounts crossed a high-priority threshold.

  • Hour 36–44: Alerting and routing
  • High intent accounts triggered a Salesforce Flow that creates a Task and optionally posts a message to a Slack channel. I routed accounts to owners using existing account ownership rules; if no owner was present, I created a queue and assigned to an SDR.

  • Hour 44–48: QA, monitoring, and handoff
  • I validated mapping accuracy, checked enrichment rates, and ensured there were no duplicates. I documented how the score is calculated and set up a basic dashboard in Salesforce and a quick Looker Studio (or Chartio) dashboard showing intent trends.

    Tools I recommend (quick comparison)

    PurposeFast optionEnterprise option
    Reverse-IP / EnrichmentClearbit RevealZoomInfo / Dun & Bradstreet
    Intent providerBombora / G26sense / TechTarget
    Event collectionSegmentmParticle / CDP
    OrchestrationAWS Lambda + Python or WorkatoMuleSoft / Boomi
    CRM syncWorkato / ZapierMuleSoft / Salesforce Connect

    Common mapping pitfalls and how I avoided them

    Mapping intent to accounts is the trickiest part. I focused on three mitigations:

  • Domain ambiguity: use fallback heuristics—match subdomains and keyword matching on company name. If confidence < 70% create a lead rather than update an account.
  • Noise from consultants/agencies: filter by industry or employee size; small digital agencies often skew intent signals.
  • Duplicate signals: normalize events by deduping within a sliding 24-hour window to prevent score inflation from repeated calls.
  • What I’d iterate on after the MVP

    Within weeks I layered in improvements: smoothing the score with recency decay, adding a simple ML model to predict conversion probability, integrating email engagement signals, and building a richer UI in Salesforce for reps to view intent histories. But none of those are required to get value in the first 48 hours.

    If you want, I can share the Lambda script and the Workato recipe I used to get this running—drop me a note on B2B News or ping via the contact form on https://www.b2b-news.uk and I’ll make the templates available.


    You should also check the following news:

    Cryptocurrency

    How to launch a tokenized supplier financing program that reduces invoice cycles and wins treasury approval

    05/06/2026

    I remember the first time a supplier asked if we could get paid faster in exchange for a small discount. It sounded like a simple win-win, but the...

    Read more...
    How to launch a tokenized supplier financing program that reduces invoice cycles and wins treasury approval
    Management

    How to get procurement to approve your saas pilot with a 90-day roi playbook cfos can't refuse

    18/05/2026

    I remember the first time I tried to get procurement to sign off on a SaaS pilot: I had a product that could transform a workflow, enthusiastic users...

    Read more...
    How to get procurement to approve your saas pilot with a 90-day roi playbook cfos can't refuse