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

# CSAT Survey - Collect Customer Satisfaction Feedback

> Automatically send satisfaction surveys to customers after ticket resolution to measure service quality

## Overview

The CSAT (Customer Satisfaction) Survey flow action enables you to automatically collect feedback from customers after their support interactions. This powerful tool helps measure service quality, identify areas for improvement, and track agent performance through simple emoji-based ratings or detailed survey responses.

## Key Features

<CardGroup cols={2}>
  <Card title="Multi-channel Support" icon="comments">
    Send surveys via Email, WhatsApp, Web Widget, Instagram, Facebook, and TikTok
  </Card>

  <Card title="Smart Delivery" icon="shield-check">
    Built-in duplicate prevention ensures customers receive only one survey per ticket
  </Card>

  <Card title="Flexible Templates" icon="file-lines">
    Customize messages for each channel with dynamic variables and formatting
  </Card>

  <Card title="Quick Ratings" icon="face-smile">
    One-click emoji ratings (😡 😟 😐 😊 😍) or full survey links for detailed feedback
  </Card>
</CardGroup>

## Prerequisites

<Note>
  Before using the CSAT Survey action, ensure: - Your workflow has a trigger that provides ticket
  context (e.g., "Ticket Resolved", "Ticket Closed") - Customer contact information is available in
  the ticket - The ticket has a valid channel associated with it
</Note>

## Configuration Guide

<Steps>
  <Step title="Add CSAT Survey Action">
    Navigate to your workflow and click the **+** button to add a new action. Search for "CSAT Survey" and select it from the list.

    <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="Adding CSAT Survey action to workflow" width="1011" height="876" data-path="images/workflows/csat-survey-add-action.png" />
    </Frame>
  </Step>

  <Step title="Configure Channel Messages">
    The CSAT Survey action displays tabs for each available channel. Click on a channel tab to
    configure its settings.

    <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 configuration tabs" width="993" height="869" data-path="images/workflows/csat-survey-channels.png" />
    </Frame>

    For each channel: - Toggle the switch to enable/disable the channel - Compose your survey message
    using the text editor - Insert variables using the `/` key
  </Step>

  <Step title="Create Survey Messages">
    Use the rich text editor to create engaging survey messages. Type `/` to insert variables:

    <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="Message editor showing variable insertion" width="775" height="397" data-path="images/workflows/csat-survey-editor.png" />
    </Frame>

    <Warning>
      Social channels have character limits: - Instagram: 1,000 characters - Facebook: 900 characters

      * TikTok: 150 characters
    </Warning>
  </Step>

  <Step title="Preview and Test">
    Use the workflow tester to preview how your surveys will appear across different channels.

    <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 email survey with emoji ratings" width="948" height="829" data-path="images/workflows/csat-survey-preview.png" />
    </Frame>
  </Step>
</Steps>

## Channel-Specific Features

Each channel has unique capabilities and limitations for CSAT surveys:

<Tabs>
  <Tab title="Email">
    **Features:**

    * Full HTML formatting support
    * Clickable emoji rating buttons in a styled card
    * Embedded "Rate your conversation" section
    * No character limit

    **Supported Variables:**

    * `{{likert_scale}}` - Displays clickable emoji buttons (😡 😟 😐 😊 😍)
    * `{{survey_link}}` - Direct link to full survey page

    <Tip>
      Email surveys have the highest response rates due to the visual emoji buttons
    </Tip>
  </Tab>

  <Tab title="WhatsApp">
    **Features:**

    * CTA button that opens survey in browser
    * Plain text messages (HTML automatically stripped)
    * Native WhatsApp "Rate Us" button
    * No character limit

    **Supported Variables:**

    * `{{survey_link}}` - Direct link to survey (required)
    * `{{likert_scale}}` - Not supported (use survey\_link instead)

    <Info>WhatsApp displays a "Rate Us" button that opens the survey page in the customer's browser</Info>
  </Tab>

  <Tab title="Web Widget">
    **Features:**

    * Interactive emoji rating buttons (😡 😟 😐 😊 😍)
    * One-click ratings directly in chat
    * Seamless in-widget experience
    * No character limit

    **Supported Variables:**

    * `{{likert_scale}}` - Creates 5 clickable emoji rating buttons
    * `{{survey_link}}` - Direct link to survey page

    <Tip>Widget users can rate with a single click - no need to leave the chat!</Tip>
  </Tab>

  <Tab title="Social Channels">
    **Instagram**, **Facebook**, **TikTok**, **YouTube**

    <Info>
      **Coming Soon** - Interactive CSAT surveys for social channels are currently in development. For now, you can share the survey link manually via workflow trigger in the chat input or use email/WhatsApp/Web Widget for full CSAT functionality.
    </Info>

    **Current Limitations:**

    * Survey link sharing only (no interactive buttons)
    * `{{likert_scale}}` not supported
    * Character limits apply (Instagram: 1,000, Facebook: 900, TikTok: 150)

    **Available Variable:**

    * `{{survey_link}}` - Direct link to survey page
  </Tab>
</Tabs>

## Available Variables

Use these variables in your survey messages to personalize the experience:

