Back to Integrations
integrationGmail node
integrationShopify node

Gmail and Shopify integration

Save yourself the work of writing custom integrations for Gmail and Shopify and use n8n instead. Build adaptable and scalable Communication, HITL, and Sales workflows that work with your technology stack. All within a building experience you will love.

How to connect Gmail and Shopify

  • Step 1: Create a new workflow
  • Step 2: Add and configure nodes
  • Step 3: Connect
  • Step 4: Customize and extend your integration
  • Step 5: Test and activate your workflow

Step 1: 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.

Gmail and Shopify integration: Create a new workflow and add the first step

Step 2: Add and configure Gmail and Shopify nodes

You can find Gmail and Shopify in the nodes panel. Drag them onto your workflow canvas, selecting their actions. Click each node, choose a credential, and authenticate to grant n8n access. Configure Gmail and Shopify nodes one by one: input data on the left, parameters in the middle, and output data on the right.

Gmail and Shopify integration: Add and configure Gmail and Shopify nodes

Step 3: Connect Gmail and Shopify

A connection establishes a link between Gmail and Shopify (or vice versa) to route data through the workflow. Data flows from the output of one node to the input of another. You can have single or multiple connections for each node.

Gmail and Shopify integration: Connect Gmail and Shopify

Step 4: Customize and extend your Gmail and Shopify integration

Use n8n's core nodes such as If, Split Out, Merge, and others to transform and manipulate data. Write custom JavaScript or Python in the Code node and run it as a step in your workflow. Connect Gmail and Shopify with any of n8n’s 1000+ integrations, and incorporate advanced AI logic into your workflows.

Gmail and Shopify integration: Customize and extend your Gmail and Shopify integration

Step 5: Test and activate your Gmail and Shopify workflow

Save and run the workflow to see if everything works as expected. Based on your configuration, data should flow from Gmail to Shopify or vice versa. Easily debug your workflow: you can check past executions to isolate and fix the mistake. Once you've tested everything, make sure to save your workflow and activate it.

Gmail and Shopify integration: Test and activate your Gmail and Shopify workflow

Process Shopify new orders with Zoho CRM and Harvest

This workflow is triggered when a new order is created in Shopify. Then:
the order information is stored in Zoho CRM,
an invoice is created in Harvest and stored in Trello,
if the order value is above 50, an email with a discount coupon is sent to the customer and they are added to a MailChimp campaign for high-value customers; otherwise, only a "thank you" email is sent to the customer.

Note that you need to replace the List ID in the Trello node with your own ID (see instructions in our docs). Same goes for the Account ID in the Harvest node (see instructions here).

Nodes used in this workflow

Popular Gmail and Shopify workflows

+3

Convert Shopify products into Blog content with DeepSeek and Sheets

Overview Stop struggling with content creation for your e-commerce store. This workflow acts as your automated AI Content Marketer, instantly transforming your Shopify product details into high-quality, SEO-optimized blog posts. It handles everything from reading product data to writing the article and uploading it directly to your store as a draft. What this workflow does Fetches Product Data: Automatically pulls product titles and descriptions directly from your Shopify store (configurable limit). Data Logging: Backs up the raw product data into Google Sheets for record-keeping before processing. AI SEO Writing: Uses a powerful LLM (via OpenRouter/DeepSeek) to write a complete, engaging blog post based on the product's features. It generates an SEO-friendly title and formats the body content in clean HTML (headings, bullet points, etc.). Smart Parsing: A custom Code node ensures the AI's output is strictly formatted as JSON, separating the Blog Title from the Blog Content to prevent errors. Auto-Drafting in Shopify: Uploads the generated article directly to your specific Shopify Blog ID as a "Draft" (so you can review it before publishing). Email Notification: Sends a confirmation email via Gmail to let you know your new blog posts are ready for review. Setup Requirements To run this workflow, you will need to set up credentials in n8n for the following services: Shopify Admin API: To fetch products and create articles. (You will need your Shop Name and an Access Token). OpenRouter (or OpenAI): To power the AI Agent. The template is configured for DeepSeek via OpenRouter, but can be swapped for OpenAI. Google Sheets: To log product data and generated blog content. Gmail: To send the completion notification. How to use Configure Variables: Double-click the "Variables" node (Set node) at the start of the workflow. Enter your shop name (e.g., my-store from my-store.myshopify.com) and your blogId (found in the URL when viewing your blog in Shopify Admin). Connect Google Sheets: Open the Google Sheets nodes and map them to a sheet in your Drive. Ensure your sheet has columns for ID, Title, and Description. Select AI Model: In the Chat Model node, ensure your API key is connected (OpenRouter is used by default for cost-efficiency). Run: Execute the workflow. It will process your products and populate your Shopify Blog with new drafts automatically. Video Tutorial Watch the full setup guide here: Guide

