Teams and individuals across the globe are adopting Notion in droves to organize their work and personal lives. The app’s unique blend of features creates a foundation on which users craft custom workspaces for cohesively managing projects, relationships, finances, events, travel, goals—you name it. The minimal interface and rich database formats give pleasure to these otherwise dull initiatives.
Personally, Notion has become the operating system of my life and my business. In fact, Notion now constitutes the bulk of my work: I publish resources via Notion VIP and my YouTube channel, including Notion’s most widely employed framework, The Bulletproof Workspace; I consult enterprise users; and I work directly for Notion on a variety of projects, such as the Help & Support page, the Certified Consultant program, and a training curriculum for the customer support team. My forthcoming course, Notion A-to-Z, will dive deeper into many of the concepts we’ll explore in this piece.
Despite Notion’s expanding pool of loyalists, workspaces were siloed for many years—until this past May, when Notion released its API. That allowed developers to connect Notion with other apps. The API also introduced Notion to automation tools like Integromat, where users can construct sequences of triggers and actions, which often incorporate other apps.
Below, we’ll explore Integromat’s distinct capabilities over other automation services, then construct the practical example of a personalized mass email.
What are automation services?
Integromat and other automation services are like visual interfaces for APIs; they allow non-developers to automate actions in Notion and connect it with other apps to exchange information and make updates. To do so, users construct sequences of triggers and actions, which often include intermediate functions that control flow and manipulate information. In Integromat, these sequences are called “scenarios.”
One of the most common automations is to sync a Notion database with Google Calendar:
- Trigger: New event in Google Calendar
- Action: Create an item in the Events database
I dive deeper into integrations and automation sequences in my post Notion Explained: The API Debut.
The Integromat advantage
Automation services offer many of the same essential functions, but their interfaces and advanced capabilities differ considerably. While Integromat generally supports fewer apps, experts agree that it’s far more versatile than other services and offers a more user-friendly interface.
Here are a handful of Integramat’s distinct advantages over Zapier, the most commonly used alternative:
- Interactive Interface — Integromat’s UI is generally quicker and more useful. You can easily visualize your scenario, which you construct by dragging and dropping “modules.” Zoom in and out for a comprehensive perspective or to focus on a particular segment. The “Auto-align” button repositions your modules for an optimal layout.
- Simple Filters — Click the connection between modules to add a filter in no time. Zapier requires a dedicated action using the internal Filter app.
- Unlimited Routes — While Zapier provides limited two-way splits, Integromat supports unlimited routes, where information can be segmented, merged and duplicated for any need.
- Iterate and Aggregate — When working with a collection of items, such as a Notion database, you can automatically perform actions on each item of the collection. You can also merge items from disparate sources.
- Granular Scheduling — For weekly and monthly triggers, Zapier supports a single day of the week or month. In Integromat, you can choose multiple days of the week or month.
- Error Handling — When a module encounters an error retrieving or processing data, you can define precisely which actions to take under various conditions. Zapier simply stops execution.
- Real-Time Visualization — By viewing the flow of information as your scenario executes, you can see just how it works and identify any snags.
- Controlled Execution — Run a single module once rather than the full scenario to collect sample data and isolate errors.
- Dynamic Mapping — Zapier requires independent actions for applying functions to data from previous actions. In Integromat, you can use spreadsheet-style functions whenever you reference a variable.
- Data Management — Retrieve historic information and aggregate data over time.
- Notes — Leave explanatory notes throughout your scenario for yourself or your collaborators.
Integromat’s advantage with Notion
When it comes to Notion, Integromat’s advantages extend even further:
Trigger by Update
Whereas Zapier can only be triggered by new database items, you can trigger Integromat scenarios with updated database items and pages. In this regard, only Integromat can support a two-way sync.
Consider the Google Calendar example. Zapier can add new items in a Notion database to a Google Calendar, but any updates to those events will remain unreflected. By contrast, the update in Notion can trigger Integromat, which can then updated the event in Google Calendar.
Append Page Content
In addition to populating the properties of a database item, Integromat allows you to add content to the item’s page body. Moreover, that content can assume many block types, including all formats of headings and lists, and even sub-pages.
Say you have a member directory, where each member’s page includes biographical information. With Integromat, you could create a Typeform for members to create their profiles, including that inner page content.
Case study: Send personalized mass emails—directly from Notion
By pairing Notion with Integromat, you can send an email to specified contacts in a Notion database, who will see personalized information, such their first names in the salutation. This example showcases many advantages of Integromat over Zapier, including the streamlined interface, triggers from updated database items, in-line functions, and interactions with inner page contents.
Meanwhile, it leverages such powerful Notion features as relations, templates and synced blocks.
Watch the video above for step-by-step configuration. Here’s the gist:
Notion databases
Recipients

Most Notion workspaces contain some variation of a Contacts database, with First Name, Email and other properties commonly found in a CRM. For this example, we call that database “Recipients.”
Bulk Emails

In a Bulk Emails database, each item represents a message to be distributed to contacts selected from the Recipients database. It includes these properties:
- Subject (
Title
) - Send Date (
Date
) - Status (
Select → Planned, Drafting, Sending, Sent
) - Recipients (
Relation → Recipients
)
The emails are composed within the inner pages using only Text
blocks, each of which represents a paragraph.

A placeholder “variable” exists where the first name will be inserted for each recipient, formatted as: {{First Name}}
. Each first name is drawn from the “First Name” property of the corresponding item in the Recipients database.
At the top of each page, above the email body, is a reference for HTML tags, which facilitate basic formatting. This reference is an instance of a Synced Block, which is populated from the “Bulk Email” template.
Integromat scenario

Comprising eight modules, the Integromat scenario triggers from a new or updated item in the Bulk Emails database. If the item has a status of “Sending,” the email is personalized for, and sent to, each recipient, and Status is updated to “Sent.”
Notion → Watch Database Items
Monitor the Bulk Emails database for new or updated items.

Filter → Status
Continue only if the item has a status of “Sending.”

Notion → List Page Contents
Retrieve the blocks from the item’s inner page (the email body).

Aggregator
Convert the inner-page blocks to an array.

Set Variable
Using an in-line formula, generate the email HTML as a text string:
- Join the contents of the blocks.
- Exclude
unsupported
blocks (the Synced Block). - Separate the contents with closing and opening paragraph tags (
</p><p>
). - Add an opening paragraph tag to the beginning and a closing one to the end.

Notion → Update a Database Item
Update the Status property to “Sent.”

Iterator
For each contact in the Recipient property, execute the remaining two modules.

Notion → Get a Database Item
(Performed for each contact.)
Retrieve the item from the Recipients database.

Gmail
(Performed for each contact.)
Using another in-line formula, replace {{First Name}}
with the recipient’s first name, then send the email to the recipient’s email address, with the subject line from the Bulk Emails item that triggered the scenario.

If you hit any snags in your experimentation with the powerful Notion-Integromat duo, I welcome your questions @WilliamNutt.