migration

Bring the room with you.

No app store here — just the shortest paths for bringing a room with you. Bring your structure, bring your history where the terms allow, wire your notifications in, and keep every bridge honest about where messages came from.

Channel operators can create incoming webhook URLs from channel settings when the server exposes that capability. Onyx treats webhook creation as a channel-admin action and keeps the copy clear: a webhook posts into one room, under one configured identity, with classic text fallback.

FieldBehavior
TargetOne channel per URL.
FormatCompact JSON payloads with text fallback for classic clients.
ControlsStructured buttons are limited to safe links or copy-only values; posted payloads do not run client commands.
LifecycleOperators can create, rotate, and revoke.

Onyx can import reviewed action manifests into Preferences. They become command-palette entries, stay local to the device, and are limited to two capabilities: open a URL or copy text. Payloads are not stored in the audit log.

{
  "version": 1,
  "actions": [
    {"id": "open.status", "title": "Open status", "capability": "open-url", "url": "/status/"},
    {"id": "copy.room", "title": "Copy room", "capability": "copy-text", "text": "#root"}
  ]
}

OroWasm hooks run server-side and can filter delivery before messages reach clients. Onyx treats those hooks as protocol infrastructure; user actions still pass through reviewed manifests and capability checks.

Server snapshot Bring room names, topics, roles, emoji names, pins, and bounded recent history into a reviewed import plan.
Slack export Map channels, threads, files, and users into room history where the export terms and operator review allow it.
IRC log to vault Import personal logs into the local Onyx vault so old context is searchable without rewriting server history.

Imports should land as reviewable drafts first. The operator decides what becomes server-visible and what stays local device memory.

Bridges are operational surfaces, not magic. The public contract is that a bridged room should show where messages came from, whether the bridge is healthy, and what identity mapping is being used.

  • Bridge identity is visible in the message source or room status.
  • Failures degrade to read-only or paused, not silent loss.
  • Imported or bridged messages keep provenance labels.

Integration work is tracked publicly on the roadmap. Production status belongs on Status; feature maturity belongs on Roadmap; setup details belong in the guides.

Roadmap Guides