> ## Documentation Index
> Fetch the complete documentation index at: https://docs.armin.cx/llms.txt
> Use this file to discover all available pages before exploring further.

# Legacy CSAT survey workflow

> Maintain workflow-builder CSAT survey flows for existing setups.

This page is for existing workflow-builder CSAT survey flows.

<Warning>
  Move existing CSAT workflows to the [CSAT AI Agent example](/ai-agents/examples) over time, not only new surveys. Follow the [migration guide](/ai-agents/migrate-from-classic-ai) to test a controlled rollout and turn off the overlapping CSAT workflow once the replacement is proven. [Create an AI Agent](/ai-agents/getting-started), and open [Workflows](https://armin.cx/app/_/workflows) only during migration or for necessary maintenance.
</Warning>

## Requirements

Before you add a CSAT action, make sure:

* the workflow has ticket context, such as a resolved or closed-ticket trigger
* the customer has contact information for the selected channel
* the ticket has a valid channel
* your message is short enough for the channel

## Maintain a CSAT survey action

<Steps>
  <Step title="Add the action">
    In the workflow builder, open the existing flow or click the plus button and select **CSAT Survey**.

    <Frame>
      <img src="https://mintcdn.com/chatarmincom/A54BHt_5VfpG_omm/images/workflows/csat-survey-add-action.png?fit=max&auto=format&n=A54BHt_5VfpG_omm&q=85&s=223621334851e28251ef47b1800db699" alt="Add CSAT Survey action in the workflow builder" width="1011" height="876" data-path="images/workflows/csat-survey-add-action.png" />
    </Frame>
  </Step>

  <Step title="Choose channel messages">
    Enable the channels where you want to send surveys.

    <Frame>
      <img src="https://mintcdn.com/chatarmincom/A54BHt_5VfpG_omm/images/workflows/csat-survey-channels.png?fit=max&auto=format&n=A54BHt_5VfpG_omm&q=85&s=8d4be8b047a9f436e201338888981112" alt="CSAT Survey channel tabs" width="993" height="869" data-path="images/workflows/csat-survey-channels.png" />
    </Frame>
  </Step>

  <Step title="Write the message">
    Use the editor to write a message and insert variables with `/`.

    <Frame>
      <img src="https://mintcdn.com/chatarmincom/A54BHt_5VfpG_omm/images/workflows/csat-survey-editor.png?fit=max&auto=format&n=A54BHt_5VfpG_omm&q=85&s=9ccff864d45bd176a28125e16a9bb8c7" alt="CSAT Survey message editor with variables" width="775" height="397" data-path="images/workflows/csat-survey-editor.png" />
    </Frame>
  </Step>

  <Step title="Preview and test">
    Use the workflow tester to preview the survey for each enabled channel.

    <Frame>
      <img src="https://mintcdn.com/chatarmincom/A54BHt_5VfpG_omm/images/workflows/csat-survey-preview.png?fit=max&auto=format&n=A54BHt_5VfpG_omm&q=85&s=bda16157869de8501ec9b227020b5583" alt="Preview of a CSAT email survey" width="948" height="829" data-path="images/workflows/csat-survey-preview.png" />
    </Frame>
  </Step>
</Steps>

## Channel behavior

<Tabs>
  <Tab title="Email">
    Email supports formatted messages, `{{likert_scale}}`, and `{{survey_link}}`.
  </Tab>

  <Tab title="WhatsApp">
    WhatsApp uses `{{survey_link}}` and opens the survey in the customer's browser.
  </Tab>

  <Tab title="Web widget">
    The web widget supports in-chat emoji ratings with `{{likert_scale}}`.
  </Tab>

  <Tab title="Social channels">
    Social channels should use short messages with `{{survey_link}}`. Character limits apply.
  </Tab>
</Tabs>

## Useful variables

* `{{contact.firstname}}`
* `{{contact.lastname}}`
* `{{ticket.ticket_number}}`
* `{{ticket.subject}}`
* `{{survey_link}}`
* `{{likert_scale}}`

<Note>
  Channel signatures are added automatically based on the channel configuration.
</Note>

## Analytics

CSAT analytics show satisfaction score, response rate, agent performance, trend analysis, and customer comments.

<Frame>
  <img src="https://mintcdn.com/chatarmincom/vb2wwQSrPPecnh8R/images/workflows/csat-survey-analytics.png?fit=max&auto=format&n=vb2wwQSrPPecnh8R&q=85&s=b4a0a6670abeebc2f0d4e422dc7ddb83" alt="CSAT survey analytics dashboard" width="3437" height="1399" data-path="images/workflows/csat-survey-analytics.png" />
</Frame>

## Best practices

* Send surveys shortly after resolution.
* Keep the message simple.
* Use the customer's name and ticket context.
* Test each channel before publishing.
* Review analytics weekly.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Survey was not sent">
    Check that the ticket has contact information, the channel is enabled, and a survey was not already sent for the ticket.
  </Accordion>

  <Accordion title="Variables appear as raw text">
    Check the variable spelling and confirm the data exists on the contact or ticket.
  </Accordion>

  <Accordion title="Response rate is low">
    Shorten the message, send closer to resolution, and use the customer's preferred channel.
  </Accordion>

  <Accordion title="Message is too long">
    Create shorter channel-specific templates, especially for social channels.
  </Accordion>
</AccordionGroup>
