New to Kestra?
Use blueprints to kickstart your first workflows.
Automate new Slack project channel setup with Kestra: create the channel, set the topic, invite members, post a welcome message, and add a reaction.
Standing up a new Slack channel for every project, client, or initiative is repetitive manual work: someone creates the channel, types a topic, hunts down the right people to invite, writes a welcome message, and pins the house rules. This blueprint turns that whole ritual into a single declarative Kestra workflow so every project channel is created the same way, with the same conventions, every time. Pass a channel name, a topic, and a list of Slack user IDs as inputs and the flow handles the rest using the native Kestra Slack plugin.
The flow runs five Slack tasks in sequence, each authenticated with the same bot token:
create_channel (io.kestra.plugin.slack.app.conversations.Create) creates a public channel named after the channel_name input and returns its channel ID.set_topic (io.kestra.plugin.slack.app.conversations.SetTopic) applies the topic input to the new channel via outputs.create_channel.id.invite_users (io.kestra.plugin.slack.app.conversations.Invite) invites every Slack user ID from the user_ids array input.post_welcome (io.kestra.plugin.slack.app.chats.Post) posts a welcome message with the channel rules and returns the message timestamp.add_reaction (io.kestra.plugin.slack.app.reactions.Add) adds a white_check_mark reaction to the welcome message using that timestamp.Slack has no native scheduler or workflow engine to chain these API calls together, react to events, and retry on failure. With Kestra you get declarative YAML that captures the exact channel-creation convention, automatic retries when the Slack API rate-limits or errors, full execution lineage showing which channel was created and who was invited, and the ability to fire this flow from event triggers (a webhook from your project tracker, a new row in a CRM, a CI pipeline) instead of having someone do it by hand. The output of each task feeds the next, so the channel ID and message timestamp flow through automatically.
A Kestra instance and a Slack app (bot) installed in your workspace with permission to create channels, post messages, invite users, and add reactions (channels:manage, chat:write, reactions:write).
SLACK_TOKEN: a Slack bot token (xoxb-...) with chat:write and channel management permissions.SLACK_TOKEN secret to your Kestra instance.channel_name, topic, and a user_ids array of Slack user IDs (U...).isPrivate: true on create_channel to bootstrap private project channels.messageText in post_welcome with project-specific links or a canvas reference.