OpenClaw Main Adds Workspace-Scoped Slack Grid Actions and Approvals
Merged Slack changes carry the originating Enterprise Grid workspace through actions, slash commands, events and native approvals instead of trusting ambiguous channel or user IDs.
OpenClaw has merged two Slack changes into main that expand Enterprise Grid support while tightening the routing boundary. Block Kit actions, modals, shortcuts, slash commands, supported channel events and native approvals can now retain the workspace that originated them.
That qualifier—originating workspace—is the feature. In an org-wide Slack installation, a channel ID or user ID without its team scope is not enough authority to choose a destination or API client.
These are merged source changes, not proof that every released OpenClaw package contains them. Identify the containing release before changing production support expectations.
Why Enterprise Grid changes the trust model
A workspace installation has one obvious Slack API context. An Enterprise Grid org installation can receive activity from several workspaces through one app installation. Deferred work makes that harder: a button click may schedule a later update, a modal may carry state across requests, or an approval result may be delivered after the original event has finished.
PR #121014 carries Bolt’s listener-owned teamId and exact Web API client through those paths. The merged scope includes:
- Block Kit buttons and selects;
- modal submissions and closes;
- global and message shortcuts;
- slash commands and interactive argument menus;
- configured Slack tool actions; and
- channel-created and channel-renamed system events.
Sessions, deduplication keys, deferred targets and direct API calls remain workspace-qualified. Detached tool actions require an explicit workspace-qualified destination rather than guessing from a bare channel or user ID.
Native approvals now preserve the same scope
PR #120942 applies the boundary to Slack-native approval prompts and approver DMs. The implementation preserves validated workspace scope from the request, selects a workspace-specific client for prompt delivery and delayed updates, and fails closed when an Enterprise Grid approval has no event-owned workspace.
That is the correct failure mode. A privileged approval must become unavailable when its origin is ambiguous; it must not fall back to whichever team client happens to be convenient.
The approval change was also backported to the active release branch, but a backport PR is not by itself a package-version guarantee. Use release notes and your installed build identity as the final proof.
What is still deliberately unavailable
Do not read “Enterprise Grid support” as universal Slack parity. The merged routing PR explicitly leaves several surfaces outside its contract, including relay mode, App Home, Agent/Assistant lifecycle events and some binding paths. channel_id_changed remains workspace-only because it mutates persisted configuration.
A separate broader Enterprise Grid feature PR was merged into an intermediate feature branch rather than main during this evidence window. This article does not treat that stacked merge as shipped mainline behavior.
Interpretation: support matrices should be read capability by capability. The safe boundary is not “the org install works”; it is “this event type carries validated workspace ownership from listener to final side effect.”
Operator migration checks
Before enabling these surfaces on an org installation:
- inventory every configured channel, user, action and approval target;
- replace ambiguous detached targets with the documented team-qualified form;
- confirm app permissions and event subscriptions in each covered workspace;
- verify who can request and approve privileged actions;
- retain a kill switch that disables the affected Slack surface without disabling incident access; and
- stage the containing build against two test workspaces, not one.
Do not infer workspace scope from display names. Stable Slack IDs are the relevant identity material.
A two-workspace acceptance matrix
Use distinct harmless markers in workspaces A and B:
| Flow | Required proof |
|---|---|
| Button or select | One dispatch; update remains in the originating workspace and thread |
| Modal submit/close | Session and callback stay team-qualified |
| Slash command | Lookup, menu action, response and fallback use the listener workspace |
| Detached Slack tool action | Qualified target succeeds; bare ambiguous target fails closed |
| Native approval | Prompt, approver DM, callback and final update remain in one workspace |
| Channel event | Create/rename emits one event to the correct workspace session |
Also replay delayed callbacks after reconnecting the Gateway. A route that is correct only while the original listener object remains in memory is not sufficient.
Capture the originating teamId, selected client scope, session key and final destination in redacted test telemetry. Never include bot tokens or message content in shared evidence.
Bottom line
The merged work turns Enterprise Grid routing from an implicit ID lookup into an explicit workspace-owned chain. Operators should enable the new actions and approvals only after a two-workspace test proves that immediate, deferred and privileged delivery cannot cross team scope.
THE RECEIPTS
Claims should survive the click.
Primary links used for this article are listed openly. If the evidence changes, the verification date changes with it.THE OPERATOR BRIEF