Merge Profiles
Updated
The Fetch and Merge Profiles action node helps your workflows automatically detect and combine duplicate customer profiles created across different channels. By using configurable identifiers—such as social media user ID, mobile number, email address, or custom profile fields—it identifies a matching profile and merges the current workflow profile into it, resulting in a single, unified customer record.
With this unified view, key rules and data, like quarantine settings, opt-out preferences, survey history, and other linked information, are applied consistently at the overall customer level, rather than being managed separately for each channel.
Business Use Cases
Cross-Channel Profile Deduplication: The Fetch and Merge Profiles capability helps identify and combine duplicate customer profiles created across different channels into a single, unified record. It works by matching profiles using shared identifiers, such as email, phone number, or custom fields, and merging them automatically within a workflow. This ensures that all customer data, preferences, and rules are applied consistently at one central profile level, helping avoid duplicate communications and enabling a more seamless, accurate customer experience across channels.
Omnichannel Opt-Out Enforcement: In an omnichannel environment, customers may opt out of communications on one channel but still receive messages on others if their profiles are fragmented. The Fetch and Merge Profiles capability addresses this by identifying and combining duplicate profiles into a single, unified customer record using shared identifiers like email or phone number. Once merged, preferences such as opt-outs are applied at the unified profile level, ensuring that suppression rules are consistently enforced across all channels and preventing any unintended outreach.
CRM Identity Reconciliation: In environments where customers are onboarded through multiple touchpoints, separate profiles can be created for the same individual across different platforms or social networks. The Fetch and Merge Profiles capability helps resolve this by matching profiles using a shared identifier, such as a CRM ID stored in a custom field, and merging them into a single, unified customer record. This ensures that new profiles created through workflows are automatically consolidated into the existing master profile, keeping customer data clean, consistent, and easy to manage across systems.
CX and Insights teams avoid duplicate surveys across channels, improving data quality and reducing customer fatigue. Compliance and Privacy teams ensure universal opt-out enforcement, where a single unsubscribe applies across all channels. Survey Program Operators benefit from accurate quarantine enforcement at the unified profile level, preventing over-contact even with multiple identities. CRM Administrators can reconcile fragmented profiles using any unique identifier, keeping audience data clean without manual effort. Data Analysts gain consolidated customer data, leading to more accurate reporting, segmentation, and insights.
Prerequisites
This feature is generally available as part of CFM. Accessing this node does not require any specific permissions. There are few more prerequisites that are needed:
At least one custom profile field or standard identifier (SNID, mobile, email) must be available to use as a filter.
For Salesforce and Zendesk workflows, the profile variable selected via the "Select Profile" step is treated as the profile to be merged.
For API, Response, and Transaction event workflows, the profile on which the workflow is running is treated as the underlying profile to be merged.
How does it work?
The Fetch and Merge Profiles node identifies an existing profile based on the configured filters and merges the current workflow profile into it, creating a single unified customer record. The oldest matched profile is preserved as the surviving universal profile.
It is supported across all five CFM workflow types.
Placement: This node should be added early in the workflow, before the Trigger Survey Distribution node, to ensure all distributions are executed using the merged universal profile.
Requirements:
At least one custom profile field or standard identifier (SNID, mobile, email) must be available to use as a filter.
For Salesforce and Zendesk workflows, the profile variable selected via the "Select Profile" step is treated as the profile to be merged.
For API, Response, and Transaction event workflows, the profile on which the workflow is running is treated as the underlying profile to be merged.
Universal and Social Profiles
A merged customer is made up of two layers:
Layer | What it represents |
Universal Profile | One record for the customer across all channels. Unsubscribe, quarantine and quota rules are checked at this level. |
Social Profile | A single channel identity, such as an email address, phone number or WhatsApp number. Responses, distributions and transactions stay linked to the social profile. |
When profiles are merged, the surviving profile becomes the universal profile. The other profiles are kept as social profiles under it. Nothing is deleted, and every existing response, distribution and transaction stays linked to its original channel identity.
Profiles can be merged in two ways, and CFM treats them the same:
Before they reach CFM: through Sprinklr Service flows, Guided Workflows, Rule Engines or manual merges.
Inside CFM: through the Fetch and Merge Profiles node.
Governance After a Merge
After a merge, every linked social profile counts as one customer for governance.
Reporting After a Merge
Scenario | Reporting behavior |
Profiles merged before a response is received | The response uses the merged profile's latest attributes and custom field values. |
Profiles merged after a response is received | The response stays linked to its original social profile. It is not reassigned after the fact. |
Profile-level reporting | You can report on social profiles (by channel) and universal profiles (by customer). |
Unsubscribe status | Shown at the social profile level in reports, even though it's enforced at the universal profile level. |
Profile IDs and names stay the same across Distribution Reports and Custom Reports.
Updated custom field values can be used in reports and filters after a merge.
Historical responses and distributions aren't lost, and links issued earlier keep working.
If a merge fails partway through, reports show the last consistent state.
Examples
Quota across channels: The rule allows 2 surveys in 30 days. The customer gets 1 survey by email and 1 on WhatsApp. A third survey on any channel is blocked.
Unsubscribe across channels: The customer unsubscribes by email. Their WhatsApp and SMS profiles are also unsubscribed, and no more surveys are sent.
Unsubscribed before the merge: A WhatsApp profile is unsubscribed and later merged with an email profile. The merged customer stays unsubscribed on all channels.
Activity before the merge: An email profile has already received 2 surveys. A WhatsApp profile is merged in later. The quota is already used up, so no survey is sent on WhatsApp.
Conditional rules: A rule allows 2 surveys unless premium_user is true. If the customer doesn't meet that condition, the limit applies across all channels.
Distribution Reports show the correct status (Sent, Suppressed or Quarantined) and the correct profile identifiers after a merge. Suppression reasons match the rule that applied: Unsubscribe or Quarantine.
Setting Up
The navigation steps are listed below:
When configuring the Fetch and Merge Profiles action node, define the following:
Name: Enter a name for the action node. This name appears on the workflow canvas to help you understand the flow at a glance.
Filter Records: Define the criteria used to fetch the matching profile. You can filter using:
Standard fields:
Social Network (Email, Mobile, WhatsApp Business, etc.)
Social Network User ID
Custom fields: Any custom profile field available in your tenant (e.g., Loyalty ID, CRM ID, External Customer ID).
You can add multiple conditions using + Add Condition.
Merge Behavior Once the node executes:
All profiles matching the filter are evaluated.
The oldest matching profile is selected as the target (surviving) profile.
The current workflow profile is merged into this oldest profile.
Intermediate matching profiles (if any) are ignored in the current implementation.
Note: Failure Handling If the merge operation fails for any reason, the workflow continues execution. The node will not block downstream actions.

