Slack Help & Support
What Slack Triggers and Actions are Supported?
- New Pushed Message - Triggers when you click the "Push to Zapier" button from a message in Slack.
- New Mention - Triggers when a username or highlight word is mentioned in a public #channel.
- New User - Triggers when a new Slack user is created / first joins your org.
- New File - Triggers when a new file is uploaded to your workspace.
- New Team Custom Emoji - Triggers when a custom emoji has been added to a team.
- New Reaction Added - Triggers when a reaction (aka reactji) is added to a message in a public #channel.
- New Starred Message - Triggers when you star a message.
- New Message Posted to Channel - Triggers when a new message is posted to a specific #channel you choose.
- New Public Message Posted Anywhere - Triggers when a new message is posted to any public channel.
- New Message Posted to Private Channel - Triggers when a new message is posted to a specific #private-channel or multi-dm.
- New Channel - Triggers whenever a new #channel is created.
- Set Channel Topic - Sets the topic on a selected channel.
- Invite New User - Invite a new User to your Slack workspace. Uses legacy tokens.
- Send Direct Message - Send a direct message to a user or yourself from the Slackbot.
- Send Channel Message - Post a new message to a specific #channel you choose.
- Set Status - Sets your Slack status to the given text and emoji.
- Update Profile - Update basic profile fields such as name or title
- Add Reminder - Adds a reminder for yourself or a teammate, just like the
- Invite User To Channel - Invite an existing User to an existing Channel. You must be a member of the channel to invite someone to it.
- Send Private Channel Message - Post a new message to a private channel you choose.
- Create Channel - Creates a new channel.
- Find User by ID - Finds a user by their ID.
- Find Message - Finds a Slack message using the Slack Search feature.
- Find User by Email - Finds a user by matching against their email instead of their username.
- Find User by Username - Finds a user by their username.
- Find User by Name - Finds a user by matching against their real name instead of their username.
How to Get Started with Slack on Zapier
About Slack's Integration#
- Admin/owner permissions - User needs to be a Slack "owner" in addition to being an admin
- Paid/versioned account - Works for free or paid Slack accounts
- Custom field support: N/A
- Partner’s documentation: N/A
Connecting with Slack#
The first thing you'll need to do to get started with hooking up Slack with Zapier and the hundreds of apps we work with is adding your Slack account to Zapier. When the time is right, we'll ask you to add your Account:
You should then get a pop-up window from Slack asking you which Slack Team account you'd like to connect:
You'll then be asked to authorize the connection between Slack and Zapier.
After authorizing, you'll get sent back to Zapier where you now have your Slack account connected!
Popular Things to do with Slack
Tips for Formatting Slack Messages
Message Text Formatting#
To format your message's text with styling (such as bold, italic, block quotes, code blocks and lists) you'll simply need to enter these in the same way you would do on Slack.
For example entering this:
Will look like this in Slack:
You can read more on formatting the text on messages on Slack's formatting help guide here.
Slack will recognise normal links and make sure they're clickable on your post.
If you want to make text into link, simply enter your link in the following format into the text field:
<http://www.zapier.com|Text to make into a link>
Which will look like this in Slack:
For special announcements such as @channel, @group, @here and @everyone, you'll need to enter those in the following format:
<!channel>, <!group>, <!here> and <!everyone>
Which will look like this in Slack:
If you want to pass on an Emoji as part of your message, you'll just need to use the colon version of it for example:
:smile: :white_check_mark: or :simple_smile:
Which will look like this in Slack:
This is just a basic overview of what is possible. For more detailed information on formatting your Slack's messages, you can refer to their formatting guide here.
Please don't hesitate to drop us a message if you get stuck or need a hand at all.
Working with Message Attachments in Slack
Using Message Attachments in Slack Triggers#
Due to popular demand, message attachment data is now available for most triggers. If the message is proceeded by an indent, then it's a message attachment:
Note: We are currently only able to trigger on non-ephemeral attachments, which appear to all users in a #channel or IM (rather than being visible to only you).
A lot of messages with these attachments come from bots, so in order to see and trigger on those, make sure you select "yes" on the "Trigger on Bot Messages?" field. If your bot doesn't post any text with the attachment, the first attachment's
text will become that message's
text. We'll include attachment details in the response as well.
Note: This feature is only available for trigger steps, not actions. If you'd like to send in a feature request for this to be added - contact us and let us know!
How do I filter message attachments?#
Since message attachments aren't always going to be there, you'll probably want to limit your trigger to fire on certain user/bot names or channels. If you want to limit your trigger to a certain channel, use the "New Message in Channel" trigger and select your desired channel.
If you want your Zap to only trigger on certain user/bot names, you can add a Filter and look for the username field like so:
Sometimes message attachments can return a lot of data, and dealing with these responses can be a little daunting. So let's use a message from my Playlist Bot as an example. It posts a GIF of an artist and an associated playlist from Spotify, which are two separate attachments in Slack. Here's the message it posts to my channel:
To trigger off this, I set up my Trigger with "New Message Posted to Channel" and select your desired channel. Before you pull in samples, make sure the kind of post you're looking to trigger on is the most recent in the channel, otherwise you won't be able to grab that data.
Because not all messages will have this data, it's a good idea to set up a Filter to make sure we're only watching for posts from this particular bot. Let's add a Filter step to our Zap and set it to check our bot's username like above:
Great! Now we can take our desired action. In this case, it's posting this playlist and the associated GIF as a Photo Post to Tumblr:
And voila! Our GIF and the link to the playlist it made it to our Tumblr page:
Common Problems with Slack
Slack Handles/Usernames Not Working Correctly#
In late 2017 Slack started phasing out usernames and started using a numerical ID for users instead. This means that when using @user in configuring a Slack Zap, some handles/usernames would work, while others won't.
Each Slack user now has a Slack User ID to identify it. Using this User ID would ensure that your Zap configuration doesn't run into issues.
To Find a Person's User ID:
- Click "View Profile" for a particular User
- That would pop open a bigger view on the right hand side of the Slack interface. Click on the down button underneath the Profile Photo:
Click "copy member ID" to put their ID on your clipboard.
If you want to post a message that includes an @
so that they get a notification, use the following format in creating the Slack message template:
- If you're trying to configure a Slack Send Direct Message step to that user, paste the ID straight into the 'To Username' field, without any brackets, etc.
My triggers aren't picking up the messages I need!#
The message you're looking to trigger off of might be sent as a message attachment in Slack. If the message is proceeded by an indent, then it's a message attachment:
Normally these are messages sent by bots, slash commands, or other Slack integrations. Unfortunately, none of our triggers are currently able to trigger on content in message attachments.
Sending direct messages as a user#
This only applies to the legacy app (named
Slack (Legacy). If you're creating a new zap, you can safely ignore this
Right now it is not possible to send direct messages to one user, from another user. Direct Messages will always be sent to the recipient via their Slackbot direct message.
Sending channel messages as a user#
There are no special actions needed to send messages as yourself. If you're seeing errors, please write in at firstname.lastname@example.org.
Slash commands are not executing#
Unfortunately, it's not possible to post slash commands to Slack via their API, so if you send
/giphy cute cats it'll just show up with that text.
If you'd like to use Zapier to build a slash command, check out this helpful guide.
Error: Could Not Add Service#
If you see this error, it means that your team's free Slack account is at the limit of 10 integrations. You'll need to upgrade your Slack account or disconnect another integration.
Channel names are posting as text rather than link#
If you see this:
But want this:
Make sure that the "Send @mentions notifications?" field is set to "Yes."
My New Mention trigger is not finding any messages#
You must specify either a User Name or a Highlight Word for this zap to work. If you specify both, then both the user name and the highlight word will need to be included in a single message in order to trigger the zap.
If you've specified one or both and the trigger, click the Continue button, then click "Connect & Continue". Once you see the spinning wheel, go into Slack and post a message with the trigger criteria in any public channel. Zapier will receive that message and you'll see the trigger marked as Test Successful:
When testing a "new message" trigger, the test says it can't find any messages even though there are plenty!#
When testing message triggers, we only look for messages from humans (not apps or bots). Human users have profile information that you might want to map (while bot users don't), so we want that to be available in the editor. If
Listen for Bots is true, then we'll trigger properly during actual runs.
"Add Reminder" action returns "Cannot Parse"#
The format of the date/time stamp for this action is quite specific. It can be A Unix timestamp (up to five years from now), the number of seconds until the reminder (if within 24 hours), or a natural language description (Ex. "in 15 minutes," or "every Thursday").
Need More Help? - Our support team is happy to help -- send us a message