How to Automate a Two-Way Notion and Loops Sync Using Make

This instructional video demonstrates how to establish a seamless, two-way synchronization between a custom Notion CRM and a Loops email marketing audience using the Make automation platform. By connecting these systems, professionals can ensure their contact databases and mailing lists remain consistently aligned without the need for manual data entry. The tutorial builds upon a foundational Notion CRM setup and introduces an automated pipeline to bridge the gap between relationship management and email marketing.

The first dimension of this integration pushes contact updates from Notion directly to Loops. By utilizing a dedicated "email subscription" checkbox property within the Notion database, users can dictate who is added to the active mailing list. The Make scenario is configured to monitor the Notion workspace at customized intervals—such as every 15 minutes or every hour—capturing any recent updates and transferring the relevant contact data, including the name, email, user ID, and subscription status, into the Loops audience.

The second dimension ensures that actions taken by the recipient in the email platform are accurately reflected back in the central CRM. By utilizing webhooks in Loops, the system listens for specific audience events, such as a user unsubscribing from an email. Make filters for this event and automatically updates the corresponding contact in Notion, unchecking their subscription status. Ultimately, the viewer will achieve a fully automated, bi-directional pipeline that maintains data integrity, respects user communication preferences, and streamlines audience management.

Key Takeaways

  • This instructional video demonstrates how to establish a seamless, two-way synchronization between a custom Notion CRM and a Loops email marketing audience using the Make automation platform. By connecting these systems, professionals can ensure their contact databases and mailing lists remain consistently aligned without the need for manual data entry. The tutorial builds upon a foundational Notion CRM setup and introduces an automated pipeline to bridge the gap between relationship management and email marketing.
  • The first dimension of this integration pushes contact updates from Notion directly to Loops. By utilizing a dedicated "email subscription" checkbox property within the Notion database, users can dictate who is added to the active mailing list. The Make scenario is configured to monitor the Notion workspace at customized intervals—such as every 15 minutes or every hour—capturing any recent updates and transferring the relevant contact data, including the name, email, user ID, and subscription status, into the Loops audience.
  • The second dimension ensures that actions taken by the recipient in the email platform are accurately reflected back in the central CRM. By utilizing webhooks in Loops, the system listens for specific audience events, such as a user unsubscribing from an email. Make filters for this event and automatically updates the corresponding contact in Notion, unchecking their subscription status. Ultimately, the viewer will achieve a fully automated, bi-directional pipeline that maintains data integrity, respects user communication preferences, and streamlines audience management.

Timestamps

  • 1:20 - Adding a Subscription Checkbox in Notion: Creating an "email subscription" checkbox property in the Notion database to dictate which contacts are added to the Loops audience.
  • 2:00 - Watching Data Sources in Make: Configuring the first Make scenario (Notion to Loops) to watch for updates in the Notion data source, capturing any changes to contact records.
  • 2:24 - Setting the Polling Interval: Defining the execution schedule for the Make scenario to check Notion for updates, such as setting it to run every 15 minutes or 1 hour depending on the workflow.
  • 2:50 - Mapping Contact Properties to Loops: Mapping specific Notion data fields—such as email, name, user ID, and the checkbox subscription status—so they successfully update the corresponding contact in Loops.
  • 3:49 - Setting Up a Loops Webhook: Configuring a webhook within the Loops platform to send an event trigger to Make whenever a person unsubscribes from the email list.
  • 4:28 - Creating a Webhook Event Filter: Adding a filter within the Loops-to-Notion Make scenario to isolate and process only the "contact unsubscribed" webhook events, ensuring other events are ignored unless specifically built out.
  • 5:05 - Testing the Reverse Sync via Webhook: Manually unsubscribing a contact in Loops to test the webhook, which triggers the Make scenario to automatically uncheck the corresponding subscription box back in Notion.

Two-Way CRM Synchronization Between Notion and Loops via Make

