Send email from Qualtrics when a respondent completes a survey, meets a score threshold, or provides a request that needs an immediate follow-up. Volanea does not provide a native Qualtrics marketplace app or plug-in, but Qualtrics Workflows can make outbound HTTP requests with a Web Service task, which makes a direct REST integration practical when your Qualtrics license includes the required API and workflow permissions. (qualtrics.com)
This guide uses a Survey Response event as the trigger: the workflow starts when a survey response is recorded or updated, then posts a mapped email request to Volanea’s POST /v1/send endpoint. That is the right model for confirmation emails, lead-routing notices, feedback acknowledgements, support escalation receipts, and other one-to-one messages caused by a respondent action. Qualtrics documents the Survey Response event as a workflow event and exposes response data for later tasks through piped text. (qualtrics.com)
What this Qualtrics integration does
The integration has three distinct jobs:
- Qualtrics detects a survey response event. The event can be every recorded response, or only responses that satisfy conditions you define, such as a low satisfaction answer or a checked consent field.
- A Qualtrics Web Service task builds an HTTP request. It maps selected response values into the email payload rather than attempting to export an entire response automatically.
- Volanea accepts the email request and sends it. The request goes to
https://api.volanea.com/v1/send, with a verified sender, recipient, subject, HTML or text content, and an idempotency key that identifies the logical email send.
The result is not a bulk campaign workflow. It is a transactional path: one survey response produces one deliberately scoped email action. That distinction matters because the content should be relevant to the respondent’s action, the recipient must have a valid business reason to receive it, and a workflow retry must not create a second identical message.
Qualtrics Workflows are designed for event-based tasks, including tasks that connect to systems outside Qualtrics. The Web Service task supports JSON bodies and authenticated requests, while survey-flow web services support standard HTTP methods including POST. (qualtrics.com)
The concrete Qualtrics trigger: Survey Response event
For this setup, use an event-based workflow in the survey project. Configure the event as a Survey Response event and choose the option that starts the workflow when a response is recorded. If your use case should also react after an existing response changes, use the recorded-or-updated behavior only after deciding how you will avoid sending again for a harmless data correction.
A survey completion is usually the cleanest trigger because it means the respondent has reached the end of the survey and Qualtrics has a saved response to work from. Older Qualtrics email triggers also send when a response is completed, but Qualtrics recommends the Workflow email-task model over legacy email triggers. For a Volanea integration, use Workflows and the Web Service task rather than attempting to extend legacy email triggers. (qualtrics.com)
A practical example
Imagine a feedback survey with these questions and embedded fields:
QID1: the respondent’s email addressQID2: a rating from 0 to 10QID3: an open-text explanationfirstName: embedded data captured from the distribution or survey URLcaseReference: embedded data that identifies the service case
Your workflow can use a condition such as: rating is less than or equal to 6 and an email address exists. When that condition is true, the Web Service task sends a message such as “We received your feedback and a team member will follow up.”
Do not make the email address question the only protection. Add validation in the survey where possible, and treat the workflow condition as a second guardrail. A blank, malformed, shared, or unconsented address is not a good recipient simply because a field happened to contain text.
Why response IDs matter
A Qualtrics ResponseID is a unique identifier for the response in Qualtrics. It is an ideal stable component for the email idempotency key because retries of the same workflow event can reuse it. Use a predictable key such as qualtrics-response-R_12345-low-score-follow-up, not a random value generated on each attempt. Qualtrics identifies the ResponseID as the database identifier for a response. (qualtrics.com)
Before you build: access, sender identity, and field design
Confirm four prerequisites before creating a workflow. Doing this first prevents the common situation where a workflow looks correct but cannot run in production.
1. Qualtrics workflow and Web Service access
Qualtrics notes that Web Service functionality involves API-related access that may require permission from your Brand Administrator. If the Web Service task is unavailable in your workflow task list, that is an entitlement or permission issue, not an issue with the Volanea endpoint. Ask your Qualtrics administrator to confirm that your brand has the needed Workflows and web-service capability. (qualtrics.com)
2. A verified Volanea sending domain
Choose a sender such as feedback@updates.example.com or support@example.com on a domain you have authenticated in Volanea. Do not map a respondent’s address into the from field. That damages alignment and makes replies, bounces, and abuse handling much harder to manage.
Keep the sender static in the workflow configuration. If different teams need different identities, create explicit workflows or route through middleware that applies an approved sender allowlist. This preserves a clear relationship between the survey, the message category, and the authenticated sending domain.
3. A Volanea secret API key
Create a key intended for this integration and limit its operational scope as tightly as your account configuration allows. The key authorizes email sending, so treat it like a production credential rather than a survey field or a reusable user password. Volanea’s API documentation provides the current API reference and setup guidance at the email API reference and setup guides.
4. Stable survey fields
Avoid mapping email content directly from question labels that editors frequently rename. Map from known survey question IDs and embedded-data names, then document the mapping beside the workflow. Qualtrics uses piped text to insert dynamic response values into later workflow tasks; create the piped-text token from the in-product selector rather than manually guessing it. (qualtrics.com)
Build the workflow in Qualtrics
Start in the survey project’s Workflows tab. Create an event-based workflow, then choose the Survey Response event. Qualtrics supports workflow creation within survey projects as well as on a stand-alone Workflows page; for a survey-specific response trigger, keep the workflow in the survey project. (qualtrics.com)
Add a recipient and consent condition
Before adding the Web Service task, add conditions that answer three questions:
- Does the response have an email address?
- Is the address permitted to receive this kind of follow-up?
- Does the response actually require an email?
For example, a low-score follow-up workflow could require all of the following:
QID1is not empty.- The consent question equals “Yes.”
QID2is less than or equal to 6.- The response is not marked as a test response in your own embedded-data convention.
If respondents can take the survey anonymously, do not try to infer their identity from free text. Keep the follow-up option explicit: ask whether they want contact, collect the address only when appropriate, and use that answer as a workflow condition.
Add the Web Service task
After conditions, add a Web Service task. Qualtrics’ documented flow is to create or select a workflow, determine its event or schedule, choose Add task, select WebService, then choose authenticated or non-authenticated access. Use authenticated access for Volanea. (qualtrics.com)
Configure the HTTP request as follows:
- Method:
POST - URL:
https://api.volanea.com/v1/send - Content type: JSON
- Authentication: API key credentials stored in Qualtrics
- Additional request header:
Idempotency-Key, derived from the Qualtrics ResponseID and email purpose
Qualtrics supports JSON request bodies in a Web Service task, and its Web Service documentation describes API key authentication as one of the available authentication methods. (qualtrics.com)
The real request Qualtrics sends to Volanea
A Qualtrics Web Service task does not automatically send an opaque, universal “survey response JSON” payload to an external endpoint. You define the request body and insert dynamic values using Qualtrics piped text. That is useful: it lets you send only the data required to compose the message rather than unnecessarily exporting every answer.
Use the Add piped text control in the workflow editor to insert the correct tokens for your own project. The tokens below are representative Qualtrics piped-text values for a survey question and embedded data. Replace QID1, QID2, QID3, firstName, caseReference, and the ResponseID token with values inserted from your own workflow’s piped-text menu.
POST https://api.volanea.com/v1/send
Authorization: Bearer YOUR_VOLANEA_SECRET_KEY
Content-Type: application/json
Idempotency-Key: qualtrics-${e://Field/ResponseID}-low-score-follow-up
{
"from": "Customer Care <feedback@updates.example.com>",
"to": [
{
"email": "${q://QID1/ChoiceTextEntryValue}",
"name": "${e://Field/firstName}"
}
],
"subject": "We received your feedback",
"html": "<p>Hi ${e://Field/firstName},</p><p>Thank you for sharing your feedback. Your rating was ${q://QID2/ChoiceTextEntryValue}/10.</p><p>We recorded your reference as ${e://Field/caseReference}. A team member will review your response and follow up where appropriate.</p>",
"text": "Hi ${e://Field/firstName},\n\nThank you for sharing your feedback. Your rating was ${q://QID2/ChoiceTextEntryValue}/10.\n\nReference: ${e://Field/caseReference}.\n\nA team member will review your response and follow up where appropriate."
}
The field mapping in that request is direct:
| Qualtrics source | Volanea field | Purpose |
|---|---|---|
Email question QID1 | to[0].email | Recipient address |
Embedded data firstName | to[0].name, html, text | Personalization |
Rating question QID2 | html, text | Context for the follow-up |
Embedded data caseReference | html, text | Support or service reference |
| Survey ResponseID | Idempotency-Key header | Duplicate-send protection |
| Static approved identity | from | Authenticated sending address |
Volanea documents its single-message endpoint as POST /v1/send at https://api.volanea.com; it supports an Idempotency-Key request header and can send a message to one address or up to 50 recipients. (volanea.com)
Use JSON carefully with piped text
The request body must remain valid JSON after Qualtrics substitutes live response values. A respondent can enter quotation marks, backslashes, line breaks, emoji, or HTML-like content in an open-text question. If raw text is inserted into a hand-written JSON body without escaping, the request can fail before Volanea receives it.
Qualtrics community guidance specifically warns that the JSON free-text option does not escape piped text automatically in every case, including values with quotation marks or new lines. For simple confirmation messages, avoid interpolating long open-text answers into the JSON body. For richer personalized content, use a middleware endpoint that parses the Qualtrics request and safely serializes the Volanea payload. (community.qualtrics.com)
Keep the Volanea API key inside Qualtrics credentials
The Volanea API key belongs in the authenticated Web Service configuration in Qualtrics, not in survey JavaScript, query parameters, embedded data, question text, or client-visible site configuration. Configure the Web Service task to use an API key credential, and keep the credential reusable only where it is needed.
This matters because survey code runs in, or is delivered to, a respondent’s browser. Anything placed in JavaScript, page source, a redirect URL, or an exposed configuration value can be copied and used by someone else. An email-sending key exposed this way can turn a survey integration into an open relay for unauthorized mail.
Qualtrics states that credentials can be selected from existing credentials or added as a user account for authenticated Web Service requests, and that credentials can be shared with web services where your brand configuration permits it. Use that credential store rather than placing the secret in the request body. (qualtrics.com)
Practical key-handling rules
- Use a dedicated Volanea key for Qualtrics instead of sharing one broadly across unrelated systems.
- Give only workflow builders and administrators access to edit the task that uses the credential.
- Never add the key to a Qualtrics question, embedded-data field, survey URL, or survey-flow branch.
- Rotate the key promptly if a workflow export, screenshot, support ticket, or browser console could have exposed it.
- Test authentication with a controlled internal address before enabling the workflow for respondents.
If your Qualtrics environment cannot store the Volanea credential in an authenticated Web Service task, do not paste it into a non-authenticated task as a workaround. Use a middleware route instead.
When direct Qualtrics-to-Volanea is the right choice
A direct request is a good fit when the email is short, the payload maps to a handful of predictable fields, and you can accept the limits of a no-code HTTP task. It keeps the architecture small: Qualtrics sends one request, Volanea sends one message, and there is no additional webhook service to operate.
Direct sending works especially well for:
- Survey receipt emails after a respondent opts in to receive confirmation.
- Low-score acknowledgements with a case reference.
- Notification emails to an internal owner selected from embedded data.
- A simple “we received your request” response after a form-style survey.
- Invitation or registration confirmation emails where the response already contains validated contact data.
It is less suitable when message logic becomes application logic: recipient lookups, language fallback, complex HTML rendering, multiple asynchronous APIs, attachments, files, sensitive-text redaction, or sophisticated audit logging. Those needs are signals to introduce middleware.
When to use middleware instead
A small serverless endpoint, worker, or automation platform can sit between Qualtrics and Volanea. Qualtrics posts a minimal event payload to your endpoint; the endpoint validates it, deduplicates it, builds a safe JSON message, and calls Volanea with the secret key stored in the server-side environment.
This pattern is preferable when you need to include open-ended survey answers, because server-side code can safely escape data before JSON serialization and can decide whether a value is safe to place into HTML. It also gives you more explicit logging, request signature checks, custom retry behavior, and a durable database record of what the workflow attempted to send.
A middleware request can look like this:
// Server-side endpoint: POST /qualtrics/low-score-follow-up
// VOLANEA_API_KEY is stored in the server environment, never in survey code.
export async function POST(request) {
const event = await request.json();
const responseId = event.responseId;
const email = event.email;
const firstName = event.firstName || "there";
const score = event.score;
const caseReference = event.caseReference;
if (!responseId || !email || score == null) {
return Response.json({ error: "Missing required Qualtrics fields" }, { status: 400 });
}
const send = await fetch("https://api.volanea.com/v1/send", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.VOLANEA_API_KEY}`,
"Content-Type": "application/json",
"Idempotency-Key": `qualtrics-${responseId}-low-score-follow-up`
},
body: JSON.stringify({
from: "Customer Care <feedback@updates.example.com>",
to: [{ email, name: firstName }],
subject: "We received your feedback",
html: `<p>Hi ${escapeHtml(firstName)},</p><p>Thank you for sharing your feedback. Your rating was ${escapeHtml(String(score))}/10.</p><p>Reference: ${escapeHtml(caseReference || "Not supplied")}.</p>`,
text: `Hi ${firstName},\n\nThank you for sharing your feedback. Your rating was ${score}/10.\n\nReference: ${caseReference || "Not supplied"}.`
})
});
return Response.json(await send.json(), { status: send.status });
}
The code above is intentionally server-side. It demonstrates the boundary that matters: Qualtrics sends only workflow data, while the Volanea secret is loaded from protected environment configuration. Use an HTML escaping function appropriate to your runtime before interpolating respondent-provided text into HTML.
When this breaks: failures specific to this hop
A Qualtrics-to-email integration has two separate delivery boundaries: Qualtrics must complete the outbound Web Service request, then Volanea must accept and process the message. A green survey response does not prove an email was sent, and a timeout does not prove it was not sent.
Qualtrics retries can create duplicate sends
A timeout is the most important failure mode. Qualtrics may not receive a response quickly enough even when Volanea received and accepted the request. If the workflow task retries without a stable idempotency key, the same survey response can produce two emails.
Set Idempotency-Key from the ResponseID plus the specific message purpose. For example, qualtrics-R_abc123-low-score-follow-up is stable for every retry of that one logical notification. Do not include the current timestamp or a random UUID generated per attempt, because then every retry becomes a new send request. The Idempotency-Key HTTP header exists specifically to make repeat POST attempts safe when a client cannot determine whether an earlier request completed. (developer.mozilla.org)
Webhook or web-service timeouts
Keep the direct request small. Do not call multiple systems serially from a single Qualtrics task, do not request long-running content generation, and do not add unnecessary response processing. The direct Volanea call should return after the transactional request is accepted or rejected.
If your message depends on expensive enrichment, a CRM lookup, or an external approval path, make the Qualtrics Web Service task call your own fast endpoint. Return a quick success response after the endpoint has validated and durably queued the job, then let a worker call Volanea. This changes a fragile synchronous chain into a controllable asynchronous one.
Payload fields are missing on some Qualtrics plans or project types
Workflow capabilities, API permissions, and available task data can vary by Qualtrics product, brand configuration, and license. Qualtrics explicitly notes that Web Service and API-related capabilities can require special permission. Additionally, a value may be absent because a respondent skipped a non-required question, entered through a channel that did not populate embedded data, or triggered an event before a downstream task has retrieved extra response details. (qualtrics.com)
Build for missing values. Require only fields that are essential to send safely, such as the response ID and recipient address. Use defaults for nonessential values such as first name, and avoid making a workflow fail because a personalization field is blank.
Invalid JSON after piped-text substitution
Free-text response data can break a hand-built JSON request. Quotes and newlines are enough to make a JSON document invalid if the task does not escape substituted values. Keep direct integrations to controlled fields such as an email address, score, short selected-choice label, and embedded-data reference. Move free-form comments into middleware, or use a safe template system that receives structured variables.
The recipient address is syntactically present but unusable
A workflow condition that checks only “not empty” will still allow addresses such as test, none@example, or an address typed with a trailing space. Survey validation should be the first line of defense. For high-value operational messages, verify the address before sending or route it through a review process. Volanea also provides a free email address verification tool for checking an address before it enters a sending workflow.
Sender-domain or authorization errors
If Volanea rejects a request, first verify that the from address belongs to a domain authenticated in the Volanea project associated with the API key. Next, check that the correct key is selected in the Qualtrics credential configuration and that it was not revoked or rotated. Finally, confirm that the request uses POST /v1/send, JSON content, and the currently documented authentication configuration.
Test the integration without contacting real respondents
Use a controlled test plan rather than turning on a workflow and waiting for an issue report. Qualtrics supports workflow testing and run history, while Volanea’s sent-email records provide the sending side of the trail. Test each branch deliberately.
- Submit a normal response that should not meet the condition. Confirm no Web Service task runs.
- Submit a qualifying response with an internal mailbox. Confirm the workflow calls Volanea and the message content is correct.
- Submit a qualifying response with a blank optional personalization field. Confirm the email still renders sensibly.
- Submit special characters in an open-text response. If that text is mapped into the body, confirm the JSON remains valid; otherwise remove it from the direct path.
- Re-run the same logical event where your test setup permits it. Confirm that the identical idempotency key does not produce a duplicate message.
- Test a deliberately unauthorized or unverified sender in a non-production environment to confirm that failure is visible in workflow history and your delivery troubleshooting process.
Do not use personal employee inboxes as the only test. Test an inbox that can receive, inspect, and retain raw delivery evidence. Also verify the reply-to behavior: respondents should never receive an address that routes replies into an unattended mailbox.
Deliverability and content considerations
A technically successful API call is only the start of a reliable survey email. The message must make sense to the recipient and align with what the survey promised.
Keep the subject descriptive, such as “We received your service feedback” or “Your registration request was received.” Avoid ambiguous subjects like “Important update” that may look promotional or suspicious. Include the survey context, a clear next step, and a route for help if the recipient did not expect the email.
For a feedback acknowledgement, resist the urge to include every answer in the email. Survey responses can contain private, emotional, regulated, or commercially sensitive information. A reference number and a short acknowledgment are usually safer than echoing detailed free text into an inbox that may be forwarded or shared.
If the response triggers marketing or a broader nurture sequence rather than a direct operational follow-up, stop and reassess consent, audience rules, and message type. The direct workflow described here is best for transactional and service-related communication caused by the completed response.
Operational ownership: who maintains what
This integration crosses teams. Assign ownership before it becomes production infrastructure.
| Area | Recommended owner | What to review |
|---|---|---|
| Survey questions and consent | Research or CX team | Field IDs, validation, legal language, skip logic |
| Workflow condition and mapping | Qualtrics administrator | Trigger behavior, piped text, credentials, run history |
| Sending domain and API key | Engineering or email operations | Domain authentication, key rotation, sender policy |
| Email copy and reply handling | Customer support or lifecycle team | Tone, mailbox ownership, escalation path |
| Duplicate and failure monitoring | Shared operational owner | Idempotency, failed tasks, delivery records, incident response |
This division prevents a common gap: a researcher edits a question, the workflow mapping changes silently, and an operations team only discovers it after recipients see blank or malformed messages. Treat question IDs, embedded-data names, sender identity, and message purpose as a small integration contract.
Conclusion
To send email from Qualtrics with Volanea, use an event-based Qualtrics Workflow triggered by a Survey Response event, add a Web Service task, and make a JSON POST request to Volanea’s POST /v1/send endpoint. Store the Volanea secret in Qualtrics’ authenticated credential configuration, map only the survey fields you need, and use the Qualtrics ResponseID in a stable Idempotency-Key.
The direct route is clean for short, predictable transactional messages. Move to middleware when you need to process untrusted free text, enrich data, coordinate multiple APIs, or obtain stronger control over retries and audit records. In either architecture, the core rule is the same: one respondent action should map to one intentional email, even when the network is uncertain.
FAQ
Does Volanea have a native Qualtrics integration?
No. This is not a marketplace installation or native Qualtrics app. The connection uses Qualtrics Workflows and a Web Service task to call Volanea’s REST API directly, or to call your middleware endpoint.
What starts the email send in Qualtrics?
Use a Survey Response event in an event-based workflow. A common configuration starts when a response is recorded, then applies conditions such as consent received, email present, and a score threshold met.
Where should the Volanea API key be stored?
Store it in the authenticated Web Service credentials configuration in Qualtrics, or in a server-side environment variable if you use middleware. Never put it in browser-delivered survey JavaScript, embedded data, query strings, or question text.
How do I stop duplicate emails after a timeout?
Send a stable Idempotency-Key header based on the Qualtrics ResponseID and the email purpose, such as qualtrics-R_12345-feedback-receipt. Reuse that same value for retries of the same logical email.
Can I include open-ended Qualtrics answers in the email?
You can, but a direct Web Service JSON body can fail if substituted text contains characters that are not safely escaped. For free-text answers, use middleware that validates data, serializes JSON safely, escapes HTML, and then calls Volanea.