DevCom.AgenticRuntime.Plugin.Slack
1.0.1
See the version list below for details.
dotnet add package DevCom.AgenticRuntime.Plugin.Slack --version 1.0.1
NuGet\Install-Package DevCom.AgenticRuntime.Plugin.Slack -Version 1.0.1
<PackageReference Include="DevCom.AgenticRuntime.Plugin.Slack" Version="1.0.1" />
<PackageVersion Include="DevCom.AgenticRuntime.Plugin.Slack" Version="1.0.1" />
<PackageReference Include="DevCom.AgenticRuntime.Plugin.Slack" />
paket add DevCom.AgenticRuntime.Plugin.Slack --version 1.0.1
#r "nuget: DevCom.AgenticRuntime.Plugin.Slack, 1.0.1"
#:package DevCom.AgenticRuntime.Plugin.Slack@1.0.1
#addin nuget:?package=DevCom.AgenticRuntime.Plugin.Slack&version=1.0.1
#tool nuget:?package=DevCom.AgenticRuntime.Plugin.Slack&version=1.0.1
DAP Slack Plugin
Trigger a DevCom Agentic Platform (DAP) agent by @mentioning a Slack bot in a channel, and get the agent's reply back in the same channel — threaded under the message that mentioned it.
Unlike the Telegram plugin (which long-polls), Slack pushes events to DAP over HTTPS via the Events API, so the plugin exposes a single public endpoint and does no polling.
Features
slack-mentiontrigger — pairs a Slack app to an agent; anapp_mentionfires the agent with the message text (mention stripped) plus Slack context (channel, user, thread).- Threaded, streamed replies — the agent's answer is posted back and edited in place as it
streams, threaded under the triggering message by default (
chat.update, debounced to respect Slack's ~1 msg/sec/channel limit). - Session continuity — follow-up @mentions in the same thread continue the same agent conversation (session keyed by channel + thread).
- Per-agent pairing / multi-tenant — bot token, signing secret, and channel allow-list live on the per-agent trigger config, so one DAP deployment can pair multiple agents to multiple Slack apps/workspaces, each routed independently.
- Request authenticity — every inbound event is verified (
X-Slack-SignatureHMAC-SHA256 +X-Slack-Request-Timestamp±5-minute replay window); unverifiable requests get401and fire nothing. Redeliveries are de-duplicated byevent_id.
Configuration
The plugin has no plugin-wide settings. Configure each agent's Slack trigger with:
| Setting | Description |
|---|---|
| Bot Token | Bot User OAuth Token (xoxb-…) — needs chat:write + app_mentions:read |
| Signing Secret | The Slack app's Signing Secret — used to verify inbound events |
| Allowed channel IDs | Optional comma-separated channel IDs (e.g. C0123ABC) permitted to trigger the agent; blank = any channel the bot is in |
| Reply in thread | Thread the reply under the triggering message (default on); off posts to the channel |
Slack app setup
Create an app at https://api.slack.com/apps → Create New App → From scratch.
Add scopes — OAuth & Permissions → Bot Token Scopes: add
app_mentions:readandchat:write.Install to workspace — Install App → copy the Bot User OAuth Token (
xoxb-…).Copy the Signing Secret — Basic Information → App Credentials → Signing Secret.
Create the DAP credential — in DAP, create a
slack-mentioncredential with the bot token and signing secret, and click Test (runsauth.test) to confirm it connects.Enable Event Subscriptions — Event Subscriptions → toggle on → Request URL:
https://<your-dap-host>/api/x/DevCom.AgenticRuntime.Plugin.Slack/eventsSlack sends a one-time
url_verificationchallenge; the endpoint answers it, so the URL shows Verified. The URL must be publicly reachable and registered per environment.Subscribe to the event — Subscribe to bot events → add
app_mention→ Save Changes (reinstall the app if Slack prompts you to).Bind the agent — add a
slack-mentiontrigger to the agent, referencing the credential and (optionally) an allowed-channels list. Invite the bot to the channel (/invite @yourbot) and @mention it.
Out of scope (v1)
Slash commands, interactive components (buttons/modals), Socket Mode, direct messages, non-mention channel listening, file/attachment ingestion, and HITL notify/resolve over Slack — see the follow-up tickets.
Changelog
1.0.1
- fix(DAP-251, slack): resolve a plugin-install failure —
SlackEventProcessor(a bootstrapper singleton) can't haveITriggerContextconstructor-injected because the plugin's inner DI container doesn't resolve it; it is now passed per-dispatch from the events endpoint.
1.0.0
- feat(DAP-251, slack):
slack-mentiontrigger via the Slack Events API — signedapp_mentionevents fire the bound agent and stream a threaded reply back into the channel; per-config credentials (bot token + signing secret), channel allow-list, thread session continuity, andevent_iddedupe.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- DAP.Plugin.Sdk (>= 1.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.