To connect n8n to Gmail, create a Google Cloud project, enable the Gmail API, create a Web application OAuth client using the redirect URL that n8n displays, then paste the client ID and secret into a Gmail OAuth2 credential and click Connect. On n8n Cloud, Managed OAuth2 replaces those Google Cloud steps with a Sign in with Google button.

Updated October 2026. I re-checked the Gmail API quotas, Gmail sending limits, node operations and Gmail Trigger options against Google's and n8n's current documentation on 9 October 2026, and corrected the quota figures this page used to show. I did not run these workflows on a live n8n instance for this update, so everything below about node behaviour is documented behaviour, not something I measured.

This guide covers setup, the trigger's options, five workflow outlines and the limits to know before you go live. If you want the broader picture of what N8N can do for your business, start with the guide to building your first N8N workflow, then come back here.

Official docs vs this guide. The node reference lives with n8n: Gmail node documentation and Gmail Trigger documentation. Those pages list every parameter and stay current with releases. This is not an n8n site and does not replace them. What you get here instead: the Google Cloud OAuth2 steps the reference assumes you already know, the API quota and polling limits that decide whether a workflow survives production, and five complete workflows with the node chain spelled out.

What the N8N Gmail Node Can Do

N8N splits Gmail functionality into two node types:

Together, these two nodes cover the full read-write loop: watch for specific incoming emails and take action on them without opening the inbox. The Gmail node's resources and operations, as listed in the n8n documentation (read 9 October 2026):

ResourceOperations
MessageAdd Label, Delete, Get, Get Many, Mark as Read, Mark as Unread, Remove Label, Reply, Send
LabelCreate, Delete, Get, Get Many
DraftCreate, Delete, Get, Get Many
ThreadAdd Label, Delete, Get, Get Many, Remove Label, Reply, Trash, Untrash

Gmail Trigger options

The trigger has one event, Message Received, and it works by polling. The Gmail Trigger documentation (read 9 October 2026) lists these options:

OptionDocumented behaviour
Poll TimesModes: Every Hour, Every Day, Every Week, Every Month, Every X (value plus minutes or hours), Custom (cron expression)
Max Emails per PollDefault 10, maximum 50
Read StatusUnread and read emails, Unread emails only (default), Read emails only
SimplifyOn by default; turn it off for the raw Gmail response
FiltersLabel Names or IDs, Search (Gmail search syntax such as from:), Sender, Include Spam and Trash

Duplicates and missed mail. The documentation does not describe duplicate handling, and I did not test it. My recommendation: leave Read Status on "Unread emails only", end every workflow with Mark as Read or a "Processed" label, and make the downstream write idempotent by keying on the Gmail message ID (a CRM upsert, or a lookup before appending to a sheet). If more than 50 matching messages can arrive between two polls, the documentation does not say what happens to the rest, so keep the interval short and test with a burst before relying on it.

Setting Up Gmail in N8N: Credentials

Before you build any workflow, you need to connect your Google account. N8N uses OAuth2, which means you authorize access through Google's standard login screen without giving N8N your password. n8n's documentation recommends OAuth2 for Gmail over service accounts.

Step 1: Create a Google Cloud Project

Go to the Google Cloud Console and create a new project. Name it something like "N8N Automations." This is the container that holds your API credentials.

Step 2: Enable the Gmail API

Inside your project, go to APIs and Services, then Library. Search for "Gmail API" and enable it. n8n lists a 401 Unauthorized error on the Gmail Trigger as the symptom of skipping this step.

Step 3: Configure the OAuth Consent Screen

Go to APIs and Services, then OAuth consent screen, and fill in the app details. The publishing status you pick here matters later: see "Token expiry after seven days" below.

Step 4: Create OAuth2 Credentials

Go to APIs and Services, then Credentials. Click "Create Credentials" and choose "OAuth client ID." Select "Web application" as the type. In n8n, open a new Gmail OAuth2 credential and copy the OAuth Redirect URL it shows; paste that into Google's Authorized redirect URIs. n8n's documentation gives the pattern as https://your-n8n-domain/rest/oauth2-credential/callback, but copy the value n8n displays rather than typing it.

Step 5: Connect in N8N

Paste the Client ID and Client Secret from Google Cloud into the n8n credential, click Connect and complete the authorization flow. Once connected, all Gmail nodes in your workflows can use this credential.

On n8n Cloud: Managed OAuth2

