Native support chat
Persistent workspace support threads and file sharing on dev.
Native support chat is available on dev only. Production keeps its existing support experience. Messages and files stay in Oxygen; this chat does not send through Plain or Slack.
The corner chat bubble opens your workspace's shared support channel. Create a separate thread for each issue, return to older conversations and attach files. Workspace members share the channel; unrelated workspaces cannot read it. Messages support up to 20,000 characters; each file can be up to 10 MiB.
CLI
Select your dev profile and workspace before running these commands:
oxygen chat channel --json
oxygen chat threads create --subject "Import stopped" --body "The import stopped after row 20." --json
oxygen chat threads get --thread-id THREAD_ID --limit 25 --json
oxygen chat files upload --thread-id THREAD_ID --file ./import.csv --json
oxygen chat threads reply --thread-id THREAD_ID --body "Here is the source file." --attachments FILE_ID --json
oxygen chat files get --thread-id THREAD_ID --file-id FILE_ID --output ./download.csv --json
oxygen chat threads read --thread-id THREAD_ID --jsonUpload returns an attachment ID; include that ID in a reply to share the file.
chat channel --search "import" finds threads by subject and message text.
Downloads require authorization and refuse to overwrite an existing local file.
Use the message cursor with --after for new messages or --before for older
history. --search searches message text. An --idempotency-key on creation or
reply avoids duplicate messages when retrying the same submission.
Dev feedback submitted through the CLI or MCP also appears in native support.
Existing feedback inputs remain available. Use the returned native thread ID to
continue the discussion with chat threads reply.
MCP
Discover native support through oxygen_capabilities_search, then hydrate the
selected schema and use the capability read or call gateway. The tools live in
the workspace domain; they do not add tools to the default core list.
Reading the channel can initialize it, so use the capability call gateway for
oxygen_chat_channel; thread and file reads use the read gateway.
| Intent | Capability |
|---|---|
| Read the workspace channel | oxygen_chat_channel |
| Create or read an issue | oxygen_chat_thread_create, oxygen_chat_thread_get |
| Reply or mark read | oxygen_chat_thread_reply, oxygen_chat_thread_read |
| Upload or download a file | oxygen_chat_file_upload, oxygen_chat_file_get |
Uploads accept thread_id, name, content_type and data_base64. Replies
accept body, optional attachments containing uploaded IDs and optional
mentions containing member IDs. Public replies are visible to the customer;
visibility: "internal" requires staff and creates a private note.
Staff inbox
Staff use /admin/chat on dev to inspect channels, customer plan and spending,
priority, assignment and fixing-agent activity. The matching CLI starts with
oxygen chat admin list and oxygen chat admin channel --channel-id CHANNEL_ID.
Staff-only MCP capabilities are available through exact capability dispatch.
Each thread tracks support status (todo, snoozed, done), optional waiting
for customer, fixing-agent progress and release status independently. Release is
none, dev or prod; unavailable verification is shown as stale evidence.
Release status does not complete a thread automatically.
Use the merged dev squash commit as the fix SHA.
oxygen chat threads update --thread-id THREAD_ID --status todo --assignee-email [email protected] --json
oxygen chat threads update --thread-id THREAD_ID --agent-id session-id --agent-name "Fixing agent" --agent-stage fixing --agent-summary "Repairing the import" --json
oxygen chat threads update --thread-id THREAD_ID --release-fix-sha COMMIT_SHA --release-required-roles web --json
oxygen chat release-check --thread-id THREAD_ID --jsonThread updates also accept --priority, --waiting-for-customer,
--no-waiting-for-customer and --snoozed-until. Clear optional assignment,
snooze or agent fields with the corresponding --clear-* flag. Agent progress
is reported by the fixing workflow; chat does not automatically start an agent.