The CRM Analytics Integration User & Data Language

Meet the Analytics Integration User: how it reads Salesforce data into datasets, why custom objects need explicit access, and how its locale sets the language of data values.

The Integration User & Data Language

CRM Analytics needs a way to reach into your core Salesforce data and copy it into datasets. It does this through a special, system-created account called the Analytics Integration User. You will rarely interact with it directly, but understanding what it does — and its two big gotchas — will save you hours of confused debugging.

What the Integration User does

When you sync or replicate Salesforce objects into CRM Analytics, the platform does not use your login to read the data. Instead it authenticates as the Integration User and reads the objects and fields on your behalf, pulling records into the staging layer and ultimately into datasets.

Because this user is the engine behind every data sync, one rule is non-negotiable:

Do not delete or deactivate the Analytics Integration User. It is created for you automatically, and CRM Analytics data sync depends on it. Removing or disabling it breaks ingestion across the whole org.

Standard fields work; custom fields do not — automatically

By default, the Integration User is provisioned with access to most standard Salesforce objects and fields. Sync an Account, an Opportunity, or a Case out of the box and it generally just works.

The trap is custom objects and custom fields. The Integration User does not automatically have read access to your custom schema. If you try to sync a custom object — or pull a custom field on a standard object — without granting that access first, the sync will warn or fail, and the field will silently come across empty.

Whenever you add a custom object or custom field to a data sync, remember to grant the Integration User read access to it (via its permission set or profile). A large share of "why is my field blank?" issues trace straight back to this.

Locale sets the language of your data values

Here is a subtle behavior that surprises even experienced admins. The Integration User has a locale setting, and that locale controls the language of the data values that get brought into your datasets.

To make the distinction concrete, CRM Analytics has two separate "languages" in play:

Labels & headers

Field labels, column headers, and UI chrome follow the running user and the company/org language settings.

Data values

The actual picklist and field values inside the data — like Opportunity Stage names — follow the Integration User's locale.

So if the Integration User's locale is set to, say, French, the stage values flowing into your dataset (the contents of records, not the column names) can come in translated to French — even while your dashboard labels appear in English because you are the running user. When picklist values show up in an unexpected language, the Integration User's locale is the first place to look.

Remember the split: the running user and company drive labels and headers; the Integration User's locale drives the language of the data values themselves. Set the Integration User's locale deliberately to match how you want your data to read.

Why this matters

The Integration User is the quiet workhorse of CRM Analytics. Treat it well — keep it active, grant it access to every custom object and field you sync, and set its locale intentionally — and your data will land clean and complete. Neglect any of those and you will chase blank columns and mysteriously translated picklists.

Next we meet the other special account CRM Analytics relies on: the Security User, which powers row-level security.

Discussion

No comments yet — be the first to start the discussion.