n8n's Google credentials page says Managed OAuth2 is available only on n8n Cloud (all plans) and not on self-hosted instances. It gives you a Sign in with Google button for supported nodes, including Gmail, with no Google Cloud project. Self-hosted instances need the custom OAuth2 setup above.

Service accounts

n8n's documentation says Google technically supports service accounts for Gmail, but it requires domain-wide delegation, which Google discourages, and the behaviour can be inconsistent. It recommends OAuth2 instead.

Use Case 1: New Lead Email to CRM and Slack

Many SMBs receive inbound leads via email. A contact form submission arrives in Gmail, someone manually reads it, copies the name and email into the CRM, then pastes a note into Slack. Someone has to repeat it by hand for every lead.

Here is the N8N workflow that handles it automatically:

  1. Gmail Trigger: Filter for emails from your contact form sender address or with subject containing "New inquiry" or "Contact form."
  2. Code node or AI Extract node: Parse the email body to extract name, email address, phone, and message.
  3. HubSpot or Airtable node: Create a new contact record with the extracted data.
  4. Slack node: Post a notification to your #leads channel with the contact's name, message preview, and a link to the CRM record.
  5. Gmail node: Apply a "Processed" label to the original email so you know it was handled.

Once it is switched on, every lead that matches the filter lands in the CRM and in Slack without anyone opening the inbox. Because the trigger polls, there is a delay of up to one poll interval, and the workflow only sees mail that matches your filters.

Use Case 2: Automated Follow-Up Sequence

When a new contact enters your CRM or fills out a form, they expect a response. Most businesses send a generic "we received your message" reply and then go silent for days. That kills conversion.

N8N can send a real, personalized follow-up sequence tied to your Gmail:

  1. Webhook Trigger: A new contact is created in your CRM (or a form is submitted).
  2. Gmail node (Send): Immediately send a personalized welcome email from your Gmail address. Include the prospect's name and reference their specific inquiry.
  3. Wait node: Pause the workflow for 2 days.
  4. IF node: Check the CRM to see if the contact has replied or booked a call. If yes, stop. If no, continue.
  5. Gmail node (Send): Send a second follow-up email with a soft CTA that links to your own booking page.

The emails go out from your own Gmail account, so replies land in your normal inbox. Check the daily sending limits in the table below before you put a long list through it.

Use Case 3: Email-to-Spreadsheet Data Extraction

Suppliers, vendors, and clients send structured data via email. Shipping notifications, order confirmations, invoice summaries. Businesses manually copy this data into Google Sheets or Airtable. It takes time and introduces errors.

N8N can parse these emails and populate a spreadsheet automatically:

  1. Gmail Trigger: Filter for emails from a specific sender (your supplier's domain) or with a specific subject line.
  2. Code node: Use a JavaScript regex or string split to extract the relevant fields from the email body (order number, amount, items, delivery date).
  3. Google Sheets node: Append a new row to your tracking sheet with the extracted data.
  4. Gmail node: Move the processed email to a "Logged" label to keep your inbox clean.

If the email format is inconsistent between senders, you can add an OpenAI node between the Code node and the Sheets node to normalize the extracted fields using a natural language instruction. See our N8N + OpenAI integration guide for how to set that up.

Use Case 4: Triggered Internal Alerts

Some emails need immediate human attention: a client escalation, a payment failure notice, a negative review notification. N8N can act as a filter that watches your inbox for high-priority triggers and routes them to the right person instantly.

  1. Gmail Trigger: Watch all incoming emails.
  2. IF node: Check if the email subject contains words like "urgent," "escalation," "refund," "complaint," or "cancel."
  3. Slack node (urgent path): Post an @channel alert with the email subject, sender, and body preview.
  4. Gmail node: Apply a "Needs Attention" label and star the email.
  5. Standard path: Do nothing (let the email sit normally in the inbox).

A subject-keyword filter is blunt, so expect some false alerts and some misses; tune the keyword list against your real mail. The alert arrives within one poll interval of the message.

Use Case 5: Client Onboarding via Email

When a new client signs a contract or makes a payment, a sequence of internal tasks needs to happen: create a project folder, invite the client to a Notion workspace, schedule the kickoff call, send a welcome packet. Most businesses do this manually.

N8N can trigger the entire onboarding sequence from a single "Payment received" email from Stripe or your invoicing tool:

  1. Gmail Trigger: Watch for emails from Stripe or your payment processor with subject "Payment successful."
  2. Code node: Extract the client name and amount from the email body.
  3. Google Drive node: Create a new client folder from a template.
  4. Notion or Airtable node: Create a new client record in your project management tool.
  5. Gmail node (Send): Send the client a welcome email with the onboarding checklist and next steps.
  6. Slack node: Notify your team that a new client has been onboarded.

That is six steps that would otherwise be done by hand for each client. The extraction depends on the payment email's wording, so a change to Stripe's or your invoicing tool's email template can break the Code node; add an error workflow so you hear about it.

Gmail Limits to Know Before You Go Live

The figures below come from Google's documentation, read on 9 October 2026. Google changes them, so check the linked pages before you size a workflow.

LimitValueSource
Gmail API quota, per project per minute1,200,000 unitsGmail API usage limits
Gmail API quota, per project per day80,000,000 unitsSame page
Gmail API quota, per user per project per minute6,000 unitsSame page
Unit cost per callmessages.list 5, messages.get 20, messages.send 100, messages.modify 5, history.list 2Same page
Sending, personal Gmail accountMore than 500 emails in a day triggers the limit; sending usually resumes within 1 to 24 hoursGmail help: sending limits
Sending, Google Workspace user2,000 a day (1,500 for mail merge, 500 for trial accounts); locked out for up to 24 hours after hitting a limitWorkspace sending limits
Recipients per message sent through the Gmail API (Workspace)500Same page

The quota figures replace the numbers this page showed before October 2026, which no longer matched Google's documentation. At 100 units per send and 6,000 units per user per minute, one mailbox tops out at 60 sends a minute on quota alone (my arithmetic from Google's numbers). The daily sending caps bite long before that. For high-volume outbound sequences, pair n8n with a dedicated email service such as SendGrid or Mailgun instead of sending through a personal mailbox.

