relay_modes
The support relay modes a connector offers — what a mode is, the two the core knows today, and how the manifest and the SupportRelay port must agree.
Support conversations live in the core's inbox. A relay mode is a way the connector can carry a conversation to the creator on the platform as well: a direct message to the creator's own account, a thread in a group the creator linked. relay_modes lists the modes the connector's SupportRelay port offers.
"relay_modes": ["owner_dm", "forum_group"]The list is optional, and meaningful only with the support_relay capability. SupportRelay::relayModes() must return exactly the same set (relay.modes_match_manifest). A connector without support_relay leaves it out or empty; the creator's support settings then offer Dashboard Only for that connector.
The modes the core knows
The creator chooses a mode in the project's support settings and the core stores it, so a connector may offer only the modes the core can store. Today those are two:
| Mode | The creator sees | What the connector does |
|---|---|---|
owner_dm | Direct Message to Me | Every new support message is relayed to the creator's own account on the platform as a private message; the creator replies there and relay() carries the reply back to the member. |
forum_group | Group With Topics | The creator links a group (on Telegram, by adding the bot to it); openThread() opens one thread per member in it and postToThread() mirrors every message; teammates reply in the thread. |
The picker's third option, Dashboard Only, is the core's own and needs nothing from a connector.
Explaining a mode
A mode's name says little on its own, so the connector's support_relay_options slot renders under the picker and explains what each mode means on its platform (Telegram: "create a group, turn on Topics, add the bot as an administrator"). The slot reads only its SlotContext and the connector's own language files.
What the kit checks
relay.modes_match_manifest: the sorted list SupportRelay::relayModes() returns equals the sorted list the manifest declares. Because the core stores the mode as its own enum, a mode the core does not know is refused when the creator tries to save it; declare only owner_dm, forum_group or neither until the SDK publishes a new one.
How is this guide?
management_commands
The core's in-chat admin command catalogue — every command, what it lets a creator do, and how a connector declares the subset its surface renders.
recovery
Which Disaster Recovery facets a connector performs — the five flags, the RecoverySupport methods behind each, and how the block and the recovery capabilities work together.