paint-brush
4 Notion + Zapier Integrations You Can Implement Todayby@dancarmel
17,519 reads
17,519 reads

4 Notion + Zapier Integrations You Can Implement Today

by dan carmelSeptember 2nd, 2019
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

4 Notion + Zapier Integrations You Can Implement Today are open-source and available here for anyone interested in expanding, refactoring or using it for their own project. The integrations in this article allow you to: Add daily weather data to your Notion page automatically. Track incoming mentions and tweets in Notion (including user data)Send tasks from To-Do apps into a Notion database. Use the same endpoint to update any Notion text block based on a string input.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - 4 Notion + Zapier Integrations You Can Implement Today
dan carmel HackerNoon profile picture

Notion, the hottest productivity app of the moment, has been promising an API for quite a while. As of today, the official API is nowhere in sight.

In this post, I’ll showcase 4 custom integrations between Notion and Zapier that I’ve built to experiment with Notion’s possible use-cases.

Integrating Notion with Zapier

I’ve been experimenting with an unofficial Notion API for a while, after seeing some interesting (although very specific) use cases.

Recently, I’ve created a way to send generic Zaps to Notion, allowing users to build custom zaps. That solution was limited because it didn’t allow users to create complex integrations for specific use cases.

To make the integration more usable, I’ve expanded on the previous project and created 4 custom Notion integrations that you can implement today.

The integrations in this article allow you to:

Add daily weather data to your Notion page automaticallySend receipt emails from Gmail to a custom Receipt database in NotionTrack incoming mentions and tweets in Notion (including user data)Send tasks from To-Do apps into a Notion database.

Let’s dive in.

This project is open-source and available here for anyone interested in expanding, refactoring or using it for their own project.

Step 1 – Set up a Heroku Server

On each of these integrations, you’ll have to set up a Heroku server first.
This Heroku instance will be used to add environment variables such as your Notion block’s URL and your Token.

Here’s what you need to get started:

First, find your token and URL

There are two parameters that you’ll need to add to the Heroku setup.

TOKEN parameter – to find your Notion token, go to your Notion account’s URL and click the lock icon on the left.


2. URL – get the URL by clicking Share, then “Copy Page Link” on the upper right side.


Save these two parameters for later.

Deploy your own Heroku server

Let’s set up a Heroku server that will get requests from Zapier and integrate with your Notion account.
1. Click here
2. Name your app (any name will do)
3. Click ‘Manage App’

We need to add two config vars for the integration to work: 
1. TOKEN : <Your Token>
2. URL : <Your URL>


Once this is done, you’re ready to set up your Zapier integration.
You’ll need the Heroku server’s URL for the next steps, so make sure you copy it.

Follow this setup steps before using any of these integrations.

Now, let’s continue to the integrations.

Integration #1: Add weather reporting to your Notion page

Using this integration, you’ll be able to get today’s temperature in your Notion page. You can use the same endpoint (using the exact same parameters) to update any Notion text block based on a string input.

1. Notion

Set up a block where you want the temperature to show.

Next, copy the block’s URL

2. Heroku

Follow the Setup steps from Stage 1 and paste the copied URL into the URL variable.

3. Zapier

First, create a recurring zap that fetches weather data daily.

Use Schedule by Zapier as the trigger, adding a daily trigger at a specific time. Then, add another step and pick the Weather Zapier app. Fill in the details as shown in the GIF below.

Now that your Weather zap is ready, it’s time to send the data to notion.

Add your Heroku app’s URL and add /getweather
Fill in the parameters as shown in the GIF. feel free to customize the value in any way you’d like. You can add additional information from the custom fields as long as it’s all inside the same value.

Check to make sure that it works, and you should see the weather updated on your Notion page.

Integration #2: Send every receipt from Gmail to a Notion Table

The integration allows you to send receipts that were labeled in Gmail into Notion, so you can track your spend, attach receipts to your accounting pages, etc.

1. Notion

Set up a table, whether inline or full page, with the exact structure of the below table:

The naming and property type should be identical for the integration to work. Notice that the Date property is a text property, since using Date has led to a ton of bugs, and the text property is the only reliable way to get the date in the table.

Next, copy the table’s URL.

2. Heroku

Now that you’ve got the link, follow the Heroku Setup steps from Stage 1, paste the copied URL into the URL variable and continue to Zapier.

3. Zapier

Set up a Gmail Zap for New Labeled Email. Pick the label that you’re using to label receipts.


Add your Heroku app’s URL and add /gmailreceipts
Fill in the parameters as shown below.

Test your Zap and if everything went according to the plan, you should see your email in your notion table.

Integration #3: Send tweets (content and twitter profile) that mentioned you to a Notion table.

I have showcased this use case in my previous post about the Notion integration. Still, I felt that in order for this integration to be valuable, the table should also show the Twitter handle of the sender. Here’s how you’d set this up.

1. Notion

Set up a table, whether inline or full page, following the exact structure in the image:

It’s crucial that the property names and types would be identical.

Next, click the three dots on the left and copy the table’s link and copy the table’s link.

2. Heroku

Set up a new Heroku server with the steps mention in the first part of this tutorial, and paste the table link in the URL parameter of the Config Vars input.

3. Zapier

Create a Twitter Zap for Search Mentions. Enter your own twitter handle as the “mention”.

Add your Heroku app’s URL and add /twitter
Fill in the parameters as shown below.

Test your Zap and if everything went according to the plan, you should see your email in your notion table.

Integration #4: Send Tasks from Todoist/Tasks to Notion

The integration allows you to send tasks from pretty much any Todo app that works with Zapier.

1. Notion

Set up a Todo table. For this integration to work, make sure The task property is named “Task”.

Next, copy the table’s URL

2. Heroku

Follow the Heroku Setup steps from Stage 1 and paste the copied URL into the URL variable mentioned.

3. Zapier

Create a Zap for your favorite To-do app, that triggers on New Task (or similar).

Add your Heroku app’s URL and add / tasks
Fill in the parameters as shown below.


Check your Notion table, your task's waiting for you there ;)

What’s Next?

Hopefully, these integrations have sparked your imagination regarding possible use cases for Notion’s API.

If you’re interested in helping the project and creating more endpoints or have ideas for interesting use cases, join me on Github. If you’re interested in reading more about my Notion integrations, check out the recent posts here.