<AccordionGroup>
  <Accordion title="Contact Variables">
    <ResponseField name="contact.firstname" type="string">
      Customer's first name from their profile
    </ResponseField>

    <ResponseField name="contact.lastname" type="string">
      Customer's last name from their profile
    </ResponseField>

    <ResponseField name="contact.email" type="string">
      Customer's email address
    </ResponseField>

    <ResponseField name="contact.phone" type="string">
      Customer's phone number
    </ResponseField>
  </Accordion>

  <Accordion title="Ticket Variables">
    <ResponseField name="ticket.ticket_number" type="string">
      Unique ticket identifier (e.g., "2844")
    </ResponseField>

    <ResponseField name="ticket.subject" type="string">
      Ticket subject or title
    </ResponseField>

    <ResponseField name="ticket.channel" type="string">
      Channel where ticket was created
    </ResponseField>

    <ResponseField name="ticket.status" type="string">
      Current ticket status
    </ResponseField>
  </Accordion>

  <Accordion title="Survey Variables">
    <ResponseField name="survey_link" type="string" required>
      Unique URL to the survey page. Always available for all channels.
    </ResponseField>

    <ResponseField name="likert_scale" type="string">
      Channel-specific rating interface. Shows clickable emoji buttons for Email and Web Widget. Not supported for WhatsApp or social channels.
    </ResponseField>
  </Accordion>
</AccordionGroup>

## Message Templates

Here are example templates for different channels:

<CodeGroup>
  ```text Email Template theme={null}
  Hello {{contact.firstname}},

  Thank you for contacting our support team regarding ticket #{{ticket.ticket_number}} - "{{ticket.subject}}".

  We'd love to hear about your experience:

  {{likert_scale}}

  Or if you prefer, you can provide detailed feedback here: {{survey_link}}

  ```

  For your Information: `- Signature is getting automatically added based on your channel`

  ```text WhatsApp Template theme={null}
  Hi {{contact.firstname}}! 👋

  Thanks for reaching out about "{{ticket.subject}}" (Ticket #{{ticket.ticket_number}}).

  We'd love to hear about your experience! Please rate us using the button below.

  {{survey_link}}
  ```

  ```text Web Widget Template theme={null}
  Hi {{contact.firstname}}! 👋

  Thanks for chatting with us about ticket #{{ticket.ticket_number}}.

  How would you rate your experience?

  {{likert_scale}}

  Or leave detailed feedback here: {{survey_link}}
  ```

  ```text Instagram/Facebook Template theme={null}
  Hey {{contact.firstname}}! Thanks for contacting us about "{{ticket.subject}}".

  We'd appreciate your feedback on how we did: {{survey_link}}

  Your opinion helps us improve! 🙏
  ```

  ```text TikTok Template (150 char limit) theme={null}
  How did we do with ticket #{{ticket.ticket_number}}? Rate us: {{survey_link}}
  ```
</CodeGroup>

For your Information: `- Signature is getting automatically added based on your channel`

## Survey Analytics

Track and analyze survey responses through the dedicated surveys dashboard:

<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>

**Available metrics:**

* Overall satisfaction score
* Response rate by channel
* Individual agent performance
* Trend analysis over time
* Detailed customer comments

## Best Practices

<Tip>
  **Timing is crucial**: Send surveys 24-48 hours after ticket resolution for optimal response rates

  **Personalization matters**: Always use the customer's name and reference their specific issue

  **Keep it simple**: One-click ratings get 3x more responses than detailed surveys

  **Test thoroughly**: Use the workflow tester with different scenarios before going live

  **Monitor regularly**: Check survey analytics weekly to identify trends and coaching opportunities
</Tip>

## Technical Details

<Info>
  **Survey Expiration**: All surveys expire after 30 days to maintain data relevance

  **Duplicate Prevention**: Each ticket can only trigger one survey, preventing customer fatigue

  **Security**: Survey links use secure tokens and cannot be guessed or shared

  **Data Retention**: Survey responses are permanently linked to tickets and agents for historical analysis
</Info>

## Common Issues & Solutions

<AccordionGroup>
  <Accordion title="Survey not sending to customer">
    **Possible causes:**

    * Ticket missing contact information
    * Channel not enabled in survey configuration
    * Survey already sent for this ticket
    * Customer has no email/phone for the channel

    **Solution:**
    Check the workflow execution logs for specific error messages
  </Accordion>

  <Accordion title="Variables showing as {{variable}} in message">
    **Possible causes:** - Incorrect variable syntax (check spelling) - Variable data not available
    (e.g., contact.firstname is empty) - Using unsupported variables for the channel **Solution:** Use
    the workflow tester to verify variable values and availability
  </Accordion>

  <Accordion title="Low response rates">
    **Possible causes:** - Sending surveys too late after resolution - Message not engaging or too
    long - Missing personalization - Wrong channel for customer preference **Solution:** A/B test
    different message templates and sending times
  </Accordion>

  <Accordion title="Character limit exceeded">
    **Possible causes:**

    * Message too long for social channels
    * Variables expanding beyond limit

    **Solution:**
    Use the character counter in the editor and create channel-specific short versions
  </Accordion>
</AccordionGroup>

## Example Workflows

**Condition based Customer Surveys:**

1. Trigger: Ticket Closed
2. Condition: Check if customer meets a condition
3. CSAT Survey: Send personalized survey
