Back to jobs

Posts to Slack when an event is received

Trigger: eventTrigger

Posts a Slack message to a specific channel when an event is received.

Integrations:

/src/slackPostMessage

Alerts

1
import { TriggerClient, eventTrigger } from "@trigger.dev/sdk";
2
import { Slack } from "@trigger.dev/slack";
3
import { z } from "zod";
4
5
const client = new TriggerClient({ id: "jobs-showcase" });
6
7
const slack = new Slack({ id: "slack" });
8
9
// This job sends a basic message to a Slack channel.
10
client.defineJob({
11
id: "post-slack-message",
12
name: "Post Slack Message",
13
version: "1.0.0",
14
trigger: eventTrigger({
15
name: "slack.test",
16
schema: z.object({
17
channelID: z.string(),
18
text: z.string(),
19
}),
20
}),
21
integrations: {
22
slack,
23
},
24
run: async (payload, io, ctx) => {
25
const response = await io.slack.postMessage("post message", {
26
channel: payload.channelID,
27
text: payload.text,
28
});
29
},
30
});
31
32
// These lines can be removed if you don't want to use express
33
import { createExpressServer } from "@trigger.dev/express";
34
createExpressServer(client);