## Overview

Inside a conversation you write in two modes: **reply**, which goes to the contact over the channel, and
**private note**, visible only to your team. In notes you can **mention** colleagues to pull them in and
ask for help — without the contact seeing anything.

## Prerequisites

- An open conversation in an inbox you have access to.
- For mentions, colleagues must have access to the same inbox/account.

## Step by step

1. Open the conversation and find the composer at the bottom.
2. To talk to the customer, keep the **Reply** mode and type your message.
3. To reply to a specific message, use **Reply to this message** in the bubble's quick actions. On a
   phone or tablet, tap **More message actions**, then **Reply to this message**. The quote appears
   above the composer and can be dismissed with its close button before sending.
4. For an internal record, switch to **Private note** mode — the look changes to signal it's internal.
   Write your note.
5. To call a colleague in a note, type **@** and pick the name from the list. The picker opens
   anchored to the `@`, with the search field already focused — keep typing to filter, then use
   ↑ ↓ and **Enter** to choose. They get a notification and the conversation shows up in their
   **mentions** queue.
6. Use text formatting (bold, lists, links) and attachments when you need to.
7. Send. Replies go to the contact; notes stay with the team.

### Editing a sent message

When the channel, your permissions and the editing window allow it, open the message menu
and choose **Edit message**. Space and Enter edit the text normally, including in the middle
of a line. Use **Save**, **Ctrl+Enter** or **Cmd+Enter** to confirm.

The editor preserves the original text, including markup, spaces and line breaks.
**Save** stays disabled until the content changes; empty text is not sent.

While saving, the controls prevent another submission. If the edit fails, your text stays
in the dialog for an explicit retry. **Cancel** or **Esc** closes the dialog without saving
changes that have not been submitted.

## Settings & options

- **Email recipients**: To, CC and BCC apply to replies in email inboxes. An email address saved on
  the contact does not change replies over WhatsApp or another channel. When switching conversations,
  check the recipients of the email conversation; private notes stay with the team.
- **Reply vs. note**: the selected mode decides who sees the message. Always check before sending.
- **Mentions (@)**: trigger a notification and feed the colleague's mentions queue.
- **Formatting**: bold, italic, lists, quotes, code and links.
- **Accelerators**: combine with canned responses and macros to save time.

### The composer pickers: @, : and {{

Mentions, emojis, variables, canned responses and macros all use **the same picker**. It opens
anchored to the character you just typed, above or below that line — whichever side of the screen
has more room — with the search field already focused: keep typing and the list filters.

| Trigger | What it opens | Where it works |
|---|---|---|
| `@` | Agents and teams to mention | Private note — and in Internal chat, which carries the channel's member list |
| `@` | Group participants | A reply in a WhatsApp Web group conversation — a simple list, see the note below |
| `:` + 2 letters | Emojis by name or shortcode | Reply and note |
| `{{` | Dynamic variables | Reply (does not open in a private note) |
| `/` | Canned responses | Reply |
| `#` | Macros | Reply and note |

The trigger is only recognised at the **start of the line or after a space**. That is why an email
address or a time such as `14:30` opens nothing.

**The exception: the participant list of a WhatsApp group.** It is not this picker but a simple list
just above the composer: it has no search field of its own, no tabs and no preview panel. What you
type after the `@` stays in the message text and filters the list, which matches the name, the phone
number and the digits of the number. Use ↑ ↓ and **Enter** to choose, `Esc` to close.

**The keyboard is the same in all the pickers above:**

| Key | What it does |
|---|---|
| ↑ ↓ (or Ctrl+P / Ctrl+N) | Moves the selection; the list wraps from the last item to the first |
| Tab / Shift+Tab | The same, without leaving the typing line |
| Enter | Inserts the selected item |
| Esc | Closes the picker and hands focus back to the text |
| Backspace with an empty search | Erases the trigger character and closes with it |
| ← → | Agents-and-teams picker only, and only with an empty search: switches between the All / Agents / Teams tabs |

Moving the mouse over a row selects it; clicking inserts. Clicking outside closes.

**Closing without inserting.** `Esc` closes the picker but **keeps the character in the text** —
exactly what you want when you did mean to type a literal `@`. To remove the character together with
the picker, use **Backspace with the search field empty**. Once closed, the picker only reopens when
you type the trigger afresh.

**The preview panel.** When there is room, the picker shows a panel with the details of the selected
item next to the list. On wide screens it sits to the right; on narrow screens it drops below the
list; and when it fits neither way, the picker shows the list alone, which keeps working the same.

#### Mention (@)

- The list carries **Agents** and **Teams**, grouped. The **All**, **Agents** and **Teams** tabs
  filter the list; the Agents and Teams ones carry that group's count beside the label. With an empty
  search field, ← → also switch between the tabs.
- The search matches the **name**. Picking an item inserts the mention into the note.
- The preview shows the avatar with the availability dot, the name, the email, the person's
  **Availability** and **Role**. For a team, it shows whether **Auto assign** is enabled and warns
  you when **you are a member of this team**.
- Name and email are sensitive data: with **Presentation mode** on, they appear masked here too,
  under the agent-name and phone-and-email categories the administrator has enabled.

#### Emoji (:)

- Type `:` followed by **at least two letters** — `:gr` already opens the list.
- The search matches the emoji **name** and **shortcode**, ignoring spaces, hyphens and underscores:
  `grinning face`, `grinningface` and `grinning_face` all reach the same emoji.
