Unified Data Connector for CFM: Overview, Relevance, Setup, and Troubleshooting

Updated 

The Unified Data Connector (UDC) is Sprinklr’s file-based data ingestion framework that enables you to seamlessly import and synchronize external data into the platform. It supports both one-time file uploads and scheduled or recurring ingestion from managed sources such as SFTP, Amazon S3, Google Cloud Storage (GCS), and Azure Blob.

By using UDC, you can reduce manual effort, accelerate time-to-value, and ensure reliable data ingestion with built-in capabilities such as validation, transformation (via Groovy), encryption support, monitoring, and audit tracking.

Why UDC is Important for CFM

Customer Feedback Management (CFM) relies on accurate and timely data to personalize surveys and generate unified insights. UDC enables this by supporting ingestion across two key data areas:

  • Transactions: Interaction-level data associated with customer profiles that powers survey personalization, workflow triggers, and reporting.

  • Responses: Survey responses imported from external systems, enabling continuous analytics and consolidation of feedback data.

Core Capabilities

With UDC, you can:

  • Ingest custom, standard, and system entities through file uploads or storage sources (SFTP, S3, GCS, Azure Blob)

  • Track run history and audit logs, including success and failure files.

  • Apply data transformations using Groovy scripting.

  • Process encrypted files (PGP/RSA) securely.

  • Configure scheduled ingestion and notifications.

How UDC integrates with CFM Transactions

Transaction Groups and ingestion paths

Transactions in CFM are organized into Transaction Groups. The ingestion path defines how a group is populated:

  • Import: One-time file ingestion via UI for ad hoc lists and personalized link exports.

  • Unified Data Connector: Scheduled or on-demand ingestion from SFTP/GCS/S3/Azure Blob or direct File Upload, with mapping, validation, and transformations.

  • API: Real-time programmatic ingestion via Create Transactions API, governed by a defined schema.

UDC for Transactions: end-to-end flow

  1. Create a Transaction Group (type: Unified Data Connector) and associate it with relevant survey projects for governance and downstream use in distributions and workflows.

  2. Configure the connector

    • Entity is preselected via the Transaction Group flow.

    • Integration Type: Insert Transactions and Upsert Profile (each run creates new transactions; profiles are created or updated as needed).

    • Operation Type for Profile multi-select custom fields: choose Merge or Set.

  3. Select a source: File Upload, SFTP, GCS, S3, or Azure Blob. Provide a Connector Name and optional description.

  4. Upload a sample file (defines the expected headers and structure for all runs). Keep the sample’s extension consistent with your real files (including encryption suffixes like .pgp).

  5. Map headers

    • System-level mandatory fields: First Name, Full Name, Last Name, Social Network, Social Network User Id.

    • Map Transaction Custom Fields and optional Profile fields as needed.

    • Mark additional connector-level mandatory fields and attach validation rules (email/phone/regex).

    • Set or hard-code the socialNetwork field with uppercase values for CFM distributions: EMAIL, SMS, WHATSAPP_BUSINESS.

    • Use Custom Headers with Groovy to compose/transform values (e.g., concatenate names, set constants, timestamps).

  6. Sharing & Notifications: Share access and configure run notifications (success/failure/warnings) to collaborators.

  7. Run, schedule, and monitor: Execute on-demand or schedule; view Activity logs and download failure/success files for investigation.

Note:

Transaction Field Governance

Transaction field availability is determined by the union of:

  • Global Custom Fields.

  • Fields available to the associated survey projects.

Data for unmapped or non-governed fields is still ingested and stored, but it won’t appear in survey-level workflows, placeholders, or Responses until governance is updated. Associate the Transaction Group with the right projects and align custom field governance accordingly.

How UDC integrates with CFM Responses

Use the CFM Response connector to import answers from external systems into a target survey:

  1. From CFM Global Settings, create a Data Connector with entity type CFM Response and select the target survey.

  2. Integration Type: Insert (creates new response records).

  3. Select source (File Upload/SFTP/GCS/S3/Azure Blob), name/describe the connector, and provide source-specific details.

  4. Mapping Configuration

    • Map to Standard Fields, Survey Questions, Response Fields, Transaction Fields, or Profile Fields as appropriate.

    • Mandatory survey questions must be mapped; missing values in ingestion yield Partially Completed responses.

    • Apply validation (email/phone/regex/no-duplicates) and optionally mark connector-level mandatory fields.

    • Use Value Mapping for coded responses (e.g., A1 → Option 1) across supported question types, ensuring normalized analytics.

  5. Run

    Activate

    • “Ingestion Connector Name” is recorded on each response.

    • “Response Type” = “Imported”.

    • “Distribution Channel” defaults to “Data Ingestion” if not provided.

Key setup prerequisites and governance

  • Custom Fields: Define Profile Custom Fields, Transaction Fields, and Response Custom Fields before mapping.

  • Survey association: Associate Transaction Groups with the survey projects that will use them for distributions/workflows.

  • Permissions

    • Response import: Survey-level “Import” under “Can Edit” → “Response and Analytics”.

    • Data Connector setup: Global permissions to View, Create, Edit, Delete, and View Audit Logs for Setup → Data Connector.

Troubleshooting guide

