Skip to main content

How Create Slack Channel works

Use this tool when your agent needs to create a new collaboration channel and optionally invite team members and external users. The agent can set the channel name dynamically using variables from the run context — such as company slug, user ID, or project name — ensuring consistent, identifiable naming across accounts. Created channels can be public or private, and the tool supports both Slack Connect and guest invite flows for external participants.

Configuration

Inputs

Prompt
string
Instructions that guide when the agent should create channels.
Slack Team
string
required
Team/workspace where the channel will be created.
Invite Type
enum
Invite flow used for invited users. Options: slack_connect, guest
Channel Name
string
required
Channel name. Can be set by the builder user or selected by the agent.
Channel Private
boolean
Whether to create a private channel.
Invite Team Members
string[]
Optional internal teammates to invite.
Invite External Users
string[]
Optional external org users to invite.

Outputs

channel_id
string
required
The ID of the newly created Slack channel.
channel_name
string
required
The name of the newly created Slack channel.
slack_team_id
string
required
The ID of the Slack workspace where the channel was created.
invites_sent
number
required
Total count of invitations processed for the channel.
invite_sent_to_emails
string[]
required
Array of email addresses that invitations were sent to.
invite_sent_to_org_user_ids
string[]
required
Array of Flywheel user IDs that invitations were sent to.
added_csm_user_ids
string[]
required
Array of CSM user IDs that were added to the channel.
invite_type
enum
required
The type of invitation that was sent to external users. Values: slack_connect, guest
status
enum
required
Execution status for the channel creation operation. Values: success, error

Use Cases

Enterprise Customer Onboarding
Channel Name: "customer-{{company.slug}}"
Channel Private: true
Invite Team Members: [assigned_csm, onboarding_specialist]
Invite External Users: [customer_admin, customer_technical_lead]
Invite Type: slack_connect
Escalation War Room
Channel Name: "escalation-{{ticket.id}}"
Channel Private: true
Invite Team Members: [support_lead, engineering_oncall, assigned_csm]
Invite External Users: []
Purpose: Incident-specific coordination channel for rapid resolution
Renewal & Expansion Planning
Channel Name: "renewal-{{company.slug}}"
Channel Private: true
Invite Team Members: [assigned_csm, account_executive]
Invite External Users: [customer_decision_maker]
Invite Type: guest
Partner Integration Project
Channel Name: "integration-{{company.slug}}-{{project.id}}"
Channel Private: false
Invite Team Members: [solutions_engineer, assigned_csm]
Invite External Users: [partner_technical_contact, partner_project_manager]
Invite Type: slack_connect

Best Practices

Channel Naming
  • Use consistent naming conventions for easy identification (e.g., customer-, escalation-, renewal- prefixes).
  • Include relevant identifiers such as company slug, ticket ID, or project name so channels are searchable.
  • Keep names descriptive but concise — Slack enforces an 80-character limit on channel names.
Privacy & Access Settings
  • Use private channels for customer-specific conversations and sensitive topics.
  • Use public channels for internal coordination where visibility across teams is beneficial.
  • Match the Invite Type to your organization’s Slack policy — use slack_connect for long-term partnerships and guest for time-boxed collaborations.
Initial Setup & Context
  • Pair channel creation with a Slack Message tool to post a welcome message explaining the channel’s purpose and key contacts.
  • Include the assigned CSM in every customer-facing channel to ensure accountability from the start.
  • Set the channel topic or description in the follow-up message to give new members immediate context.
Channel Lifecycle Management
  • Archive channels when their purpose is fulfilled (e.g., after onboarding completes or a renewal closes) to keep the workspace clean.
  • Use the channel_id output to link the channel to the account record in Flywheel for tracking and reporting.
  • Monitor the status output to catch creation failures and route them to a fallback notification so channels are not silently skipped.