Abandoned cart recovery for Shopify via Gmail, Google Sheets & Twilio (no-code)

Who is this for? This template is ideal for solo store owners, eCommerce marketers, automation beginners, or anyone using Shopify and Gmail who wants to recover lost revenue without coding. What problem does this solve? Customers often leave items in their cart without completing the purchase. Manually chasing those sales is inefficient and inconsistent. This workflow automates the recovery process by sending emails (and optionally SMS) based on Shopify checkout activity. What this workflow does: ✅ Detects when a Shopify checkout is created but not completed, ⏳ Waits 1 hour, then checks if the cart was abandoned, 🧾 Pulls cart contents and applies a fallback discount, 📧 Sends a recovery email via Gmail, 🕓 After 24 hours, you can optionally send an SMS or WhatsApp reminder via Twilio, 📊 Logs each interaction to Google Sheets for tracking. Setup: Create Shopify, Gmail, Google Sheets, and Twilio credentials in your n8n instance, Import the JSON workflow file Replace the Shopify trigger with your store's webhook (set to “Checkout Create”), Set your wait time (default: 1 hour), Link your Gmail account and customize the email message, (Optional) Link Twilio to add a multi-channel reminder, Update the Google Sheets node with your own Sheet ID and headers. 🗒 Color-coded workflow notes: To make customization easier, this template includes a visual sticky note system inside the n8n canvas. You’ll find: 🟩 Green Notes → Main Steps Clear, essential stages of the automation (e.g. wait, check cart status, send email), 🟦 Blue Notes → Personalization Tips Small tweaks you can make to match your tone, store brand, or logic (e.g. email copy, discount logic), 🟨 Yellow Notes → Optional / Advanced Features that you can explore setting up: Twilio SMS, Airtable logging, human approval steps, etc. 👉 Look around each key node for quick tips, setup instructions, and TO-DO items. This system helps you understand and modify the workflow at a glance — whether you're a beginner or scaling a pro setup. How to customize this workflow? 🎯 Swap Shopify for WooCommerce or Stripe by replacing the trigger and cart-check logic, 💬 Localize and personalize each email message or add multilingual support via AI, 📈 Upgrade logging from Google Sheets to Airtable for CRM-style features, 🤝 Add manual approval steps for high-value discounts, 💡 Want a one-time unique code per user? Let us build that logic for you → [email protected] Final notes This template was designed by Velebit from Innovatio. External links in the workflow (e.g. support or upgrade options) are optional and purely informative, while only leading to the official company webiste with no affiliate or similar links included in the template itself. A separate license applies to the paid version on Gumroad, which includes additional modules and commercial use rights.
+2

Summarize daily Shopify orders with Gemini, Google Sheets, Gmail and Slack