Step 1: Create the Subscription Property in Notion (0:00 - 1:40)

  • How: Open your Notion CRM and navigate to your "people" or contacts table. Add a new checkbox property and name it "email subscription".
  • Why: This checkbox serves as the primary control mechanism and source of truth. If the box is checked (true), the system knows this contact should be added to your active Loops audience and subscribed to your email list.

Step 2: Build the 'Notion to Loops' Polling Scenario in Make (1:41 - 2:46)

  • How: In the Make platform, create a new scenario designed to watch your Notion data sources for updates. Set a processing limit (e.g., 100 records) and define a polling interval, such as every 15 minutes or 1 hour.
  • Why: Setting up an interval-based trigger ensures that Make regularly checks your CRM for any newly tagged subscribers or updated contact records, enabling automated, hands-off synchronization.

Step 3: Map Notion Data Fields to Loops (2:47 - 3:43)

  • How: Add a module to update the contact in Loops. Link the specific Notion data fields—such as email, name, and user ID—to their corresponding fields in Loops. Most importantly, map the Loops subscription status directly to the Notion "email subscription" checkbox property. You can test this by checking a box in Notion and manually running the scenario to watch the contact appear in the Loops audience.
  • Why: Precise data mapping guarantees that the correct contact details are pushed to your email platform and that the subscriber's exact opt-in status is respected.

Step 4: Configure the Loops Webhook for Reverse Sync (3:44 - 4:27)

  • How: Create a second scenario in Make (Loops to Notion) designed to receive data via a webhook. Inside your Loops account dashboard, navigate to the webhooks section and configure it to send an event specifically when a "contact unsubscribed" action occurs.
  • Why: While Notion pushes data on a scheduled interval, webhooks allow Loops to instantly notify Make the moment a user opts out of an email, initiating the reverse synchronization back to your CRM.

Step 5: Apply an Event Filter in Make (4:28 - 4:44)

  • How: Within your Loops to Notion Make scenario, apply a filter immediately following the webhook trigger so that the automation only continues if the incoming event matches "contact unsubscribed".
  • Why: A webhook can potentially send multiple types of audience events. Filtering ensures your scenario only processes unsubscribe actions, preventing errors or unintended CRM updates until you build separate routing paths for other event types.

Step 6: Test the Reverse Synchronization (4:45 - 6:28)

  • How: Start the Loops to Notion scenario in Make so it actively listens for incoming webhooks. Go into your Loops audience and manually unsubscribe a test contact. Finally, check your Notion CRM to verify that the "email subscription" checkbox for that specific person has been automatically unchecked.
  • Why: Testing the end-to-end workflow confirms that the bi-directional sync functions correctly. This guarantees that if a user opts out, or later decides to resubscribe via a website form, their current preference is seamlessly reflected across both platforms.

FAQs

How do I sync Notion contacts with Loops?

You can create a two-way synchronization using the Make automation platform by building two separate integration scenarios. The first scenario periodically pushes new contacts and subscription status updates from Notion to Loops, while the second utilizes a webhook to send audience actions from Loops back to Notion.

How can I automatically add Notion contacts to an email list?

To control list membership, add a custom "email subscription" checkbox property to your Notion CRM database. By configuring a Make scenario to monitor for database updates, the system will automatically push the contact's email, name, and user ID to your mailing list whenever the box is checked.

How do I update a Notion CRM when someone unsubscribes in Loops?

Set up a webhook in your Loops account configured to send a "contact unsubscribed" event trigger to a Make scenario. Within Make, apply a filter to isolate this specific event so it automatically unchecks the email subscription box for the corresponding contact record in your Notion database.

How do I manage email opt-in and opt-out statuses across platforms?

Opt-ins are managed by checking a subscription box in Notion, which a Make scenario polls on a set interval (e.g., every 15 minutes) to update the Loops audience. Opt-outs are processed via a Loops webhook that triggers Make to automatically uncheck the subscription box in Notion, ensuring complete bi-directional alignment.

This is some text inside of a div block.