Interact with Slack with your own bot user
Emit new event when a message is posted in a direct message channel (Bot). To open a conversation, use the Pipedream Action "Send a Direct Message" to send a message from the Bot, or enable direct messages to the Bot in your App Settings (Settings->App Home->Show Tabs->Messages Tab), and send a direct message to the Bot.
Emit new event when a new message is posted to a public, private or group channel (Bot)
Add or update a single record in your Pipedream Data Store.
Add or update multiple records to your Pipedream Data Store.
The Slack Bot API allows you to build rich, interactive bots for Slack workspaces. These bots can respond to messages, post updates, and interact with users in various ways. With the Slack Bot API on Pipedream, developers can create automated workflows that trigger on specific events in Slack, such as new messages or reactions, and then perform defined actions, like sending data to other apps or processing the information within Pipedream's serverless platform. This tight integration with Pipedream enables both simple and complex automations, leveraging Pipedream's ability to connect with numerous apps and its powerful built-in code steps.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
slack_bot: {
type: "app",
app: "slack_bot",
},
},
async run({steps, $}) {
return await axios($, {
url: `https://slack.com/api/auth.test`,
headers: {
Authorization: `Bearer ${this.slack_bot.$auth.bot_token}`,
},
method: 'post',
})
},
})
Data Stores are a key-value store that allow you to persist state and share data across workflows. You can perform CRUD operations, enabling dynamic data management within your serverless architecture. Use it to save results from API calls, user inputs, or interim data; then read, update, or enrich this data in subsequent steps or workflows. Data Stores simplify stateful logic and cross-workflow communication, making them ideal for tracking process statuses, aggregating metrics, or serving as a simple configuration store.
export default defineComponent({
props: {
myDataStore: {
type: "data_store",
},
},
async run({ steps, $ }) {
await this.myDataStore.set("key_here","Any serializable JSON as the value")
return await this.myDataStore.get("key_here")
},
})