惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
L
LangChain Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Recent Announcements
Recent Announcements
大猫的无限游戏
大猫的无限游戏
罗磊的独立博客
MongoDB | Blog
MongoDB | Blog
博客园 - 【当耐特】
博客园 - 叶小钗
I
InfoQ
MyScale Blog
MyScale Blog
H
Help Net Security
月光博客
月光博客
Vercel News
Vercel News
B
Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
D
DataBreaches.Net
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
N
Netflix TechBlog - Medium
宝玉的分享
宝玉的分享
WordPress大学
WordPress大学
GbyAI
GbyAI
Blog — PlanetScale
Blog — PlanetScale
博客园 - Franky

Recent Commits to openclaw:main

test: merge chat side-result checks · openclaw/openclaw@ddd2c2a test: merge cron history checks · openclaw/openclaw@f7eb746 test: merge responsive navigation shell checks · openclaw/openclaw@c2e4b47 docs(changelog): add codex oauth fixes · openclaw/openclaw@628e6cd test: merge navigation routing cases · openclaw/openclaw@5d8cecb Tests: mock channel registry bundled fallback · openclaw/openclaw@2b08233 Secrets: avoid broad web search discovery for single plugin config · openclaw/openclaw@a464f59 test: merge config view browser checks · openclaw/openclaw@20cf511 fix(status): align oauth health with runtime · openclaw/openclaw@eed7116 feat: add macOS screen snapshots for monitor preview (#67954) thanks … · openclaw/openclaw@f377db1 fix: report shared auth scopes in hello-ok (#67810) thanks @BunsDev · openclaw/openclaw@0b6c39b Auto-reply: avoid eager bundled route fallback · openclaw/openclaw@3ea1bf4 Tests: narrow session binding contract setup · openclaw/openclaw@54e4e16 fix(macOS): enable undo/redo in webchat composer text input (#34962) · openclaw/openclaw@00951dc Tests: speed up channel setup promotion · openclaw/openclaw@82b529a Docs: refresh agent instructions · openclaw/openclaw@5775fe2 fix(auth): serialize OAuth refresh across agents to fix #26322 (#67876) · openclaw/openclaw@8e79080 test: allow ollama public surface boundary test · openclaw/openclaw@7d4f1a6 Docs: add test performance guardrails · openclaw/openclaw@89706d3 Tests: restore context-engine usage proof · openclaw/openclaw@e4c4f95 Tests: slim context engine runtime coverage · openclaw/openclaw@74c198f ci: retry failed custom checkouts · openclaw/openclaw@0ee5baf test: trim duplicate provider auth onboarding cases · openclaw/openclaw@1ffc02e matrix: fix sessions_spawn --thread subagent session spawning (#67643) · openclaw/openclaw@1ce2596 test: reduce auth choice fixture churn · openclaw/openclaw@857b9cd test: mock health status config boundaries · openclaw/openclaw@9d5ab4a test: mock onboard config io boundary · openclaw/openclaw@299694d test: mock legacy state plugin boundaries · openclaw/openclaw@2713089 test: mock channel install boundaries · openclaw/openclaw@b945248 test: mock doctor preview channel boundaries · openclaw/openclaw@b1a3ad4
docs(channels): slack - collapse duplicate HTTP slash-com...
vincentkoc · 2026-04-24 · via Recent Commits to openclaw:main

@@ -5,9 +5,7 @@ read_when:

55

title: "Slack"

66

---

778-

# Slack

9-10-

Status: production-ready for DMs + channels via Slack app integrations. Default mode is Socket Mode; HTTP Request URLs are also supported.

8+

Production-ready for DMs and channels via Slack app integrations. Default mode is Socket Mode; HTTP Request URLs are also supported.

1191210

<CardGroup cols={3}>

1311

<Card title="Pairing" icon="link" href="/channels/pairing">

@@ -356,6 +354,7 @@ Surface different features that extend the above defaults.

356354357355

</Tab>

358356

<Tab title="HTTP Request URLs">

357+

Use the same `slash_commands` list as Socket Mode above, and add `"url": "https://gateway-host.example.com/slack/events"` to every entry. Example:

359358360359

```json

361360

"slash_commands": [

@@ -365,131 +364,12 @@ Surface different features that extend the above defaults.

365364

"usage_hint": "[model]",

366365

"url": "https://gateway-host.example.com/slack/events"

367366

},

368-

{

369-

"command": "/reset",

370-

"description": "Reset the current session",

371-

"url": "https://gateway-host.example.com/slack/events"

372-

},

373-

{

374-

"command": "/compact",

375-

"description": "Compact the session context",

376-

"usage_hint": "[instructions]",

377-

"url": "https://gateway-host.example.com/slack/events"

378-

},

379-

{

380-

"command": "/stop",

381-

"description": "Stop the current run",

382-

"url": "https://gateway-host.example.com/slack/events"

383-

},

384-

{

385-

"command": "/session",

386-

"description": "Manage thread-binding expiry",

387-

"usage_hint": "idle <duration|off> or max-age <duration|off>",

388-

"url": "https://gateway-host.example.com/slack/events"

389-

},

390-

{

391-

"command": "/think",

392-

"description": "Set the thinking level",

393-

"usage_hint": "<level>",

394-

"url": "https://gateway-host.example.com/slack/events"

395-

},

396-

{

397-

"command": "/verbose",

398-

"description": "Toggle verbose output",

399-

"usage_hint": "on|off|full",

400-

"url": "https://gateway-host.example.com/slack/events"

401-

},

402-

{

403-

"command": "/fast",

404-

"description": "Show or set fast mode",

405-

"usage_hint": "[status|on|off]",

406-

"url": "https://gateway-host.example.com/slack/events"

407-

},

408-

{

409-

"command": "/reasoning",

410-

"description": "Toggle reasoning visibility",

411-

"usage_hint": "[on|off|stream]",

412-

"url": "https://gateway-host.example.com/slack/events"

413-

},

414-

{

415-

"command": "/elevated",

416-

"description": "Toggle elevated mode",

417-

"usage_hint": "[on|off|ask|full]",

418-

"url": "https://gateway-host.example.com/slack/events"

419-

},

420-

{

421-

"command": "/exec",

422-

"description": "Show or set exec defaults",

423-

"usage_hint": "host=<auto|sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>",

424-

"url": "https://gateway-host.example.com/slack/events"

425-

},

426-

{

427-

"command": "/model",

428-

"description": "Show or set the model",

429-

"usage_hint": "[name|#|status]",

430-

"url": "https://gateway-host.example.com/slack/events"

431-

},

432-

{

433-

"command": "/models",

434-

"description": "List providers or models for a provider",

435-

"usage_hint": "[provider] [page] [limit=<n>|size=<n>|all]",

436-

"url": "https://gateway-host.example.com/slack/events"

437-

},

438367

{

439368

"command": "/help",

440369

"description": "Show the short help summary",

441370

"url": "https://gateway-host.example.com/slack/events"

442-

},

443-

{

444-

"command": "/commands",

445-

"description": "Show the generated command catalog",

446-

"url": "https://gateway-host.example.com/slack/events"

447-

},

448-

{

449-

"command": "/tools",

450-

"description": "Show what the current agent can use right now",

451-

"usage_hint": "[compact|verbose]",

452-

"url": "https://gateway-host.example.com/slack/events"

453-

},

454-

{

455-

"command": "/agentstatus",

456-

"description": "Show runtime status, including provider usage/quota when available",

457-

"url": "https://gateway-host.example.com/slack/events"

458-

},

459-

{

460-

"command": "/tasks",

461-

"description": "List active/recent background tasks for the current session",

462-

"url": "https://gateway-host.example.com/slack/events"

463-

},

464-

{

465-

"command": "/context",

466-

"description": "Explain how context is assembled",

467-

"usage_hint": "[list|detail|json]",

468-

"url": "https://gateway-host.example.com/slack/events"

469-

},

470-

{

471-

"command": "/whoami",

472-

"description": "Show your sender identity",

473-

"url": "https://gateway-host.example.com/slack/events"

474-

},

475-

{

476-

"command": "/skill",

477-

"description": "Run a skill by name",

478-

"usage_hint": "<name> [input]",

479-

"url": "https://gateway-host.example.com/slack/events"

480-

},

481-

{

482-

"command": "/btw",

483-

"description": "Ask a side question without changing session context",

484-

"usage_hint": "<question>",

485-

"url": "https://gateway-host.example.com/slack/events"

486-

},

487-

{

488-

"command": "/usage",

489-

"description": "Control the usage footer or show cost summary",

490-

"usage_hint": "off|tokens|full|cost",

491-

"url": "https://gateway-host.example.com/slack/events"

492371

}

372+

// ...repeat for every command with the same `url` value

493373

]

494374

```

495375

@@ -903,20 +783,21 @@ Same-chat `/approve` also works in Slack channels and DMs that already support c

903783

- block actions: selected values, labels, picker values, and `workflow_*` metadata

904784

- modal `view_submission` and `view_closed` events with routed channel metadata and form inputs

905785906-

## Configuration reference pointers

786+

## Configuration reference

787+788+

Primary reference: [Configuration reference - Slack](/gateway/configuration-reference#slack).

907789908-

Primary reference:

790+

<Accordion title="High-signal Slack fields">

909791910-

- [Configuration reference - Slack](/gateway/configuration-reference#slack)

792+

- mode/auth: `mode`, `botToken`, `appToken`, `signingSecret`, `webhookPath`, `accounts.*`

793+

- DM access: `dm.enabled`, `dmPolicy`, `allowFrom` (legacy: `dm.policy`, `dm.allowFrom`), `dm.groupEnabled`, `dm.groupChannels`

794+

- compatibility toggle: `dangerouslyAllowNameMatching` (break-glass; keep off unless needed)

795+

- channel access: `groupPolicy`, `channels.*`, `channels.*.users`, `channels.*.requireMention`

796+

- threading/history: `replyToMode`, `replyToModeByChatType`, `thread.*`, `historyLimit`, `dmHistoryLimit`, `dms.*.historyLimit`

797+

- delivery: `textChunkLimit`, `chunkMode`, `mediaMaxMb`, `streaming`, `streaming.nativeTransport`, `streaming.preview.toolProgress`

798+

- ops/features: `configWrites`, `commands.native`, `slashCommand.*`, `actions.*`, `userToken`, `userTokenReadOnly`

911799912-

High-signal Slack fields:

913-

- mode/auth: `mode`, `botToken`, `appToken`, `signingSecret`, `webhookPath`, `accounts.*`

914-

- DM access: `dm.enabled`, `dmPolicy`, `allowFrom` (legacy: `dm.policy`, `dm.allowFrom`), `dm.groupEnabled`, `dm.groupChannels`

915-

- compatibility toggle: `dangerouslyAllowNameMatching` (break-glass; keep off unless needed)

916-

- channel access: `groupPolicy`, `channels.*`, `channels.*.users`, `channels.*.requireMention`

917-

- threading/history: `replyToMode`, `replyToModeByChatType`, `thread.*`, `historyLimit`, `dmHistoryLimit`, `dms.*.historyLimit`

918-

- delivery: `textChunkLimit`, `chunkMode`, `mediaMaxMb`, `streaming`, `streaming.nativeTransport`, `streaming.preview.toolProgress`

919-

- ops/features: `configWrites`, `commands.native`, `slashCommand.*`, `actions.*`, `userToken`, `userTokenReadOnly`

800+

</Accordion>

920801921802

## Troubleshooting

922803

@@ -989,10 +870,23 @@ openclaw pairing list slack

989870990871

## Related

991872992-

- [Pairing](/channels/pairing)

993-

- [Groups](/channels/groups)

994-

- [Security](/gateway/security)

995-

- [Channel routing](/channels/channel-routing)

996-

- [Troubleshooting](/channels/troubleshooting)

997-

- [Configuration](/gateway/configuration)

998-

- [Slash commands](/tools/slash-commands)

873+

<CardGroup cols={2}>

874+

<Card title="Pairing" icon="link" href="/channels/pairing">

875+

Pair a Slack user to the gateway.

876+

</Card>

877+

<Card title="Groups" icon="users" href="/channels/groups">

878+

Channel and group DM behavior.

879+

</Card>

880+

<Card title="Channel routing" icon="route" href="/channels/channel-routing">

881+

Route inbound messages to agents.

882+

</Card>

883+

<Card title="Security" icon="shield" href="/gateway/security">

884+

Threat model and hardening.

885+

</Card>

886+

<Card title="Configuration" icon="sliders" href="/gateway/configuration">

887+

Config layout and precedence.

888+

</Card>

889+

<Card title="Slash commands" icon="terminal" href="/tools/slash-commands">

890+

Command catalog and behavior.

891+

</Card>

892+

</CardGroup>