Source connections and credentials

  • GCS service account JSON

    • Create a GCS service account, then generate a JSON key in the Keys section.

    • Grant a custom role (or equivalent) with at least: storage.buckets.get, storage.objects.get, storage.objects.list, storage.objects.create, storage.objects.delete.

    • IP allowlisting is typically unnecessary because service-account auth is used. If your security policy requires network controls, restrict to published Sprinklr IPs. Refer to this article for more details.

  • S3 with IAM Role

    • Minimum policy: s3:PutObject, s3:GetObject, s3:DeleteObject on arn:aws:s3:::{bucket-name}/*; s3:ListBucket on arn:aws:s3:::{bucket-name}.

    • In AWS-hosted partners, ensure trust relationship allows Sprinklr’s internal IAM role to assume the customer role (raise ITOps ticket as per internal process).

  • SFTP

    • Verify host, port, username, and either password or key-based authentication per connector configuration pages linked in UDC docs.

    • Confirm file permissions and directory paths for polling and archiving.

File format and sample file

  • Sample file extension must match real files: If your bucket files are .csv, the sample must be .csv. For encryption, sample must mirror .csv.pgp, etc.

  • CSV delimiter

    • For Transaction ingestion via UDC: configure mappings based on your file. If your operational standard uses semicolons, ensure the same delimiter is used consistently in source and sample.

  • Header consistency: Future runs must use identical headers to the sample file unless you explicitly update the sample.

Mapping, validations, and mandatory fields

  • Social Network must be uppercase and a valid CFM channel for Transactions: EMAIL, SMS, WHATSAPP_BUSINESS. You can hard-code this via a custom header if uniform.

  • System-level mandatory fields (Transactions): First Name, Full Name, Last Name, Social Network, Social Network User Id must be provided or derived via transformations.

  • Connector-level mandatory fields: If marked mandatory and missing, the record or run will fail per connector logic, inspect failure files.

  • Survey question mandatory mapping (Responses): All questions flagged as Mandatory in the builder must be mapped; missing values result in Partially Completed responses.

  • Validation failures (email, phone, regex, no-duplicates) prevent ingestion of the affected record; check the failure file for row-level errors.

Governance alignment

  • Transaction Fields visibility: If a mapped field isn’t available to a survey project, data still ingests but won’t surface in placeholders, workflows, or Responses until governance is updated.

  • Survey association for Transaction Groups: Ensure the group is associated with the projects where distributions/workflows will reference it.

Keypoints to note

Illegal characters in source files

Illegal/replacement characters ( U+FFFD) are fully supported in UDC ingestion and Groovy custom-header code. Files containing these characters will pass through the connector pipeline and transformations without failures or data loss; no special escaping or pre-processing is required.

Encryption: Binary vs ASCII (PGP/GPG)

UDC supports PGP-encrypted files in both Binary and ASCII-armored formats. However, there is a known issue with ASCII-armored files where the platform detects MIME type as text/plain and alters the extension (e.g., .csv.pgp → .csv.pgp.txt), breaking file matching and ingestion (tracked in CFM-15286).

Per-file ingestion limit (UDC + GCS for Transactions)

Controlled by platform configuration (TRANSACTION_DATA_CONNECTOR_V2_INGESTION_LIMIT). Default cited value is 10,000. If exceeded, runs fail with diagnostics in View Activity; coordinate with your admin/POC to adjust if needed.


Best Practices

  • Define your data model upfront by creating Profile and Transaction custom fields before configuring mappings. Use consistent field names across your source systems and Sprinklr to simplify maintenance.

  • Capture complete interaction data in Transactions and selectively update Profile attributes to maintain both historical interaction records and current customer information.

  • Standardize channel values by using uppercase values for the Social Network field (for example, EMAIL, SMS, and WHATSAPP_BUSINESS) and manage them centrally through Groovy custom headers.

  • Leverage Value Mapping in Response connectors to convert coded responses into standardized values, ensuring consistent reporting and analytics.

  • Manage schema changes carefully by updating sample files, reviewing mappings, and validating changes in a lower environment before deploying to production.

  • Monitor connector activity regularly by reviewing activity logs, analyzing failure files, and configuring automated notifications to quickly identify and resolve ingestion issues.

FAQs

Use Profiles to store customer-level information and support surveys that are not tied to a specific interaction. Use Transactions when survey responses need to be linked to a specific customer interaction, event, or touchpoint. Transactions are best suited for personalization, workflow automation, filtering, and reporting based on interaction-level data.

To connect a GCS bucket, create a Google Cloud service account and generate a JSON key. The service account must be granted permissions to access the required storage resources.

The service account used by the connector must have permissions to view bucket metadata and manage objects, including the ability to list, read, create, and delete files within the configured bucket.

IP allowlisting is not typically required because UDC authenticates using a service account. If your organization requires network restrictions, you can allow access only from Sprinklr-approved IP ranges.

UDC supports file uploads from multiple sources and can process both standard and encrypted files. When using encrypted files, ensure that the sample file and source file extensions match exactly.

The sample file defines the expected file structure, headers, and format for future ingestion runs. To ensure successful processing, all incoming files must follow the same schema as the uploaded sample file.

Records that do not contain required fields or fail validation checks may fail ingestion. For response imports, missing values for mandatory survey questions can result in responses being imported as Partially Completed.

You can use Value Mapping to transform coded values into user-friendly response options. This helps ensure consistent reporting and analytics across imported survey data.

Yes. UDC supports PGP-encrypted files in both binary and ASCII-armored formats. However, there is a known limitation with some ASCII-armored files that may affect file recognition and ingestion.

The per-file ingestion limit is controlled by platform configuration. The default limit referenced for Transaction ingestion is 10,000 records per file, though this can be adjusted through your Sprinklr administrator or support contact if needed.

Review the connector's Activity Logs, failure files, and validation results. These resources provide detailed information about records that failed ingestion and help identify issues related to mapping, validation, permissions, or data formatting.

Verify that the relevant Transaction Fields are governed and available to the associated survey project. Data may be successfully ingested and stored but remain unavailable in survey-level functionality until governance settings are updated.

Yes. UDC supports one-time file uploads as well as scheduled or recurring ingestion from sources such as SFTP, Amazon S3, Google Cloud Storage (GCS), and Azure Blob Storage.