I recently moved to Notion after years of juggling between Microsoft To-Do and Google Keep. Now, at TechWiser, we use Slack for communication. So, my simple goal was to put important Slack messages directly on my Notion To-Do list. While there is a native way to integrate Slack with Notion, it is only good for receiving notifications. With the help of a third-party app, I was able to achieve what I wanted which is to add messages to Notion directly from Slack without leaving it. Let’s find out how to integrate Notion with Slack natively and use 3rd party app and what are the key differences.
Integrate Notion With Slack Natively
Before we move to the third-party app, Slack offers a dedicated app for Notion in its marketplace. Set up process is easy. Install the Notion app on your Slack workspace.
Next, head over to Notion and click on the Update button at the top-right corner. From the drop-down menu, select the Connect Slack channel option. You’ll have to provide a couple of permissions and Slack channel names before you are good to go.
The Notion app for Slack lets you do the following:
- Post Notion page updates and edits in Slack channel
- Inform users about mentions within Notion page
As you can see, the features are limited. The native Notion bot can only inform you on Slack about changes and mentions in Notion. It doesn’t fit our requirement of automatically adding entries in a Notion page from Slack. Hence, I used a third-party automation tool.
Integrate Notion With Slack Using 3rd Party App
In order to add entries to a Notion page from within Slack, you’ll have to use a third-party automation tool. Unfortunately, IFTTT doesn’t provide an option to automate Notion and Slack. Hence, we’ll have to use a similar automation tool called Zapier. It supports a larger pool of apps and provides deeper integration in the free version itself.
Foremost, you’ll have to create a new Zap for Notion and Slack. Now, I did all the heavy lifting and created a Zap for you. This Zap will add an entry to Notion as soon as you save/star a message in Slack. If you want to edit/update a Notion entry, you’ll have to create a Zap yourself which is not that hard.
1. Just click on the Zap link below. Next, click on the Try this Zap button on the webpage.
2. Next, you have to register on the Zapier site. It’s a simple process and you can use your Google, Facebook, or Microsoft ID to do it.
3. Once you are done with the sign-up, click on the Get Started button to configure the Zap as per your needs.
4. Next, Zapier will ask you to connect your Slack account. It’ll also ask for permission to read your Slack messages and public channels.
5. After you have provided all the necessary permissions, you’ll get to the page below. Click on the Next button.
6. Now, you need to connect your Notion account to Zapier. Please, carefully follow the steps from here as things get a bit complicated now.
7. You’ll see a pop-up window asking for an Integration token. We need to get back to the Notion web app to get the Integration token.
8. In the Notion web app, click on the Settings & Members option.
9. On the Integrations tab, click on Develop your own integrations option.
10. On the Integrations menu, click on the Create new integration option.
11. On the new Integrations page, you have to provide a unique name to your integration. For the sake of simplicity, let’s just name it Zapier Notion Integration.
Next, you have to select an associated workspace. In case it’s your personal workspace, the workspace will have your display name. If you are part of a group workspace, make sure you are the admin of the workspace. Else, the workspace won’t show up. Next, click on the Submit button.
12. In this step, you’ll see the Integration token. Click on the Show button to reveal the secret code and copy it. We’ll need this for our Zap.
13. Leave all the other options as default. Navigate down and click on the Save Changes button.
14. Now that we have created an Integration code for Zapier, we need to first connect the Integration token with a database in Notion. In case you don’t know, a Notion page is different from a Notion database. If you already have a database in Notion, you can move on to the next step.
For others, head over to the Notion homepage and create a new page. You have to choose a template from the Database section. In my case, I’ve chosen Table. You can have it as a List, Board, or Calendar. If you choose something else other than Database, your page won’t show up on Zapier.
15. I’ve named my Database — Test Database. The name of the database is irrelevant but you still have to remember the name for correct integration. On the Database page, click on the Share button at the top-right corner.
16. On the Share dropdown, click on the Invite button.
17. On the pop-up, select the Notion Integration we just created. In my case, it’s Zapier Notion Integration. Next, click on the Invite button.
18. Now, head back to the Zapier Integration Token page. Paste the Integration code we copied from Notion i.e. Step 12. Next, click on the Yes, Continue button.
19. Next, you’ll have the name of the Notion database. If you are unable to find the database name, click on Refresh List. It’ll force Zapier to check for an updated database list in Notion.
20. On the next page, Zapier will show your Notion database’s rows. You can select any of the rows depending on the kind of data you want to input.
For instance, I want the Slack message text to be stored in my database row “Name”, username to be stored in the “Tag” field, and channel name in the “Content” row. You might get different rows based on your Notion table.
21. In the next step, you will have to map Slack message content to your Notion database rows.
22. On the next page, Zapier will ask you to test your Zap. It’ll simply send a test message to Notion to test the connections.
23. If you have followed all the steps carefully, the test will be successful. You will view the following message on Zapier. You can also verify your Notion Database table for the dummy entry.
24. After the configuration is tested to be working, you can finally Turn on Zap in the next step.
You can test your Zap by starring/saving your message in Slack. It will appear on your Notion’s database.
Two-Way Sync Not Available
The Slack-Notion Zapier automation is one-way syncing. Zapier, or most automation apps for that matter, doesn’t support 2-way syncing.
In simple words, when you save the entry from Slack, the entry gets added to Notion. However, if you remove the item from Slack, the entry isn’t removed from Notion.
There have always been privacy concerns around automation apps like IFTTT and Zapier. Hence, it’s important to know the permissions you provide to Zapier. Foremost, the above-mentioned Zap can only access your Slack contents. It doesn’t have permission to access your Notion pages. Moreover, Zapier cannot edit or delete entries from your attached database. It only has permission to add items to the Notion database.
On Slack, Zapier can access the following details:
- Text messages from your DMs, public channels
- Public information about you on Slack
Zapier won’t store the above information for more than 4 months. This data is retained for monitoring and re-running failed Zaps. These types of permissions are pretty common with automation services. I would advise you to disconnect Zapier from Slack once you are not using this Zap anymore.
Final Words: Notion and Slack Integration
So, these were a few ways for seamlessly integrating Notion and Slack. While the native way works well and there are no privacy risks, it is pretty limited when compared to automation tools like Zapier. At the end of the day, which option you choose would depend on what you need to be done.
Also Read: 5 Best Aesthetic Notion Templates and Tricks