Step by Step Guide to Create a Slack App for Incoming Webhooks

Fortum Tech
Fortum Technology Blog
4 min readApr 27, 2023


Slack is a powerful tool for communication and collaboration within teams. With the ability to integrate with third-party applications using webhooks, it can become an even more efficient platform for software engineers to work on their projects.

In this article, we will guide you through the process of creating a new Slack application and setting up incoming webhooks, allowing you to streamline your workflow and increase productivity.

Steps to create Slack App for Incoming Webhooks

1. Open Slack API Website

To get started, navigate to the Slack API website here. This is the starting point for creating a new Slack application.

2. Create a new Slack App

Once you are on the Slack API website, click on the “Create New App” button to start creating a new app. Give your app a name that reflects its purpose, such as “Bug Tracker” or “Code Review Tool”.

Creating a new Slack App and choosing name & workspace

3. Choose the App Name and Workspace

Choose a name for the app and pick the workspace. Choose the workspace where you want to install the app.

⚠️ This can be a workspace that you own, or one where you have the appropriate permissions. Nonetheless, choosing the proper Slack workspace is crucial. With incoming webhooks, we do not have the ability to move or share the Slack App across different workspaces.

You can also add a description of your app to give others an idea of what it does.

Selecting the proper Slack workspace

4. Customize your App

After creating the app, you can customize it by editing its name, description, icon, and background color. This can help you and your team quickly identify the app and differentiate it from others.

Customizing the Slack App display information

5. Navigate to “Incoming Webhooks”

On the left panel of the Slack API website, navigate to “Incoming Webhooks” and activate the feature by selecting “On”. This will allow you to receive incoming messages from your application.

Enabling the Incoming Webhooks feature

⚠️ Something important to consider is how your system integration will interact with Slack. If you are making API calls directly to Slack, then you might not need the incoming webhook, but your Slack bot will need to be added (like a regular user) to the specific Slack channel(s) you want.

6. Add a new webhook to your workspace

To add a new webhook, click on “Add New Webhook to Workspace” and choose the channel where you want to receive incoming messages. You can choose an existing channel or create a new one.

Generating a new Webhook URL

When choosing a channel, you might be prompt for an approval of the App installation in the workspace.

Additional approval per workspace might be required

7. Copy the Incoming Webhook URL

After adding the webhook, copy the newly generated Incoming Webhook URL. This is the URL that your application will use to send messages to Slack.

⚠️ This URL should be treated as a secret. Anyone who has this URL can submit messages to the Slack channel you defined without additional authentication and authorization.

Copy the generated Webhook URL

8. Add additional incoming webhooks (optional)

If you want to receive messages from other channels, you can add additional incoming webhooks connected to those channels. This can be useful if you have multiple teams working on different aspects of a project.

9. Add collaborators (optional)

If you want other team members to be able to manage the app, you can add them as collaborators. This can help to distribute the workload and ensure that everyone has access to the necessary tools and information.

Explore other sections such as Collaborators

Summary and Key Takeaways

In conclusion, Slack can be a powerful tool for software engineers when used in combination with third-party applications. By following the guide, you can easily create a new Slack application and set up incoming webhooks to streamline your workflow and integrate with third party applications..

Remember to customize your app and add collaborators as needed to make the most of its potential. With these tools at your disposal, you and your team can work together more efficiently to achieve your goals.

About the Author:

Bruno Amaro Almeida, Head of Technology and Architecture at Fortum

Bruno Amaro Almeida