🛍️ Shopify Daily Order Reporting: AI Summaries & Multichannel Alerts Summary E-commerce store management made easy. The workflow pulls your daily Shopify orders, calculates essential metrics like revenue and fulfillment rates, and categorizes them by status (shipped, returned, cancelled, or pending). Gemini AI then transforms this data into a polished daily summary, logs the metrics into Google Sheets, and delivers the final report directly to your team via Slack and email. Perfect for store owners and managers who want a hands-off, easy-to-read daily brief on how the store performed. Key Features Automated Math:** Instantly calculates total orders, revenue, average order value, and categorizes whether orders are paid, shipped, returned, cancelled, or pending. AI-Powered Summaries:** Our AI (Gemini) reads your order data and writes a clean daily summary that looks good in Slack and email. Multichannel Updates:** Delivers the final summary directly to your inbox via Gmail and your team's Slack channel simultaneously. Centralized Logging:** Every daily summary is appended to a Google Sheet for easy long-term tracking. Safety Net Alerts:** If any step fails (like a Shopify API timeout or a full Google Sheet), an error message appears in the dedicated Slack channel you select. 🧩 Nodes Used Schedule Trigger:** Initiates the workflow daily at the specified time. Set:** Defines global configuration variables like the recipient email and sheet URL. Shopify:** Fetches the daily updated orders from your store. Code:** Custom JavaScript to calculate metrics and categorize orders safely. If:** Routes the workflow logic based on whether new orders were found. Google Sheets:** Appends the parsed daily metrics to your tracking sheet. Advanced AI (Gemini Model & Chain):** Generates the formatted summary text. Gmail:** Sends the HTML formatted daily report via email. Slack:** Delivers reports, zero-order notices, and error alerts to specified channels. Error Trigger:** Catches workflow failures for global error handling. How It Works Trigger: Runs automatically every day at 23:59 (in your local timezone). Ingestion: Connects to Shopify's order system and pulls all orders from the current day. Processing: Sorts the raw data into actionable categories (shipped, refunded, cancelled, pending). AI Generation: Gemini translates the numbers into a readable daily report. If there are no orders for the day, Slack gets a quick "no updates" ping, and the email is NOT sent. Distribution: Logs the data to Google Sheets, emails the summary via Gmail, and posts it to Slack. 🛠️ Setup Instructions Step 1: Authenticate All Credentials Before building, connect your accounts by clicking each node and selecting "Connect": Shopify API:** Requires your store admin URL and an API token. Google Sheets & Gmail:** Sign in with your Google account. Slack API:** Authorize the n8n bot to post in your workspace. Google Gemini API:** Enter the API key from your Google Cloud account. Step 2: Configure Workflow Variables Open the "Set Config (Email & Sheet URL)" node and fill in the basics: recipientMail:** The email address where daily reports will be sent (e.g., [email protected]). googleSheetUrl:** Leave this blank for now or type pending — we'll update it in Step 4. Step 3: Create Your Google Sheet Create a blank Google Sheet. In Row 1, add these exact headers (they are case-sensitive): Date | Total Orders | New Orders | Shipped | Refunded | Cancelled | Revenue | Avg Value | Fulfillment % | Timestamp Step 4: Paste the Sheet URL Copy your new Google Sheet's URL (format: https://docs.google.com/spreadsheets/d/{SHEET_ID}/edit). Go back to the "Set Config (Email & Sheet URL)" node and paste this URL into the googleSheetUrl field. Open the "Log to Google Sheets" node and ensure it is pointing to this document. Step 5: Select Slack Channels Open the "Slack - Send Report" node and select the channel for daily reports. Open the "Slack - No Orders Alert" node and select a channel (can be the same one). Open the "Slack - Send Error Alert" node (bottom left) and select a channel for emergency alerts (like a dedicated #errors channel). Step 6: Set Workflow Timezone (Crucial!) Where to find it:** Top menu → Workflow Settings (gear icon) → Timezone dropdown. What it does:** Changes when the workflow runs AND which day's orders it pulls. Example:** Set to Asia/Kolkata? It runs at 23:59 IST and pulls orders from midnight-to-midnight IST. Step 7: Activate Toggle the workflow to Active in the top right corner. It will now run on autopilot! ✅ Verification Checklist Before trusting it completely, double-check these items: [ ] Shopify API has orders:read permissions enabled. [ ] Gmail OAuth2 credential has been created and connected. [ ] Slack bot has chat:write permissions. [ ] Google Sheets OAuth has been granted (workflow can access your sheets). [ ] Google Gemini API is enabled in your Google Cloud project. [ ] Shopify store timezone set correctly in Workflow Settings. [ ] First manual test run completed successfully (click "Test Workflow"). ⚠️ Limitations Order Volume Limit:** The Shopify fetch node is currently set to a limit of 1000 orders. If your store updates more than 1000 orders in a single day, the node will cap at 1000. For massive scale, this node would need to be replaced with an HTTP Request node utilizing cursor-based pagination. Timezone Dependency:** Ensure your n8n workflow timezone perfectly matches your Shopify store timezone to prevent orders from being miscategorized between days. 💡 How to Customize Want only PAID orders (skip pending)?** Edit the Calculate & Categorize Metrics code node. Change the filtering logic to only include orders where financial_status = "paid". Want to change the AI's tone?** Open the Generate AI Summary node. You can explicitly tell Gemini to "write this like a strict financial auditor" or "make it fun and enthusiastic with lots of emojis." Need reports sent to the whole team?** Duplicate the Gmail node to send to additional email addresses, or change the recipientMail variable to a group distribution list.

Monitor Shopify orders and send no-order alerts via Slack and email

🛒 Shopify "No Orders in X Minutes" Alert 📌 Summary Never miss a revenue-impacting failure. This n8n workflow monitors your Shopify store and triggers an alert if X minutes pass without a single new order. By automatically detecting unexpected drops in order flow based on your custom schedule. It tracks downtime duration, sends rich multi-channel alerts, and can optionally send an automated "all clear" message when orders resume. ✨ Key Features Dynamic 'X Minutes' Tracking:** The workflow automatically calculates its lookback window based on your Schedule Trigger. If you set the trigger to check every 45 minutes, the workflow dynamically alerts you if no orders were placed in the last 45 minutes. Multi-Channel Alerts:** Delivers highly readable, structured Slack messages and styled Emails. Toggle Slack and Email alerts independently via a single configuration node. Optional Recovery Notifications:** Toggle on the ability to automatically send a green "✅ SYSTEM RECOVERED" alert when orders successfully resume after an outage, closing the loop for your team. Smart Error Handling:** Catches Shopify API errors (e.g., expired credentials or rate limits) and tracks them separately from organic "no order" events to prevent skewed downtime metrics. 🛠️ How It Works Trigger & Validate: The workflow runs on a schedule you choose (for example, every 30 minutes). Validates configuration to prevent silent failures (e.g., missing email addresses or no channels enabled). Fetch Order: Queries Shopify for any new orders created within the last trigger interval. Logic Branch: Orders Found: Calculates total downtime, resets the tracking counters, and sends a Recovery notification (if an outage was actively ongoing and the recovery toggle is enabled). ✅ No Orders: Increments the downtime counter and initiates the alert sequence. 🚨 Route: Checks configuration toggles and delivers formatted messages to your enabled channels. 📦 Nodes Used Schedule Trigger** - Controls check frequency (configurable) Configuration** - Centralized settings for channels, recovery alerts, and email recipient Validate Email Config? / All Channels Disabled?** - Safety gates to prevent silent failures Config Error** - Stops execution with a clear warning if setup is incomplete Fetch Orders** - Queries Shopify for recent orders using an automated time window Orders Found?** - Conditional branch logic Build Alert Message** - Formats consistent message with downtime metrics and color themes Handle API Error** - Catches and formats Shopify API failures independently Orders Resumed — Reset Counters** - Generates recovery payloads and clears workflow static data Recovery Enabled?** - Checks if a recovery message needs to be sent based on previous downtime and your configuration toggles Slack Enabled?* / Email Enabled?* - Routes to enabled channels Alert Team via Slack** - Posts structured Slack messages Alert Team via Email** - Sends templated HTML alerts via Gmail 🚀 Setup Instructions Credentials: Connect Shopify (orders:read), Slack (chat:write), and Gmail (gmail.send). Important: Open the Slack node and manually select your target channel from the dropdown. Config Node: Open the Configuration node and set your preferences: enableSlackAlert: Toggle to true to enable Slack notifications. enableEmailAlert: Toggle to true to enable Email notifications. enableRecoveryNotification: Toggle to true if you want a follow-up message when orders resume. sendEmailTo: Enter your target email address (mandatory if email alerts are enabled). Activate: Toggle the workflow to Active and you're ready to go. It will start checking on schedule. Testing the Recovery Path (Optional): To manually simulate a recovery, temporarily delete the expression in the Shopify node's createdAtMin field and pick a date in the past. Execute the node so it finds orders and triggers the recovery alert, then paste the default expression back in. ⚙️ Customization Ideas For Low-Traffic Stores:* Edit the Build Alert Message code logic to only send an alert after 3* consecutive failures (useful for low-volume stores). Monitor Specific Order Types:** Filter for paid orders only, or orders with specific tags, to focus on the orders that matter most. On-Call Escalation:* Add a Twilio* node after the Email node to send an SMS if the downtime exceeds 120 minutes. 📋 Requirements n8n Version:** 2.11.3+ Persistence:** Requires n8n Workflow Static Data ($getWorkflowStaticData) for downtime tracking. Credentials:** Shopify, Slack, and/or Gmail OAuth2. ⚠️ Limitations Symptom Detection Only:* This workflow detects the *absence of orders, not the root cause. It can't tell if your checkout is broken, a payment processor went down, or customers just aren't buying right now. Low Traffic Stores:** If your store naturally goes hours without an order, you will receive false positive alerts unless you increase the Schedule Trigger interval to match your typical order frequency. Volume Agnostic: The Shopify fetch node uses limit: 1. It does not track order volume or quantity, it only checks if at least one order exists within the timeframe.

Process refund requests from Gmail using Shopify and Google Sheets

How it works This workflow monitors incoming Gmail messages for refund requests and uses AI to extract the order ID and reason. It then retrieves order details from Shopify to evaluate refund eligibility. Based on the order status, it automatically approves or routes the request for manual review. Customers and internal teams are notified accordingly, and all actions are logged in Google Sheets. Step-by-step Capture refund requests from email** Gmail Trigger – Detects unread emails with “Refund Request” in the subject. AI Agent2 – Extracts order ID and reason using AI. Groq Chat Model – Provides the language model used by the AI agent. Code in JavaScript – Converts AI output into structured JSON. Fetch order details from Shopify** Get an order – Retrieves order information using the extracted order ID. Evaluate refund eligibility** If – Checks whether the order status is “Delivered” to allow auto-approval. Handle responses and logging** Send a message to customer – Sends approval confirmation if eligible. Send a message to the team – Notifies team for manual review cases. Send a message to customer for "Pending" Status – Updates customer about manual review. Logs to Sheet – Records all refund actions and details in Google Sheets. Why use this? Automates repetitive refund handling tasks and reduces workload Improves customer experience with faster response times Ensures consistent decision-making based on order status Keeps a centralized log for auditing and reporting Easily extendable with additional validation rules or integrations
+2

Monitor Shopify low-stock items with OpenAI, Google Sheets, Slack and email

(Retail) Supplier Restock Request Trigger This workflow automatically monitors your Shopify inventory, detects low-stock products, generates smart alert messages, logs records in Google Sheets and sends priority-based notifications to Slack. This workflow checks your Shopify store every 5 hours, identifies products with low inventory (≤10 units), generates professional alert messages using AI, prevents duplicate alerts using Google Sheets, assigns priority based on stock level and notifies your team on Slack. You receive: Automated inventory checks every 5 hours** Google Sheet tracking for low-stock products** Priority-based Slack alerts (High / Medium / Low)** Ideal for teams that want proactive inventory visibility without manual stock checks. Quick Start – Implementation Steps Connect your Shopify account to fetch products and inventory. Connect OpenAI to generate alert messages. Connect a Google Sheet for tracking alerts. Connect Slack to receive notifications. Activate the workflow — monitoring starts automatically. What It Does This workflow automates low-stock monitoring for Shopify products: Runs automatically every 5 hours. Fetches all products and inventory levels from Shopify. Cleans and prepares product data (SKU, name, stock, vendor). Processes products in small batches to avoid overload. Filters only products with stock ≤ 10 units. Generates a professional alert message using AI. Checks Google Sheets to avoid duplicate records. Appends new records or updates existing ones. Assigns priority based on stock level: 2 units → High priority 6 units → Medium priority 10 units → Low priority Sends a clear Slack alert to the team. This ensures timely restocking with no duplicate alerts. Who’s It For This workflow is ideal for: E-commerce store owners Inventory & operations teams Shopify store managers Supply chain teams Startups managing limited stock Businesses wanting automated restock alerts Requirements to Use This Workflow To run this workflow, you need: n8n instance** (cloud or self-hosted) Shopify store** with API access OpenAI API key** Google Sheets** access Slack workspace** with API permissions No advanced technical knowledge required. How It Works Scheduled Check – Workflow runs every 5 hours. Fetch Products – Retrieves all Shopify products. Prepare Data – Extracts SKU, name, stock, vendor. Low-Stock Filter – Keeps only items ≤ 10 units. AI Message Creation – Generates alert text. Duplicate Check – Looks up Google Sheet records. Update or Insert – Keeps the sheet up to date. Priority Assignment – Sets urgency level. Slack Alert – Notifies the team instantly. Setup Steps Import the provided n8n workflow JSON. Open the Shopify nodes → connect your Shopify credentials. Add your OpenAI API key in the AI nodes. Connect your Google Sheets account and map fields. Connect Slack and select the alert channel. Adjust stock thresholds if needed. Activate the workflow — done! How To Customize Nodes Customize Stock Thresholds Modify the IF / Switch nodes to: Change low-stock limits Add more priority levels Customize Alert Messages Edit the AI prompt to: Change tone (urgent, friendly, formal) Add emojis or mentions Include pricing or vendor info Customize Google Sheet Fields You can add: Vendor name Last updated date Restock status Assigned team member Customize Slack Alerts Enhance messages with: @mentions Emojis Links to Shopify product pages Add-Ons (Optional Enhancements) You can extend this workflow to: Send email alerts Create weekly summary reports Add auto-restock triggers Integrate with ERP systems Track restock completion Add dashboards using Google Sheets Use Case Examples 1\. Inventory Monitoring Automatically track low-stock items. 2\. Restock Planning Prioritize restocking based on urgency. 3\. Team Alerts Notify operations instantly via Slack. 4\. Audit & Tracking Maintain a clean inventory alert log. 5\. Store Scaling Prevent stock-outs as order volume grows. Troubleshooting Guide | Issue | Possible Cause | Solution | |----------------------|----------------------|----------------------------------| | No Slack alerts | Slack not connected | Check Slack credentials | | Duplicate rows | SKU mismatch | Ensure SKU is consistent | | No low-stock items | Threshold too low | Adjust IF condition | | AI message empty | OpenAI key missing | Verify API key | | Workflow not running | Trigger disabled | Enable Schedule Trigger | Need Help? If you need help customizing or extending this workflow with advanced features like adding analytics, ERP integrations, advanced alerts or scaling it for high-volume stores, then our n8n workflow developers at WeblineIndia are happy to help.

Build your own Gmail and Shopify integration

Create custom Gmail and Shopify 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.

Gmail supported actions

Add Label
Delete
Get
Get Many
Mark as Read
Mark as Unread
Remove Label
Reply
Send
Send and Wait for Response
Create
Delete
Get
Get Many
Create
Delete
Get
Get Many
Add Label
Delete
Get
Get Many
Remove Label
Reply
Trash
Untrash

Shopify supported actions

Create
Create an order
Delete
Delete an order
Get
Get an order
Get Many
Get many orders
Update
Update an order
Create
Create a product
Delete
Delete a product
Get
Get a product
Get Many
Get many products
Update
Update a product

FAQs

  • Can Gmail connect with Shopify?

  • Can I use Gmail’s API with n8n?

  • Can I use Shopify’s API with n8n?

  • Is n8n secure for integrating Gmail and Shopify?

  • How to get started with Gmail and Shopify integration in n8n.io?

Need help setting up your Gmail and Shopify integration?

Discover our latest community's recommendations and join the discussions about Gmail and Shopify integration.
jake chard
Jan Koch
Paul Kennard
Driss Talainte
Adriano Cantele

Looking to integrate Gmail and Shopify in your company?

Over 3000 companies switch to n8n every single week

Why use n8n to integrate Gmail with Shopify

Build complex workflows, really fast

Build complex workflows, really fast

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

Code when you need it, UI when you don't

Simple debugging

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

Use templates to get started fast

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

Reuse your work

Copy and paste, easily import and export workflows.

Implement complex processes faster with n8n

red iconyellow iconred iconyellow icon