Bot for Slack TRIGGER
New Direct Message
- Trigger
- Polling
- API key
- Webhook delivery
IMPLEMENTATION
Deploy this event source
Connect the user's Bot for Slack account, configure the source, and choose the webhook where your backend receives events.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const deployed = await pd.triggers.deploy({
id: "slack_bot-new-direct-message",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
slack_bot: { authProvisionId: "apn_xxxxxxx" },
timer: { "intervalSeconds": 900 },
channelId: "User Channel",
},
webhookUrl: "https://example.com/webhooks/slack-bot",
})
console.log(deployed.id)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/triggers/deploy \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "slack_bot-new-direct-message",
"webhook_url": "https://example.com/webhooks/slack-bot",
"configured_props": {
"slack_bot": { "authProvisionId": "apn_xxxxxxx" },
"timer": { "intervalSeconds": 900 },
"channelId": "User Channel"
}
}'MCP servers expose Bot for Slack actions as on-demand tools.
New Direct Message is an event source, so your application deploys it
with the Connect SDK or API and then either receives each event at a
webhook URL or retrieves events on demand with the trigger events API.MCP exposes on-demand actions. Event sources are deployed through the Connect SDK or API because they continue listening after the initial request.
SCHEMA
Configuration
These inputs define which events the source watches. Dynamic options are loaded from the connected account.
| Property | Type | Description |
|---|---|---|
timer Polling schedule | $.interface.timer | How often to poll the Slack API Required |
channelId User Channel | string | Events will only be emitted for direct messages between this user and the Bot. In order to list a Slack channel, your bot must be a member of that channel, and in order to list private channels, your bot must have the groups:read scope in the OAuth & Permissions settings in Slack for this bot. Required Dynamic |
LIFECYCLE
Event delivery
01
Connect
Your user authorizes Bot for Slack through Pipedream managed auth.
02
Deploy
Your backend deploys this source with that user's own configuration.
03
Webhook delivery
Every event is sent to the HTTP endpoint you choose when you deploy the source — after each poll.
OR
On-demand retrieval
No webhook required. Your app or agent can fetch recent events from the trigger events API.
REFERENCE
Trigger details
- Registry key
- slack_bot-new-direct-message
- Version
- 0.0.5
- App
- Bot for Slack
- Authentication
- API key
- Delivery
- Polling source
- Output
- Events emitted by Bot for Slack.
- Source
- View on GitHub ↗