Skip to main content
Commands for the conversations in a workspace. For fields and response details, see the Conversations API reference. For a conversation’s messages, see Messages. Samples on this page use --json, which is the format you get when output is piped as well. On a terminal without that flag the same data prints as a table. See Output formats.

List conversations

Conversations in the workspace, oldest first by default. --status filters to one or more statuses, and --updated-after returns only conversations touched since a timestamp, which is the quickest way to poll for new activity.

Show a conversation

One conversation by id, when you already have it and want the full record.
Required arguments: This command takes no flags of its own.

Add a conversation

Opens a conversation on behalf of a contact, with an opening message. The contact is matched by user-identifier first; if that matches an existing contact, email is ignored even if it names a different one. Only when user-identifier is omitted or matches nobody does email get used to find or create the contact.
--trait and --ticket-field can be repeated for more than one, for example --trait plan=Pro --trait country=US. --tag can also be repeated, and tags that don’t exist yet are created. --external-id makes the request safe to retry: a conversation with the same id already in the workspace is returned unchanged instead of creating a second one.
With --quiet the command prints only the new record’s identifier, which is convenient in a script.

Update a conversation

Changes only the fields you pass. Everything else is left alone.
Required arguments:
--tag replaces the conversation’s current tags rather than adding to them. Pass --read or --read=false on its own, or along with other fields, to mark the conversation as read or leave it as it is.