Manage channels
Create channel
Create channel
@Create Slack ChannelInput fields:channelName(required) - Name for the new channel. Must be lowercase with no spaces.isPrivate- Whether the channel should be private. Defaults to public.topic- Channel topic.purpose- Channel purpose.
channelLink- Direct link to the new channel. Include it in the reply so the requester can navigate to it immediately.
- Create a dedicated channel for a new project or team
- Provision an incident channel automatically when a P0 is filed
- Set up an onboarding channel for a new hire
When someone requests a new Slack channel, ask for the name, whether it should be public or private, and a short purpose. Use @Create Slack Channel, then share the channel link in the reply.
Check whether a channel exists
Check whether a channel exists
@Check Slack Channel ExistsInput fields:channelName(required) - Name of the channel to look for.channelId- Slack channel ID (C…). Use when available for reliable lookup across workspaces.
exists-truewhen the channel is found.isPrivate- Whether the channel is private.isArchived- Whether the channel is archived.
- Confirm a channel exists before adding members to it
- Check whether a channel is archived before directing someone to it
- Verify a channel name is free before suggesting it for a new request
When someone asks whether a Slack channel exists, use @Check Slack Channel Exists and report back whether it was found, whether it is private, and whether it is archived.
Update channel
Update channel
@Update Slack ChannelInput fields:channelName(required) - Current name of the channel to update.channelId- Slack channel ID for reliable lookup.newName- New name for the channel.topic- New channel topic.purpose- New channel purpose.
- Rename a channel when a project changes its name
- Update the topic to reflect a current incident status
- Set a purpose when a channel is created without one
When someone asks to rename a Slack channel or update its topic or purpose, confirm the current channel name and the change they want, then use @Update Slack Channel.
Archive channel
Archive channel
@Archive Slack ChannelInput fields:channelName(required) - Name of the channel to archive.channelId- Slack channel ID for reliable lookup.
- Archive a project channel when the project ends
- Clean up channels that have been inactive for a long time
- Archive an incident channel after it is resolved
When someone asks to archive a Slack channel, use @Check Slack Channel Exists to confirm the channel and whether it is already archived. If it is not archived, repeat the channel name back to the requester and ask them to confirm before running @Archive Slack Channel.
Change channel visibility
Change channel visibility
admin.conversations.convertToPublic and admin.conversations.convertToPrivate APIs.Requirements:- A Slack Enterprise Grid or Business+ plan.
- A connected Enterprise admin token with the
admin.conversations:writescope. A Slack org admin connects it from Settings → Integrations → Slack → Connect Enterprise Admin.
@Change Channel Visibility is a sensitive write tool because it changes who can access a channel. When Copilot drafts a rule that uses it, Copilot asks how the tool should run. See tool execution policies.Tool name: @Change Channel VisibilityInput fields:channelName(required) - Name of the channel to convert.channelId- Slack channel ID for reliable lookup.visibility(required) - Target visibility. Eitherpublicorprivate.
message- Confirmation of the channel and its new visibility.
- Missing scope - The admin token lacks
admin.conversations:write. Reconnect the Enterprise admin token from Settings → Integrations → Slack. - Feature not enabled - The Slack plan is not Enterprise Grid or Business+.
- Restricted action - A Slack workspace admin policy blocks converting the channel. Contact a Slack workspace admin.
- Make a channel private when it starts holding sensitive discussions
- Open a private project channel to the wider workspace
- Lock down an incident channel during a security investigation
When someone asks to make a Slack channel public or private, use @Check Slack Channel Exists to confirm the channel and its current visibility. If it differs from what they asked for, repeat the channel name and target visibility back to the requester and ask them to confirm before running @Change Channel Visibility. When making a channel public, remind them that its full message history becomes visible to the workspace.
Add users to channel
Add users to channel
@Add Users to Slack ChannelInput fields:channelName(required) - Name of the channel.channelId- Slack channel ID for reliable lookup.userEmails(required) - Email addresses of users to add.
addedCount- How many users were added.alreadyInChannel- How many of the requested users were already members.failedEmails- Addresses that could not be resolved to a Slack user.
- Add new hires to team and project channels during onboarding
- Grant channel access when someone joins a project
- Bulk-add participants to an incident channel
When an onboarding ticket is approved, use @Add Users to Slack Channel to add the new hire to each channel listed on the ticket. Report how many were added and flag any emails that could not be resolved.
Remove users from channel
Remove users from channel
@Remove Users from Slack ChannelInput fields:channelName(required) - Name of the channel.channelId- Slack channel ID for reliable lookup.userEmails(required) - Email addresses of users to remove.
removedCount- How many users were removed.failedEmails- Addresses that could not be resolved.
- Remove a departing employee from internal channels during offboarding
- Revoke channel access when someone rolls off a project
- Remove a contractor from channels when their engagement ends
When an offboarding ticket is filed, use @Remove Users from Slack Channel to remove the person from each channel listed on the ticket. Confirm how many removals succeeded and list any emails that failed.
Check channel membership
Check channel membership
@Check Slack Channel MembershipInput fields:channelName(required) - Name of the channel.channelId- Slack channel ID for reliable lookup.userEmail(required) - Email address of the user to check.
isMember-truewhen the user is in the channel.
- Verify someone is in a channel before directing them to post there
- Confirm membership before removing a user from a channel
- Audit who has access to a sensitive channel
When someone says they cannot see a Slack channel, use @Check Slack Channel Membership to verify whether they are a member. If they are not, offer to add them with @Add Users to Slack Channel.
Invite Slack Connect members
Invite Slack Connect members
@Invite Slack Connect MembersInput fields:channelName(required) - Name of the Slack Connect channel.channelId- Slack channel ID for reliable lookup.emails(required) - Email addresses of external users to invite.
- Invite a vendor or partner to a shared project channel
- Onboard an external collaborator to a Slack Connect channel
- Send a Slack Connect invitation as part of a customer onboarding flow
When a vendor access request is approved, use @Invite Slack Connect Members to send Slack Connect invitations to the addresses listed on the ticket. Confirm how many invitations were sent.
Manage user groups
Every tool that acts on an existing user group identifies it by the group’sname or handle.
List user groups
List user groups
@List Slack User GroupsInput fields:filter- Text matched against group names and handles.
groups- Each group’sgroupId,name,handle, andisDisabledstatus.totalCount- How many groups matched.
- Find the exact name or handle of a group before acting on it
- Show a requester which user groups match a search term
- Audit all groups before a cleanup
When someone asks to join a Slack user group but does not give its exact name, use @List Slack User Groups with a filter from their request. If more than one group matches, ask which one they mean before making any change.
Find user group
Find user group
@List Slack User Groups first.Tool name: @Find Slack User GroupInput fields:name(required) - Name or handle of the group to find.
found-falsewhen no group matches.groupId,name,handle- The group’s details when found.
- Confirm a group exists before adding or removing members
- Resolve a group name to its handle before referencing it in a message
- Check a group exists before creating one with the same name
When someone asks for the handle of a Slack user group, use @Find Slack User Group and reply with the name and handle. If the group is not found, use @List Slack User Groups to suggest close matches.
Create user group
Create user group
@Create Slack User GroupInput fields:name(required) - Name for the new user group.description- What the group is for.memberEmails- Email addresses of initial members to add.
groupId,name,handle- The new group’s details.addedCount- How many initial members were added.failedEmails- Addresses that could not be resolved.
- Create a group for a new team with its members in one step
- Set up a user group to manage channel notifications
- Provision a group as part of a team onboarding workflow
When someone requests a new Slack user group, use @Find Slack User Group to confirm the name is not taken. If it is free, use @Create Slack User Group with the requested name, description, and any initial member emails. Reply with the group's handle.
Update user group
Update user group
@Update Slack User GroupInput fields:groupName(required) - Current name of the group to update.newName- New name for the group.description- New description for the group.
- Rename a group when a team changes its name
- Update the description to reflect a group’s current purpose
- Correct a typo in a group’s name
When someone asks to rename a Slack user group or update its description, confirm the current group name and the change, then use @Update Slack User Group.
Archive user group
Archive user group
@Archive Slack User GroupInput fields:groupName(required) - Name of the group to archive.
- Disable a group when a team or project is dissolved
- Clean up groups that are no longer in use
- Archive a temporary group after an event or incident
When someone asks to archive a Slack user group, use @Find Slack User Group to confirm it exists, then repeat the group name back to the requester and ask them to confirm before running @Archive Slack User Group.
Add users to user group
Add users to user group
@Add Users to Slack User GroupInput fields:groupName(required) - Name of the user group.userEmails(required) - Email addresses of users to add.
addedCount- How many users were added.alreadyInGroup- How many were already members.failedEmails- Addresses that could not be resolved.
- Add a new hire to their team’s user groups during onboarding
- Grant access managed by a user group when someone joins a project
- Sync group membership after a team reorganization
When an onboarding ticket is approved, use @Add Users to Slack User Group to add the new hire to each user group listed on the ticket. Report how many were added and flag any addresses that could not be resolved.
Remove users from user group
Remove users from user group
@Remove Users from Slack User GroupInput fields:groupName(required) - Name of the user group.userEmails(required) - Email addresses of users to remove.
removedCount- How many users were removed.failedEmails- Addresses that could not be resolved.
- Remove a departing employee from user groups during offboarding
- Revoke access controlled by a user group when someone leaves a team
- Clean up group membership after a project ends
When an offboarding ticket is filed, use @Remove Users from Slack User Group to remove the person from each user group listed on the ticket. Confirm how many removals succeeded and list any addresses that failed.
Check user group membership
Check user group membership
@Check Slack Group MembershipInput fields:groupName(required) - Name of the user group.userEmail(required) - Email address of the user to check.
isMember-truewhen the user is in the group.
- Confirm membership before adding or removing someone from a group
- Explain why someone is or is not receiving group notifications
- Audit group access before approving a role change
When someone asks whether they are in a Slack user group, use @Check Slack Group Membership and reply with the result. If they are not a member and want to join, offer to add them with @Add Users to Slack User Group.
Send messages
Send a direct message
Send a direct message
@Send Slack DMInput fields:userEmails(required) - Email addresses of users to message. Pass multiple to send the same message to each.message(required) - Message text. Supports Slack mrkdwn formatting.
sentCount- How many DMs were sent successfully.failedEmails- Addresses that could not be resolved or reached.
- Notify a new hire privately about their access details
- Send a confidential password or code without putting it in the ticket
- Alert a manager when their team member’s access request is approved
When an access request is approved, use @Send Slack DM to notify the requester privately with their new access details. Send any passwords or temporary credentials through a DM, not in the ticket reply.
Send a channel message
Send a channel message
messageTs from a previous result as threadTs.Tool name: @Send Slack Channel MessageInput fields:channelName(required) - Name of the channel to post in.channelId- Slack channel ID for reliable lookup.message(required) - Message text. Supports Slack mrkdwn formatting.threadTs- Timestamp of the parent message to reply to in its thread. Only pass this when a previous call to this tool returned amessageTs. Never invent a value.
messageTs- Timestamp of the posted message. Pass it asthreadTson a follow-up call to reply in the same thread. Not returned when the tool runs in testing mode.
- Post a status update to an incident channel when a ticket is updated
- Notify a team channel when an access request is resolved
- Post a thread follow-up with details after a brief top-level summary
When a P1 incident ticket is opened, use @Send Slack Channel Message to post a summary to the incident channel named on the ticket. Include the ticket link and the reported impact.
Manage Enterprise Grid workspace access
@Change Channel Visibility also requires the Enterprise admin token. Other channel, user group, and messaging tools do not.Assign user to Enterprise workspace
Assign user to Enterprise workspace
@Assign User to Slack Enterprise WorkspaceInput fields:teamIdorteamName- The workspace to assign the user to.teamIdis the Slack team ID (T…);teamNameis the workspace display name, resolved automatically. One must be provided.userIdoremail- The user to assign.userIdis the Slack user ID (U…);emailis resolved automatically. One must be provided.role(required) - The workspace role. Must be chosen explicitly by the requester. Options:regularfor a full member,multi_channel_guestfor access to specific channels only,single_channel_guestfor access to exactly one channel.
- Add a new hire to the right workspaces as part of onboarding
- Grant a contractor guest access to a project workspace
- Move a user into an additional workspace when their team changes
When an onboarding ticket is approved, present the three role options (regular member, multi-channel guest, single-channel guest) and wait for the requester to choose explicitly. Then use @Assign User to Slack Enterprise Workspace to add the new hire to the workspace named on the ticket with the chosen role. Confirm the assigned role in the reply.
Set Enterprise user access expiration
Set Enterprise user access expiration
@Set Enterprise User Access ExpirationInput fields:teamIdorteamName- The workspace the guest belongs to. One must be provided.userIdoremail- The guest user to update. One must be provided.expirationTs(required) - Unix timestamp in seconds when guest access should expire.
- Set an end date when granting contractor or vendor access
- Extend an existing guest’s access when their engagement is renewed
- Shorten access when a project wraps up early
When a contractor access request is approved, use @Set Enterprise User Access Expiration to set the guest's expiration to the contract end date on the ticket. Reply to the requester with the new expiration date.
Remove user from Enterprise workspace
Remove user from Enterprise workspace
@Remove User from Slack Enterprise WorkspaceInput fields:teamIdorteamName- The workspace to remove the user from. One must be provided.userIdoremail- The user to remove. One must be provided.
- Remove a user from a workspace when they change teams
- Clean up guest access after a project ends
- Revoke workspace membership as part of partial offboarding
When a project closeout ticket is resolved, use @Remove User from Slack Enterprise Workspace to remove each contractor listed on the ticket from the project workspace. Post a summary of removed users back to the ticket.
Setup
Install the Slack integration
Connect the Enterprise admin token (optional)
ENTERPRISE_ADMIN_TOKEN_REQUIRED error. @Change Channel Visibility also requires the token. Other channel management, user group, and messaging tools do not require it.Configure your agent
Create rules
Test the tools
Best practices
- Prefer email over IDs in rule prompts. All tools accept email addresses for users and resolve them automatically. Emails are easier for end users to provide than Slack user IDs.
- Use the channel ID when you have it. When a ticket references a channel as
#[name](channelId:ID), pass the ID aschannelId. It resolves reliably across Enterprise Grid workspaces where the same channel name can appear in multiple workspaces. - Find before you create. Pair
@Find Slack User Groupwith@Create Slack User Groupso the agent catches name conflicts before writing. - Send credentials privately. Use
@Send Slack DMfor temporary passwords and access codes. DMs keep sensitive details out of the ticket and out of shared channels. - Always confirm the role before assigning. The role choice on
@Assign User to Slack Enterprise Workspaceis not reversible without removing and re-adding the user. Have the rule present all three options and wait for an explicit choice. - Gate the destructive tools. Put
@Archive Slack Channeland@Archive Slack User Groupbehind Requires approval in any rule an agent can reach on its own. - For full offboarding, use your identity provider.
@Remove User from Slack Enterprise Workspaceremoves the user from one workspace only. To deactivate a Slack account entirely, use Okta, Microsoft Entra, or another identity provider instead.