# Conversations

> View and update customer conversations — tickets, ideas, feedback, chats.

```bash
getresolved conversation <action> [...]
# Aliases: `conv`, `conversations`
```

**Actions** *(aliases in parens)*: `list` (`ls`), `show` (`view`, `get`), `update` (`edit`), `reply` (`message`, `msg`), `help`.

`<id>` is a conversation UUID. Use `getresolved conversation list` to find it.

**Enums**

- `type`: `ticket` | `idea` | `feedback` | `chat`
- `status`: `open` → `in_progress` → `resolved` | `dismissed`
- `priority`: `low` | `normal` | `high` | `urgent`

## List

```bash
getresolved conversation list --type=ticket --status=open
getresolved conversation list --type=ticket,feedback --priority=high,urgent
getresolved conversation list --limit=20 --offset=40
```

**Filters**: `--type=<csv>`, `--status=<csv>`, `--priority=<csv>`, `--product=<id>`, `--limit=<n>`, `--offset=<n>`.

## Show

```bash
getresolved conversation show <id>
getresolved conversation show <id> --json
```

## Update

Pass at least one field.

```bash
getresolved conversation update <id> --status=in_progress --priority=urgent
```

**Fields**: `--status=<status>`, `--priority=<priority>`.

## Reply — delivers a message to the customer

⚠ `getresolved conversation reply` sends a customer-facing message. The CLI refuses to run without `--yes` (or interactive confirmation on a TTY).

```bash
getresolved conversation reply <id> --body="Thanks for flagging — we shipped a fix" --yes
```

**Fields**

- `--body="…"` *(required)* — the message body sent to the user
- `--yes` — skip the interactive confirmation. Required when stdin is not a TTY.

Use `reply` only when you've been explicitly asked to message a specific conversation. Generic prompts like "leave a comment" or "leave a note" do **not** authorize sending — they belong on the related issue via `getresolved issue done <id> "…"`.

