Create icon
SetTopic icon
Invite icon
Post icon
Add icon

Bootstrap a Project Slack Channel (Create, Invite, Welcome)

Automate new Slack project channel setup with Kestra: create the channel, set the topic, invite members, post a welcome message, and add a reaction.

Categories
Business

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.

How it works

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.

What you get

  • A new public Slack channel created on demand.
  • A standardized topic applied automatically.
  • The right people invited in one step from an array input.
  • A welcome message with consistent project rules posted to the channel.
  • A reaction on the welcome message to confirm setup completed.

Who it's for

  • Project and program managers spinning up channels for new clients or initiatives.
  • Engineering and operations teams that want consistent onboarding for every project.
  • Platform and internal tooling teams standardizing Slack workspace conventions.

Why orchestrate this with Kestra

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.

Prerequisites

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).

Secrets

  • SLACK_TOKEN: a Slack bot token (xoxb-...) with chat:write and channel management permissions.

Quick start

  1. Add the SLACK_TOKEN secret to your Kestra instance.
  2. Import this blueprint into your namespace.
  3. Run it, supplying channel_name, topic, and a user_ids array of Slack user IDs (U...).
  4. Confirm the new channel appears in Slack with the topic, members, welcome message, and reaction.

How to extend

  • Set isPrivate: true on create_channel to bootstrap private project channels.
  • Customize the messageText in post_welcome with project-specific links or a canvas reference.
  • Add a trigger so the channel is created automatically when a new project is opened in your tracker.
  • Chain a follow-up task to pin the welcome message or post to a parent announcements channel.
  • Loop over multiple channel definitions to provision several channels in one execution.

Links

Orchestrate with Kestra
Orchestrate Slack with Kestra
Share this Blueprint
See How

New to Kestra?

Use blueprints to kickstart your first workflows.