How Real-Time Data Enrichment Works in Salesforce
What enrichment does, how batch and real-time differ, and what to consider when choosing an approach.
Spant Team
Spant
You've got an account record. Maybe it has a company name and an org number. Maybe nothing. Your sales team needs revenue, industry, employee count, address — the kind of data that helps them prioritize and qualify. They could look it up manually. Or you could enrich it automatically.
Data enrichment means pulling verified data from external sources and filling in your CRM records. For account records, that typically means company fundamentals, financials, industry codes, addresses, and status. The goal is to give your team a more complete picture without the manual research.
Batch vs. real-time
There are two main approaches, and the choice depends on your use case.
Batch enrichment runs on a schedule — nightly or weekly. It exports records, matches them against a data source, and imports the results back. The advantages are straightforward: simpler to implement, lower API consumption, and well-suited for large initial loads where you're enriching thousands of records at once. The trade-off is freshness. Data is only as current as your last run. A company could change address, file new financials, or go bankrupt — you won't see it until the next batch. You also need to think about conflict handling: if users edit records between runs, whose data wins?
Real-time enrichment triggers when a record is created or updated. A user adds an org number, the system fetches the data, and the record populates within seconds. The benefit is that data is current when the user needs it — no waiting for the next batch cycle. Users often report better adoption because the value is immediate and visible. The trade-offs: you need async callouts (Salesforce doesn't allow synchronous HTTP from triggers), robust error handling for slow or unavailable APIs, and architecture that doesn't block the UI.
Which approach fits better depends on your priorities. If you're doing a one-time migration of 50,000 accounts, batch is often the practical choice. If your team creates and updates accounts throughout the day and relies on that data for qualification and prioritization, real-time tends to deliver more value. Many organizations use both — batch for bulk backfills, real-time for ongoing updates.
How it works technically in Salesforce
Salesforce doesn't allow HTTP callouts in synchronous trigger context. So real-time enrichment has to run asynchronously. Common patterns include Queueable jobs, Platform Events, or future methods. The trigger or flow detects the change, kicks off the job, and the user gets their page back. The job runs in the background, calls the external API, maps the response to fields, and updates the record.
Field mapping needs to be configurable. Different orgs have different field structures — custom fields for financials, different naming conventions, different objects. A good enrichment tool lets admins define which external fields map to which Salesforce fields, and which to skip.
Conflict resolution is worth thinking through. If a user has manually set a field and enrichment wants to overwrite it, you need rules. For official data (address, status, financials), many teams prefer external data to win — it's from the source. For user-specific data (contact preferences, notes), manual often wins. Some tools flag conflicts for admin review instead of auto-resolving. There's no single right answer; it depends on how your team uses the data.
What data is typically available
For Nordic company data, enrichment often includes: legal name, trading name, org number, registration date, addresses (registered, postal, visiting), NACE codes, revenue, profit, equity, employee count, company status (active, dissolved, bankrupt), parent/subsidiary relationships, and key personnel (board, CEO, signatories).
The exact data depends on the country, company type, and data source. Financials typically come from filed annual accounts. Public companies tend to have more detail; private companies vary. It's worth checking what's actually available for your target markets before you design your field mapping.
Why enrichment matters for CRM
The difference between enriched and non-enriched data often shows up in how teams use the system. When reps open an account and see verified revenue, industry, and employee count, they're more likely to trust and use the CRM. When that data is missing or stale, they may work around it — spreadsheets, manual lookups, or simply ignoring the fields. Downstream processes like lead scoring, territory assignment, and reporting depend on complete records. The quality of those processes tends to reflect the quality of the underlying data.
Written by Spant Team
January 28, 2026