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

# Feedback Message

> Add a custom message to the conversation feedback dialog to guide users to your support or customer portal

# Feedback Message

Every conversation in Aster Agents ends with a **"Was this conversation helpful?"** prompt. When a user responds — whether they rate the conversation helpful or unhelpful — they see a short feedback dialog. You can add your own **custom message** to that dialog, for example to point users to your customer portal or support team when chat didn't fully resolve their question.

The message is set per organization and is **empty by default**, so nothing changes for your users until you configure it.

## Configure the message

<Note>
  Setting the feedback message requires the **Organization Admin** (`org:admin`) role. See [Roles & Permissions](/settings/roles-permissions).
</Note>

1. Go to **Control Hub → Settings**.
2. Find the **Feedback Modal** section.
3. Enter your message in the **Custom message** field.
4. Click **Save**.

The message appears in the feedback dialog on both the helpful and unhelpful paths, below the comment box.

## Supported formatting

Basic HTML is supported so you can include links and light formatting:

* Links (`a`)
* Paragraphs (`p`)
* Bold (`b` / `strong`) and italic (`i` / `em`)

A typical message linking to your support portal:

```html theme={null}
<p>Didn't find what you needed? <a href="https://help.yourcompany.com" target="_blank">Reach out to our team</a> — we're glad to help.</p>
```

Links may use `target="_blank"` to open in a new tab.

## Personalization variables

You can embed variables in the message — most usefully inside a link's URL — and they are filled in with the current user's data before the message renders. This lets a support link arrive at your portal already keyed to the right person and the right conversation.

| Variable                                   | Fills in                                                                                                       |
| ------------------------------------------ | -------------------------------------------------------------------------------------------------------------- |
| `{{user.email}}`                           | The user's email address                                                                                       |
| `{{user.name}}`                            | Full name (first + last, falling back to username)                                                             |
| `{{user.firstName}}` / `{{user.lastName}}` | Name parts individually                                                                                        |
| `{{attr.KEY}}`                             | Any custom attribute stored on the user's organization membership — e.g. `{{attr.vnum}}` for a customer number |
| `{{conversation.id}}`                      | The ID of the conversation being rated                                                                         |
| `{{conversation.url}}`                     | A direct link back to that conversation in Aster                                                               |

```html theme={null}
<p>Still stuck? <a href="https://portal.example.com/support?email={{user.email}}&vnum={{attr.vnum}}&conversation={{conversation.id}}">Open a ticket</a> and we'll pick up where the agent left off.</p>
```

<Note>
  Attribute keys under `{{attr.*}}` are **case-sensitive** — `{{attr.firmName}}` will not match a stored key named `firmname`. Variables that don't resolve render as empty rather than showing the raw `{{...}}` text.
</Note>

## Security

Your message is **sanitized before it renders**. Scripts, inline event handlers (such as `onclick`), iframes, and unsafe URL schemes (such as `javascript:`) are stripped automatically — only safe, display-oriented markup is kept. This means you can paste HTML freely without exposing your users to injected scripts.

<Warning>
  Because the content is sanitized, anything beyond basic display markup (forms, scripts, embeds, custom styling) will be removed and won't appear in the dialog.
</Warning>
