rogeriq conversations

The conversation surface mirrors the /v1/projects/:pid/conversations endpoints.

Subcommands

bash
rogeriq conversations list \ [--status open|snoozed|resolved|closed] \ [--priority low|normal|high|urgent] \ [--channel email|chat|slack|discord|telegram|api|widget] \ [--assigned-to <user-id>] \ [--contact <contact-id>] \ [--q "search text"] \ [--limit 50] [--cursor <cursor>]

Returns paginated { data, cursor, has_more }. Pass the returned cursor on the next call to walk pages.

bash
rogeriq conversations get con_xxx

Returns the conversation with its recent messages.

bash
rogeriq conversations create \ [--subject "Refund question"] \ [--contact ctc_xxx] \ [--channel api] \ [--priority normal] \ [--tags billing,refund]
bash
rogeriq conversations update con_xxx \ [--subject ...] [--status ...] [--priority ...] \ [--assigned-to <user-id>] [--tags a,b,c]
bash
rogeriq conversations reply con_xxx "Thanks — looking into it."rogeriq conversations reply con_xxx "Note for the team" --internal

--internal posts an internal note that the customer cannot see. Sets is_internal: true on the message.

bash
rogeriq conversations resolve con_xxxrogeriq conversations snooze con_xxxrogeriq conversations assign con_xxx <user-id>

Each is sugar over update with the corresponding fields.

Examples

Triage the queue oldest-first

bash
rogeriq conversations list --status open --json \ | jq -r '.[] | "\(.created_at)\t\(.id)\t\(.subject)"'

Auto-classify everything open

bash
for id in $(rogeriq conversations list --status open --quiet); do rogeriq agent classify "$id"done

Resolve every conversation tagged "duplicate"

bash
for id in $(rogeriq conversations list --status open --json \ | jq -r '.[] | select(.tags|index("duplicate")) | .id'); do rogeriq conversations reply "$id" "Merged with the primary thread." rogeriq conversations resolve "$id"done

Scope

All conversation mutations require write scope (or conversations:write). Reads require read (or conversations:read).

Ask a question... ⌘I