Notion Gmail Integration: Connect Gmail to Notion & Sync
Gmail is where much of our important communication lives: receipts, invoices, project updates, client conversations, and reminders. Notion is where we organize and track our work. By combining the two, you can centralize your emails alongside tasks, documents, and projects, turning Notion into a lightweight CRM, helpdesk, or productivity dashboard.
In this tutorial you'll connect Gmail to Notion without custom servers or coding. We'll use Google Apps Script to securely turn Gmail into your own private API, then import and sync messages into a Notion database using Note API Connector. Along the way, you'll learn how to filter by labels, handle pagination, only fetch new messages, and even convert certain emails into TODO tasks in Notion.
TL;DR
- Clone the Gmail Apps Script and deploy it as a Web app (access: Anyone).
- Create a request in Note API Connector, to import Gmail data into Notion.
- Only import new emails by enabling Append mode and using the email date as a filter.
- Handle pagination to fetch more than 50 emails at once.
- Automate updates on a schedule to sync Gmail with Notion.
- Turn Gmail into a TODO list by labeling emails and importing them as Notion tasks.
Getting started with Note API Connector
Start syncing your data to Notion in just a few clicks. Connect your Notion workspace, grant the necessary permissions, and you’re ready to create powerful API-based automations, no coding required.
👉 Follow the official setup guide to get started in minutes.
Turn your Gmail inbox into an API
Google offers official APIs to access data from its services, including Gmail. For example, you can use this endpoint to list your messages:
https://gmail.googleapis.com/gmail/v1/users/me/messages
The problem? This endpoint only gives you basic identifiers like id
and threadId
.
To get useful details, such as the sender, subject, date, or labels, you’d need to make a separate API call
for every single message. This quickly becomes complex and inefficient.
Fortunately, there’s a simpler way. With Google Apps Script, you can connect directly to your Gmail account using just a few lines of code. Since the script runs inside Google’s ecosystem, you stay in full control of your data and permissions.
Even better, you can publish an Apps Script project as a secure web app in just a few clicks. This turns your Gmail inbox into a private, easy-to-use API—without the heavy setup or complicated workarounds.
Use Google Apps Script
👉 Here you can find Google Apps Script project that turns your Gmail into an API.
When you open the Google Script, you need to clone it to save it in your own Google account.

Next, deploy the script as a Web app. Click New deployment.

Choose Web app as the deployment type.

Under Who has access, select Anyone. This makes the endpoint callable via API, but you still control access through your Google account authorization.

Click Deploy and grant access when prompted. Google will show an unverified app warning because the script hasn’t gone through the public verification process. Click Continue since this script is your own.




After approving, you’ll see a Web app URL. This is your private Gmail API endpoint.

Import Gmail data into Notion (step-by-step)
Now that you have your Gmail Web App URL, it’s time to bring the data into Notion. First, create a new database in Notion that will hold your email messages.

Open Note API Connector and click Create request .
Choose the Notion database you just created, give the request a name (e.g. Gmail), paste your Web App URL into the URL field, and click Run.

The response will appear in the Response Field Mapping view. Here you can decide which Gmail fields (subject, from, date, label, etc.) to store in your Notion database.

Once mapped, click Save & Import. Your Gmail messages will now be saved directly into Notion.

Import only new messages
Instead of reloading the entire data set each time, configure the request so only new emails are added. In
Import Settings, enable
Append mode. Set
date_after
as a query parameter and use the email date
as the
Response field. Each run will now fetch only messages that arrived after your last import.

Now, always we run request after first import, only new messages are added into Notion.
Handle Pagination
For reliability, the script returns up to 50 emails per page. To pull everything, set
Next URL Path to nextUrl
in
Pagination settings. Note API Connector will then follow all pages automatically until all messages are imported.

Turn Gmail messages into TODO tasks
You can also turn selected emails into tasks. Create a Gmail label called TODO and apply it to the messages you want to track.


Now, we can add the TODO label to our messages.

Then, call the API with ?label=TODO
. The script filters by label and Note API Connector imports
only those messages into your Notion task database.

At this step, we imported the messages labeled Todo.

Sync Gmail with Notion automatically (scheduling)
Don’t refresh manually every time. With Note API Connector’s scheduling feature, you can run imports automatically. Set it to update hourly, daily, or at custom intervals. This way, your Notion workspace always reflects your latest Gmail messages without extra work.

Conclusion
With this setup, Gmail becomes a structured data source you can manage directly in Notion. Start with a simple inbox sync, then add filters, pagination, or task labels to fit your workflow. Once automated, your Notion workspace will always be up to date with the emails that matter most.
Frequently asked questions
You can import Gmail data into Notion using Note API Connector. First, deploy a Google Apps Script web app that exposes your Gmail messages, then paste the URL into Note API Connector. Map fields such as subject, sender, date, and labels directly to your Notion database.
No. Note API Connector is a no-code tool that lets you connect Gmail to Notion without programming. The only setup needed is copying a Google Apps Script project into your account and pasting its URL into the connector.
Yes. With automatic scheduling , you can sync Gmail with Notion hourly, daily, or at custom intervals. This ensures your Notion workspace always has the latest emails without manual updates.
Yes. The Gmail data stays under your Google account via Apps Script, and Note API Connector does not store your Gmail credentials. You control access at all times and can revoke permissions whenever you choose.