Caricamento in corso...
Caricamento in corso...
Last synced: Today, 22:00
Technical reference for the OpenClaw framework. Real-time synchronization with the official documentation engine.
Use this file to discover all available pages before exploring further.
Channel docking is call forwarding for one OpenClaw session.
It keeps the same conversation context, but changes where future replies for that session are delivered.
Alice can message OpenClaw on Telegram and Discord:
json5{ session: { identityLinks: { alice: ["telegram:123", "discord:456"], }, }, }
If Alice sends this from Telegram:
text/dock_discord
OpenClaw keeps the current session context and changes the reply route:
| Before docking | After text /dock_discord |
|---|---|
| Replies go to Telegram text 123 | Replies go to Discord text 456 |
The session is not recreated. The transcript history stays attached to the same session.
Use docking when a task starts in one chat app but the next replies should land somewhere else.
Common flow:
/dock_discordDocking requires
session.identityLinksjson5{ session: { identityLinks: { alice: ["telegram:123", "discord:456", "slack:U123"], }, }, }
The values are channel-prefixed peer ids:
| Value | Meaning |
|---|---|
text telegram:123 | Telegram sender id text 123 |
text discord:456 | Discord direct peer id text 456 |
text slack:U123 | Slack user id text U123 |
The canonical key (
aliceDock commands are generated from loaded channel plugins that support native commands. Current bundled commands:
| Target channel | Command | Alias |
|---|---|---|
| Discord | text /dock-discord | text /dock_discord |
| Mattermost | text /dock-mattermost | text /dock_mattermost |
| Slack | text /dock-slack | text /dock_slack |
| Telegram | text /dock-telegram | text /dock_telegram |
The underscore aliases are useful on native command surfaces such as Telegram.
Docking updates the active session delivery fields:
| Session field | Example after text /dock_discord |
|---|---|
text lastChannel | text discord |
text lastTo | text 456 |
text lastAccountId | the target channel account, or text default |
Those fields are persisted in the session store and used by later reply delivery for that session.
Docking does not:
It only changes the delivery route for the current session.
The command says the sender is not linked.
Add both the current sender and the target peer to the same
session.identityLinks123456telegram:123discord:456The command says no active session exists.
Dock from an existing direct-chat session. The command needs an active session entry so it can persist the new route.
Replies still go to the old channel.
Check that the command replied with a success message, and confirm the target peer id matches the id used by that channel. Docking only changes the active session route; another session may still route elsewhere.
I need to switch back.
Send the matching command for the original channel, such as
/dock_telegram/dock-telegram© 2024 TaskFlow Mirror
Powered by TaskFlow Sync Engine