Polling, not push

The Gmail Trigger documentation describes polling only, at the Poll Time you choose. Google does offer push notifications through Cloud Pub/Sub, but the watch must be renewed at least every 7 days or updates stop (Google's push guide). The trigger node's documentation does not mention it, and I have not built that setup, so treat it as a custom build, not a setting.

Token expiry after seven days

n8n's Google OAuth documentation says that for an app in Testing mode with the External user type, consent and tokens expire after seven days, so you have to reconnect the credential. That is the most common reason a Gmail workflow goes silent a week after setup. Check the publishing status of your OAuth app in Google Cloud before you debug anything else. Moving an app to production may trigger Google's verification requirements for Gmail scopes, so read Google's current rules before you plan around it.

How This Fits into a Broader Automation Strategy

Gmail automation is one piece of a larger picture. Most SMBs that see the biggest gains connect email automation to their CRM, scheduling tools, and customer communication channels simultaneously.

If you are weighing n8n against Zapier or Make for email workflows, the cost comparison covers the switching decision. If you are using N8N to automate lead intake via Gmail, the next logical step is automating what happens after the lead responds: booking a call, sending a proposal, triggering an onboarding sequence. Our N8N scheduled triggers guide covers how to time these follow-up sequences precisely.

For businesses that also handle inbound phone calls alongside email, an AI voice agent can work alongside your N8N workflows. The voice agent handles incoming calls and pushes caller data directly into N8N, which then emails a summary and creates the CRM record. The two systems together cover both phone and email channels without any human touchpoint.

Not sure how ready your business is for this level of automation? Take our AI readiness assessment to get a clear picture of where to start.

If you want to understand the ROI before committing, our automation ROI calculator lets you input your current time costs and see projected savings within minutes.

Getting Started with N8N Gmail Automation

The fastest path to a working Gmail integration is to start with one use case, not five. Pick the workflow that matches your biggest current pain point: lead logging, follow-up sequences, or urgent email alerting.

Set it up, run it for a week, and measure the time saved. Once you see the pattern working reliably, expanding to additional use cases is straightforward because you have already built the Gmail credential connection and understand how the trigger and action nodes work together.

If you want help scoping the right workflows for your business, I build and deploy n8n automations. The n8n automation page covers what that involves, and the consulting page is where to book a call.

Related n8n Guides

Gmail is usually one node in a larger chain. These cover the rest of it:

Frequently Asked Questions

What is the n8n Gmail integration?

The n8n Gmail integration is a pair of built-in nodes that connect an n8n workflow to a Google account: the Gmail Trigger node, which starts a workflow when a matching email arrives, and the Gmail node, which sends, replies, labels, reads and deletes messages. Both talk to the Gmail API over OAuth2, so nothing is sent through a third-party relay and the messages appear in your own mailbox exactly as if you had handled them by hand.

Is the n8n Gmail node an official n8n integration, and where are its docs?

Yes. Gmail is a built-in node maintained by n8n itself, not a community package, so it ships with every n8n instance and needs no installation. The official reference lives at docs.n8n.io under Integrations, Built-in nodes, App nodes, Gmail, with a separate page for the Gmail Trigger under Trigger nodes. Those pages are the authority on parameter names and operations. This guide covers the parts they leave out: the Google Cloud console steps, the quota behaviour, and what a working business workflow looks like end to end.

How do I set up the n8n Gmail node integration?

Five steps. Create a Google Cloud project, enable the Gmail API, configure the OAuth consent screen, create an OAuth client ID of type Web application with the redirect URL copied from n8n's credential screen, then paste the client ID and secret into a Gmail OAuth2 credential in n8n and click Connect. On n8n Cloud you can skip the Google Cloud steps with Managed OAuth2 and use Sign in with Google.

What operations does the n8n Gmail node support?

The Gmail node has four resources. Message: Add Label, Delete, Get, Get Many, Mark as Read, Mark as Unread, Remove Label, Reply, Send. Label: Create, Delete, Get, Get Many. Draft: Create, Delete, Get, Get Many. Thread: Add Label, Delete, Get, Get Many, Remove Label, Reply, Trash, Untrash. The Gmail Trigger is a separate node with one event, Message Received, and it polls at the Poll Time you choose.

Do I need Google Cloud OAuth2 credentials for the n8n Gmail integration?

On a self-hosted instance, yes: you need your own OAuth2 client ID and secret from Google Cloud Console. n8n Cloud offers Managed OAuth2, a Sign in with Google button that needs no Google Cloud project; it is not available on self-hosted instances. Service accounts with domain-wide delegation are possible, but n8n's documentation says Google discourages that setup and its behaviour can be inconsistent, and recommends OAuth2 for Gmail.

Does N8N work with Gmail for free accounts?

Yes. The Gmail node works with free @gmail.com addresses through OAuth2. The limit that matters is sending: Google's help page says a personal account that sends more than 500 emails in a day hits the sending limit, and sending usually resumes within 1 to 24 hours. The Gmail API quota (80,000,000 units per project per day, 6,000 units per user per minute) is unlikely to be the constraint for a small workflow.

Can N8N send emails from my Gmail account automatically?

Yes. N8N can send emails from your Gmail account using the Gmail node's Send action. This includes setting the To, CC, BCC, subject, HTML body, and attachments. Emails sent this way appear in your Gmail Sent folder just like manually sent emails. You can trigger sends from any workflow event: a new CRM contact, a webhook, a form submission, a scheduled cron, or data from a spreadsheet.

What is the difference between using the Gmail node and the SMTP/Email node in N8N?

The Gmail node uses the Gmail API via OAuth2 and supports reading, labeling, replying, and sending emails tied to your specific Gmail account. It also lets you trigger workflows when new emails arrive. The SMTP/Email node uses standard email protocols to send outbound emails only; it cannot read or monitor your inbox. For most Gmail-based workflows, the Gmail node is the right choice because it provides both read and write access.

How do I trigger an N8N workflow when a new email arrives in Gmail?

Use the Gmail Trigger node as the first step in your workflow. Its event is Message Received. Choose a Poll Time mode (Every Hour, Every Day, Every Week, Every Month, Every X minutes or hours, or a Custom cron expression), then narrow it with Label Names or IDs, Search, Sender or Read Status. By default it fires on unread messages only and fetches 10 emails per poll, with a maximum of 50.

Why does my n8n Gmail credential stop working after a week?

If your Google OAuth consent screen is in Testing mode with the External user type, n8n's documentation says consent and tokens expire after seven days, so you have to reconnect the credential. Check the publishing status of your OAuth app in Google Cloud first. A 401 Unauthorized error can also mean the Gmail API was never enabled for the project.

Ready to Automate Your Gmail Inbox?

Book a call and I will map out which email workflows are worth automating for your team, and what it takes to run them reliably.

Book a Call

Suyash Raj
Suyash Raj Founder, Voxdonna AI and AiSewak. Writes here about n8n, AI agents, and voice automation.