What are Webhooks and How Do You Create a Slack Webhook URL

Slack is a great way to keep track of things. And when the tools you use have Slack integration, chances are they’ll ask for your webhook URL.

While the Slack API documentation on Webhooks is comprehensive, it isn’t very beginner friendly. In this article, I’ll cover retrieving a Slack Webhook URL from start to finish in a language you can understand.

What is a webhook?

AI Generated Image of a coffee maker and mobile phone.
The BrewMinder Coffee Maker

Say, for example, you have a fancy coffee maker. I’ll call this coffeemaker BrewMinder. BrewMinder can send a notification when it’s done brewing, but it needs to know where to send the message.

From BrewMinder’s app, you sync up with the coffee maker’s text service and choose to be alerted via text. BrewMinder can now send a text notification when it’s done brewing.

Behind the scenes, BrewMinder is internally determining if the coffee is done brewing. Once it is done, it’ll send your phone number and text message to a texting service. This service will then text the message to your phone.

In this example, the webhook URL would be the texting service. The coffee maker would have to alert it once it’s done brewing. The phone number and text message are passed as data to this webhook. This texting service would then send the message to your phone.

Flow Diagram of the coffee maker sending you a text
Flow Diagram of the Notification Process

Why am I being asked for a Slack webhook?

If you’re a solopreneur on the side like I am, chances are you have your own Slack workspace. It’s a great way to chat with customers, provide more real-time support, and you can even accommodate some client communication.

Being the owner of this Slack workspace, you can create channels to organize all of the communication. Since you can make some of these channels private, you can use these channels for webhook notifications. Say, for example, you want all the contact forms across your sites to send form notifications to a Slack channel. You now have one place to check all of the recent entries.

Another example could be when people leave comments. If you have multiple sites set to ping one channel, you can now keep up with comments in real-time across your sites.

A WordPress Plugin Option Asking for a Slack Webhook
A WordPress Plugin Option Asking for a Slack Webhook

Your tool is asking for a Slack webhook because it wants to communicate some data, which will then be sent into a private or public channel on Slack.

Okay, so how do I find this Slack webhook URL?

Slack App Sign-in Screen
Slack App Sign-in Screen

You’ll want to head to the app creation area at: https://api.slack.com/apps

If you’re not signed into your Slack account, you’ll be prompted to log in. After logging in, head back to the Slack Apps Screen and click on the “Create New App” button.

Create New App
Create New App

Clicking “Create New App” will launch a modal. You’ll want to create an app “from scratch.”

Slack App Modal
Slack App Modal

After you’ve clicked on “From scratch,” you’ll be asked to name your application and select the workspace you’d like the app to interact with.

App Name and Workspace Prompt
App Name and Workspace Prompt

I usually name the app after the tool that wants the integration. In this example, I’m using the Comment Edit Pro Slack integration.

Slack Application with Fields
Slack Application with Fields Completed

For “workspace,” click the dropdown, and it’ll display all of the workspaces where you have permission to integrate Slack.

Once you’ve selected your workspace, click on “Create App.”

Create App Button
Create App Button

You’ll be presented with the app permissions screen after the application has been created. You’ll want to click on “Incoming Webhooks.”

Slack App Permissions
Slack App Permissions

Once you’ve clicked on “Incoming Webhooks,” you’ll be presented with a screen that asks whether to “Activate Incoming Webhooks.”

Activate Webhooks Screen
Activate Webhooks Screen

Go ahead and click the toggle switch from “Off” to “On.”

Slack Webhooks Active
Slack Webhooks Active

Scroll down a bit and you’ll see a button where you can begin creating (adding) a new webhook to your workspace.

Slack Webhook Prompt
Slack Webhook Prompt

Click “Add New Webhook to Workspace.” You’ll be presented a screen where you can select the channel the webhook should post to.

Slack App and Workspace Connection Screen
Slack App and Workspace Connection Screen

In this case, I’ve selected a private channel I only have access to.

Slack Workspace Channel Selection
Slack Workspace Channel Selection

When you are done with the channel selection, click “Allow.”

Slack Permissions Screen with Allow Button
Slack Permissions Screen with Allow Button

You’re finally presented with your webhook URL. Just click the “Copy” button and you can then paste the webhook URL into the tool asking for it.

Slack Webhook URL Screen
Slack Webhook URL Screen

From here on out, every time the webhook is called, you’ll receive a slack message in the channel you choose.

Conclusion

It’s fairly simple to create a Slack webhook, but the terminology and idea behind it can be confusing to those not familiar with webhooks.

Ronald Huereca
Ronald Huereca

Ronald Huereca

Ronald has been part of the WordPress community since 2006, starting off writing and eventually diving into WordPress plugin development and writing tutorials and opinionated pieces.

No stranger to controversy and opinionated takes on tough topics, Ronald writes honestly when he covers a topic.

Ronald Huereca
MediaRon - Ronald Huereca

Ronald created MediaRon in 2011 and has more than fifteen years of releasing free and paid WordPress plugins.

Quick Links

Say Hi