When to use it
Use this destination to trigger post-purchase or post-interaction review invitations from data already in your pipeline. Typical inputs are order or ticket records with a customer email address and your internal reference number for the transaction. For reading service reviews and business categories back out of Trustpilot, use the Trustpilot source instead.Connection
Select an existing Trustpilot connection or create a new one. The destination has two requirements the source does not:- API Secret must be set on the connection. The invitations endpoint accepts only OAuth bearer tokens, and Trustpilot mints those through the
client_credentialsflow, which needs both the API Key and the API Secret. - Business User ID must be set on the connection. Trustpilot requires it on every invitation request as the
x-business-user-idheader.
Destination properties
- Invitation template - the Trustpilot template that will be sent. The dropdown is populated from Trustpilot’s
GET /v1/private/business-units/{businessUnitId}/templatesendpoint, cached for one hour. Use the refresh control next to the dropdown to bypass the cache after you add or rename a template in Trustpilot. - Sender name - default sender display name on the invitation. Overridden per row when a
senderNamefield is mapped. - Sender email - default sender address. Overridden per row when a
senderEmailfield is mapped. Must be a valid email address. - Reply-to - default reply-to address. Overridden per row when a
replyTofield is mapped. Must be a valid email address. - Locale - default locale (for example
en-US,de-DE). Overridden per row when alocalefield is mapped.
Advanced options
- Requests per second - throttle applied to the invitations API. Default is
5, matching Trustpilot’s documented application rate limit. Maximum is100. The component uses a single reducer, so this value is the real request rate against Trustpilot. - Maximum failed records - the job fails once cumulative failed invitations exceed this value. Default is
0(fail on the first failure). Set to-1for unlimited failures.
Field mapping
The invitation payload is a fixed schema. Map input fields to Trustpilot invitation fields by exact name. Required fields (every invitation needs these):
Optional fields (overrides per row):
The component raises a build-time error if any required field is missing from the mapping, or if a mapped field is not one of the fields listed above. Catching this up front avoids a run where a missing field fails every record.
Success and error tracking
The destination can write two CSVs to a cloud storage connection for reconciliation. Both are optional and configured independently.- Track successful records - writes a CSV of records that were accepted by Trustpilot, one row per invitation sent.
- Track failed records - writes a CSV of records that were rejected, one row per failure, with the Trustpilot error message for each.
Example: post-purchase invitations from a Snowflake query
A pipeline that reads yesterday’s completed orders from Snowflake and sends one Trustpilot invitation per order:senderName, senderEmail, replyTo, and templateId unmapped. Enable Track failed records to an S3 bucket so you can review rejected addresses after the run.