See llms.txt for all machine-readable content.

Google Sheets and Microsoft Outlook integration

Save yourself the work of writing custom integrations for Google Sheets and Microsoft Outlook and use n8n instead. Build adaptable and scalable Data & Storage, Productivity, workflows that work with your technology stack. All within a building experience you will love.

How to connect Google Sheets and Microsoft Outlook

Create a new workflow and add the first step

In n8n, click the "Add workflow" button in the Workflows tab to create a new workflow. Add the starting point – a trigger on when your workflow should run: an app event, a schedule, a webhook call, another workflow, an AI chat, or a manual trigger. Sometimes, the HTTP Request node might already serve as your starting point.

Google Sheets and Microsoft Outlook integration: Create a new workflow and add the first step

Email new leads from Google Sheets via Outlook on a schedule

Send a templated outreach email to new leads in a Google Sheet on a daily schedule, then mark each lead as contacted so they won’t be emailed twice. Built with: Schedule Trigger → Google Sheets → Filter → Outlook Send Email → Google Sheets (append/update). Who’s it for Teams that collect leads in Sheets and want automatic, once-per-lead outreach Solo founders/consultants running simple top-of-funnel follow-ups Anyone prototyping CRM-lite flows in n8n How it works / What it does Schedule Trigger runs daily (e.g., 09:00). Get rows (Google Sheets) pulls leads from your sheet. Filter keeps only rows where Contacted is empty. Outlook – Send a message emails each remaining lead (to = {{$json.Email}}). Google Sheets (appendOrUpdate) writes back Contacted = Yes (match on Email) to prevent re-sending. How to set up 1) Google Sheets (OAuth2) In n8n → Credentials → New → Google Sheets (OAuth2), sign in and grant access. In Get rows: select your Lead Source sheet (e.g., “New Leads”). In Append/Update: select the sheet you want to mark as contacted (can be the same sheet or a CRM sheet). Make sure your sheet has at least: Email, Contacted (blank for new). 2) Outlook (Microsoft Graph) OAuth2 n8n Cloud (quick connect): In Credentials → New → Microsoft Outlook OAuth2, choose Connect, sign in with your Microsoft account, and accept permissions. Self-hosted (Azure App Registration): 1) Azure Portal → App registrations → New registration. 2) Add redirect URL: https://YOUR_N8N_URL/rest/oauth2-credential/callback. 3) API permissions (Delegated): offline_access, Mail.Send, User.Read. Grant admin consent if required. 4) Create a Client secret; copy Application (client) ID and Directory (tenant) ID. 5) In n8n, create Microsoft Outlook OAuth2 credential with those values and scopes: offline_access Mail.Send openid email profile. In the Send a message node, select that credential and keep To mapped to {{$json.Email}}. Customize Subject and Body to your brand (default provided). Requirements A Google Sheet of leads with an Email column (and an optional Contacted column). A Microsoft account with permission to send mail via Microsoft Graph (Outlook). How to customize the workflow Email content: Edit subject/body (add variables like {{$json.FirstName}}). Send window: Change Schedule Trigger time/interval. Idempotency: Use the same sheet for read+write (match on Email) or separate source/CRM sheets. Logging: Add a Sheet or Notion append step after send for an audit trail. Security & best practices No hardcoded secrets: Always use OAuth2 credentials (Sheets & Outlook). Sanitize PII: If publishing, remove real spreadsheet IDs/URLs and personal emails/phone numbers. Sticky notes are mandatory: Add a yellow sticky note in the workflow with this description and a short setup checklist. Use neutral sticky notes for per-node tips. Troubleshooting No emails sent: Ensure Contacted is blank for new rows and the Filter checks “is empty.” Auth errors (Outlook): Reconnect credential; confirm Graph scopes and tenant consent. Sheets errors: Re-select spreadsheet/tab; verify headers (Email, Contacted). Duplicates: Confirm Append/Update uses matching column = Email. Tags & category Category: Sales & CRM Tags: outreach, follow-up, google-sheets, outlook, schedule, dedupe, cold-email Changelog v1.0.0 — Initial release: scheduled outreach, Outlook email, de-dupe via Contacted = Yes. Contact Need help customizing (personalization, rate-limits, CRM sync, bounce checks)? 📧 [email protected] 🔗 Robert Breen — https://www.linkedin.com/in/robert-breen-29429625/ 🌐 ynteractive.com — https://ynteractive.com

Build your own Google Sheets and Microsoft Outlook integration

Create custom Google Sheets and Microsoft Outlook workflows by choosing triggers and actions. Nodes come with global operations and settings, as well as app-specific parameters that can be configured. You can also use the HTTP Request node to query data from any app or service with a REST API.

Google Sheets supported actions

Microsoft Outlook supported actions

Google Sheets and Microsoft Outlook integration details

Google Sheets

Google Sheets

Google Sheets is a web-based spreadsheet program offered by Google for free. It similar to Microsoft Excel, and can be accessed anywhere on any device, you only need a Google account.

Microsoft Outlook

Microsoft Outlook

Microsoft Outlook is a professional email service offered by Microsoft. It serves as an information manager, calendar, task manager, note-taker, and much more. It is widely used by individuals and businesses across the world.

FAQ about Google Sheets integrations

Need help setting up your Google Sheets and Microsoft Outlook integration?

Discover our latest community's recommendations and join the discussions about Google Sheets and Microsoft Outlook integration.

  • sw2025

    Is the Google Sheets Node not working for anyone else (not a newbie)?

    sw2025

    Not a newbie to n8n - Have successfully used the G-sheets nodes many times in the past with the same credentials, never an issue. Today I’m trying to create a new automation that requires using the G-Sheets nodes - cann…

    Open topic
  • Tenzin Nyima 10B15

    How to Update Multiple Rows in Google Sheets at Once in n8n?

    Tenzin Nyima 10B15

    Hi everyone I’m currently learning n8n and experimenting with Google Sheets automation. I’ve set up a workflow (screenshot attached) that includes: Trigger: “When chat message received” AI Agent connected to: Goog…

    Open topic
  • Sergey Komardenkov

    Google Sheets Action is not picking up a list of available Sheets despite seeing the document itself

    Sergey Komardenkov

    Describe the problem/error/question I am testing a workflow where the final action is addition of a row into a Google sheet. I have created a new sheet, I gave it Edit permissions by link just in case, and of course I ad…

    Open topic
  • Filbert Henrico

    Seeking help to look for Pivot table or any formula operation in Google Sheet

    Filbert Henrico

    Hi there, I am using free service in n8n and I am looking for a support to provide information whether there is an option for pivot table or vlookup formula in the operation section for google sheet? Is it something th…

    Open topic
  • Boba228ai

    Switch Node with Google Doc File Problem

    Boba228ai

    Hello everyone! I set up workflow file transfer in supabase. Google Drive trigger receives file data, transfers it to switch, it determines what kind of file it is (google sheet, google doc, pdf) and then transfers it to…

    Open topic

Looking to integrate Slack and VirusTotal in your company?

Trusted by teams building smarter workflows.

Why

Why use n8n to integrate Google Sheets with Microsoft Outlook

Handle branching, merging and iteration easily. Pause your workflow to wait for external events.

Re-run single steps to test changes in no time. And pin your data to avoid generating trigger events every time you execute.

Your data is displayed alongside your settings, making edge cases easy to track down.

Use 1000+ workflow templates available from our core team and our community.

Copy and paste, easily import and export workflows.

Simple enough to 
understand + sophisticated 
enough to ship