- Each row shows the emoji, its name and the shortcode between colons. This picker has **no preview
  panel** — it is the list alone.
- Before you type, the list is empty with the hint "Type to search emojis"; when nothing matches, it
  says it found no items for that search term.

#### Variable ({{)

The variable picker is the same component, with a preview panel showing **the real value the token
will produce in this conversation** before you send. It is described in detail in
[Dynamic variables](/hc/ajuda/articles/administration-variaveis-dinamicas-en).

### Delete messages

On a computer, use the bubble actions or right-click; on a phone, tap **More message actions**. Choose
**Delete**. The message
**does not disappear from the conversation**: the content and attachments stay visible in the
panel under a "deleted" banner, with a record of **who deleted it** — the bubble shows
"Deleted by {agent name}", for full supervision. This also applies when the deletion happens
**from the phone** (on WhatsApp connected via device): the recipient stops seeing the message,
but the panel preserves the history.

Everything is configurable per inbox under **Inbox settings → Configuration**:

- **Allow deleting messages** (default: on) — turn off to remove the delete action in this inbox;
  the API also starts rejecting deletions.
- **Keep deleted messages visible** (default: on) — turn off to hide the content the way WhatsApp
  does (the bubble shows only "This message was deleted" and attachments are removed).

- **WhatsApp (device connection)**: deleting **your own** message deletes it **for everyone** — the
  recipient sees "This message was deleted" on their phone, just like the official app. WhatsApp's
  deletion window (~2 days) applies; past it the deletion is dashboard-only.
- **Groups (admin)**: if the connected number is a **group admin**, you can also delete another
  participant's message for everyone — same as WhatsApp's admin feature. Without admin rights the
  deletion is dashboard-only.
- **1:1 chats**: a message received from the contact cannot be deleted from their phone (WhatsApp
  does not allow it) — the deletion is dashboard-only.
- **Telegram**: deleting **your own** message also removes it on the contact's Telegram (the Bot
  API's 48-hour window; past it the deletion is dashboard-only).
- **Other channels** (WhatsApp Cloud, Instagram, Messenger, SMS, email, API, widget): there is no
  remote delete API — the message is flagged as deleted on the dashboard only.

## Use cases

- Ask a specialist to help on a case by mentioning them in a note.
- Record internal context (an agreement made, the reason for a discount) without exposing it to the customer.
- Leave instructions for the next agent who takes over the conversation.

## Tips, limits & best practices

- **Mind the mode**: confirm whether you're in Reply (goes to the customer) or Note (internal) before sending.
- **The agents-and-teams picker only opens in a private note.** In a reply, `@` does not open the
  colleague list — mentioning a colleague is an internal act. Internal chat is the exception: there
  `@` opens the channel's member list. In a WhatsApp Web group conversation it is the other way
  round: `@` opens the participant list **in the reply**, not in a note.
- **What you type after the trigger goes to the search field, not to the message.** The picker's
  search field takes focus as soon as it opens; the text only starts receiving your keystrokes again
  once the picker closes. The WhatsApp group participant list is the exception: there what you type
  stays in the message.
- Mention the right person to avoid noise; too many mentions lose their effect.
- Use notes for decisions and agreements — they become the memory of the case.

## Troubleshooting

- **The customer saw an internal note**: it was likely sent as a Reply — always check the mode before sending.
- **The mention didn't notify**: confirm the colleague has access to the inbox and that you picked the name from the list.
- **The colleague is not in the list**: the list only carries agents who have already confirmed their
  invitation. Someone with a pending invite cannot be mentioned.
- **I typed `@` and nothing opened**: to call a colleague, check that you are in **Private note**
  mode; in a WhatsApp Web group conversation, the participant list opens in **Reply** mode. Either
  way the `@` has to come at the start of the line or after a space.
- **I typed `:` and nothing opened**: letters are missing — the emoji picker only opens from the
  **second** letter after the colon. That is also why a time such as `14:30` triggers nothing.
- **I closed the picker and the character stayed in the text**: `Esc` closes only the picker. To
  erase the `@`, the `:` or the `{{` along with it, use **Backspace with the search field empty**.
- **The list opened without the details panel**: there was no room for it on screen. Widen the window
  or scroll the conversation to give the picker height — the list works the same without the preview.

### Mentions received from Instagram

Mentions received from Instagram have their own handling, separate from internal mentions of colleagues. When an old mention remains in a separate technical conversation, ask the operator to assess historical recovery. This also considers mentions whose enrichment is already marked as resolved when an active, writable Direct exists with the same confirmed author identity. Recovery does not merge conversations based only on a display name.

The assessment is restricted to the specified account, inbox and Instagram professional account. The operator should begin with a **dry-run**, which lists eligible items without changing data, querying Instagram or sending messages. Actual recovery may query Instagram to verify details, but it does not send a new DM or reply to the mention. If confirmed identity is missing, scopes differ or no eligible Direct exists, do not assume the conversations can be combined.

## See also

- [Canned responses with shortcuts](/hc/ajuda/articles/conversations-respostas-rapidas-en)
- [Attachments, voice messages, emoji and reactions](/hc/ajuda/articles/conversations-anexos-voz-emoji-reacoes-en)
- [Macros: automating sequences of actions](/hc/ajuda/articles/conversations-macros-en)
- [Dynamic variables {{ }}](/hc/ajuda/articles/administration-variaveis-dinamicas-en)