How to use it?
Follow these steps to use the Fetch and Merge Profiles node as part of your workflow:
Build Your Workflow Create a new workflow and configure the necessary trigger event and upstream conditions based on your use case.
Add the Fetch and Merge Profiles Node Add this node early in the journey, before any Trigger Survey Distribution nodes, to ensure the merge happens before distribution logic is evaluated.

Configure Filters Set up filter conditions that uniquely identify the target profile.
Ensure the filter values reference workflow variables set upstream (using the ${x} variable picker).
Add the Trigger Survey Distribution Node (if applicable) After the merge node, add your distribution node. The distribution will now be triggered against the universal merged profile, ensuring quarantine, opt-out, and reporting all reflect the consolidated customer record.
For Salesforce and Zendesk Workflows Use the "Select Profile" variable (created upstream via the Create Record node) to designate the profile to be merged. This step is required for these event types; for API, Response, and Transaction events, the workflow's underlying profile is used automatically.
How to test it?
Set up a workflow with the Fetch and Merge Profiles node configured with a filter on a known custom field (e.g., Loyalty ID).
Create two test profiles with the same Loyalty ID value — one older (created earlier) and one newer (the workflow profile).
Run the workflow against the newer profile.
Verify that the newer profile has been merged into the older profile, and the older profile is now the surviving universal profile.
Validate Quarantine Behavior
Send a survey to the older (surviving) profile.
Configure a quarantine rule (e.g., 1 survey per 30 days).
Trigger the workflow again with a new profile carrying the same Loyalty ID.
After merge, trigger a new distribution.
Expected result: Distribution fails with status Quarantined, since quarantine is evaluated against the merged universal profile.
Validate Unsubscribe Behavior
Opt out the surviving profile on any channel.
Trigger the workflow with a new profile carrying the same identifier.
After merge, trigger a new distribution.
Expected result: Distribution is Suppressed, reflecting the opt-out on the merged profile.
Check downstream reporting (Custom Reports, Distribution Reports, Dashboards) to confirm all response instances, transactions, and history are attributed to the surviving profile.
Merge profiles with existing activity
Create two profiles with the same identifier (for example, a Loyalty ID). Give each one existing responses or transactions.
Run the workflow so the Fetch and Merge Profiles node merges them.
Check that the merge succeeds and that responses and transactions from both profiles are still accessible.
Trigger a new distribution and check that it runs without errors.
Repeat the test across Email, WhatsApp, SMS and Live Chat.
Key points to note
Profiles that already have survey responses, distributions or transactions can be merged. Existing records stay accessible, and new records are created under the right social profile.
The workflow profile is always merged into the fetched profile, not the other way around. The oldest fetched profile always survives.
If several profiles match the filter, only the oldest one is used as the target. The others are ignored.