This article explains how to automatically send a Customer Satisfaction (CSAT) survey to a contact when a ticket closes, and how to capture their response back into HappyFox Workflows, using either a single workflow or two connected workflows.
Applicable Plans: Available on all plans.
Note: HappyFox Help Desk includes a built-in satisfaction survey, available through the Survey Responded trigger and the Trigger Satisfaction Survey action. Use the method in this article instead when you need a custom survey with your own questions, built as a form in the Forms module.
Prerequisites
- A form named CSAT Survey already exists in the Forms module.
- HappyFox Help Desk is connected as an app in HappyFox Workflows.
- For Option 2, the Enable to make the link Accessible toggle is turned on for the CSAT Survey form. Generate Form Link does not produce a usable link otherwise.
Choosing an approach
HappyFox Workflows supports two ways to send a CSAT survey and capture the response. Choose the one that matches how you want the workflow to behave.
- Single workflow: One workflow sends the survey email and pauses in a Waiting status in Run History until the contact submits the form. Use this when the actions that follow the survey depend on the response.
- Two workflows: One workflow sends the survey email and continues immediately to its next action. A second workflow, triggered separately when the form is submitted, captures the response. Use this when sending the survey and processing the response do not need to happen in sequence.
Both approaches use trigger conditions to fire only when a ticket closes. See how to set up and combine trigger conditions for details on configuring AND/OR filters.
Option 1: Send the survey and wait for a response in the same workflow
Step 1: Add the trigger
- Select HappyFox Help Desk as the trigger app.
- Select Status Changed as the trigger. This trigger fires when the status of a ticket changes.
- Add a trigger condition where the ticket's status changes to Closed.
Step 2: Add the Send Email action with a user action
- Click the + icon after the trigger and select Send Email.
- Enter the recipient, Subject, and the remaining email fields.
- Turn on Include user action in Email.
- Click + next to Choices to add a choice.
- Enter a Name for the choice, for example
Submit CSAT Survey. - Set Type to Request form submission.
- Select CSAT Survey from the Form dropdown.
- Click Insert Merge Fields, then select the choice you created to add it to the Message field.
Note: The merge field appears in the Message field as placeholder text, for example
<<Submit CSAT Survey>>. HappyFox Workflows renders this as a clickable link in the email the contact receives.
- Click Save and Test.
Step 3: Configure what happens when the contact responds
- On the workflow canvas, locate the branch labeled with your choice name, below the Send Email action.
- Click + on that branch to add the actions that should run once the contact submits the survey — for example, Add Private Note to log the response on the ticket, or Set Ticket Custom Fields to store specific values.
- Insert a merge field to reference the response. It returns all the answers submitted on the form as a single list — there is no separate action for extracting individual answers.
- Click Save and Test, then enable the workflow.
Note: Once the email sends, the workflow run shows a Waiting status in Run History until the contact submits the form. The run resumes into the branch you configured in this step only after the form is submitted. See how to use Run History to debug workflow issues for more on interpreting run statuses.
Warning: A run in the Waiting status does not time out. If the contact never submits the form, the run remains in Waiting indefinitely.
Option 2: Send the survey and capture the response in a separate workflow
This approach uses two workflows — one to send the survey, and a second to capture the response whenever it arrives.
Workflow A: Send the survey email
Step 1: Add the trigger
- Select HappyFox Help Desk as the trigger app.
- Select Status Changed as the trigger.
- Add a trigger condition where the ticket's status changes to Closed.
Step 2: Generate the form link and send the email
- Click + after the trigger and select Generate Form Link.
- Select CSAT Survey from the Form dropdown.
- Click + next to Include Metadata.
- Enter
ticket_idin the Key field. - Click Insert Merge Fields in the Value field and select Ticket Id.
- Add a Send Email action after it.
- Click Insert Merge Fields and add the link generated in step 1 to the Message field.
- Click Save and Test, then enable the workflow.
Note: Optionally, turn on Allow Multiple Submissions to let the same link accept more than one response, or set a Link Expiration Date to limit how long the link stays active.
Note: Unlike Option 1, this workflow does not wait for a response. It moves on to its next action, or ends, as soon as the email sends.
Workflow B: Capture the response
Step 1: Add the trigger
- Create a new workflow.
- Select Workflows as the trigger app.
- Select Form Submitted as the trigger.
- Select CSAT Survey as the form to listen for.
Step 2: Add response actions
- Click + after the trigger and add the actions you want to run when a response comes in — for example, Set Ticket Custom Fields or Add Private Note.
- Use the
ticket_idmetadata value included in the submission payload to match the response to the ticket that generated the link in Workflow A. [VERIFY: exact merge field name that exposes theticket_idmetadata value inside the Form Submitted trigger's payload] - Insert a merge field to reference the response. As in Option 1, it returns all submitted answers as a single list.
- Click Save and Test, then enable the workflow.
Choosing between the two options
- Option 1 keeps the send and the response in a single, traceable workflow, but the run stays in a Waiting status indefinitely until the contact responds.
- Option 2 keeps the send and capture logic independent, so the survey workflow finishes immediately, but you maintain two separate workflows instead of one.
Your CSAT survey now sends automatically when a ticket closes, and the response is captured back into HappyFox Workflows. Next, see how to use merge fields and dynamic variables to pull the captured answers into other ticket actions.