Beginner~12 min setupEmail & ProductivityVerified April 2026
Gmail logo
Google Sheets logo

How to Track Support Tickets from Gmail to Google Sheets with Make

Automatically log support emails from Gmail to a Google Sheet with status columns for lightweight ticket tracking.

Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.

Best for

Small teams wanting lightweight ticket tracking without paying for a full helpdesk system

Not ideal for

High-volume support teams needing automated routing, SLA tracking, or customer-facing ticket numbers

Sync type

polling

Use case type

import

Real-World Example

💡

A 12-person B2B startup uses this to track support requests from their [email protected] inbox. Before automation, support emails got lost in Gmail threads and customer issues fell through cracks. Now every email becomes a sheet row with status tracking, and the team updates Priority and Status columns during daily standups. They handle 150 tickets monthly and spot trends like which features generate the most questions.

What Will This Cost?

Drag the slider to your expected monthly volume.

/mo
505005K50K

Each platform counts differently — Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.

Prices shown for annual billing. Based on published pricing as of April 2026.

Estimated ROI

1000

min saved/mo

$583

labor value/mo

Free

no platform cost

Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.

Implementation

Skip the setup

Import this workflow directly into Make

Copy the pre-built Make blueprint and paste it straight into Make. All modules, filters, and field mappings are already configured — you just need to connect your accounts.

Before You Start

Make sure you have everything ready.

Gmail account with support emails coming to a specific address or label
Google Sheet created with column headers for Date, Subject, From, Priority, Status, Notes
Make account with available operations (free tier includes 1,000/month)
Admin access to both Gmail and Google Drive for the target sheet

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Date Receiveddate
Email Subjectsubject
Customer Emailfrom.email
Email ContenttextContent
2 optional fields▸ show
Message IDmessageId
Thread IDthreadId

Step-by-Step Setup

1

Dashboard > Create scenario > Gmail

Create new scenario

Start a new Make scenario for email-to-sheet logging. You'll build this as a real-time trigger that fires when emails hit your support inbox.

  1. 1Click 'Create a new scenario' from the Make dashboard
  2. 2Click the large + button in the center
  3. 3Search for 'Gmail' in the app list
  4. 4Select 'Gmail' from the results
What you should see: You should see the Gmail app icon in the center with trigger options below it.
2

Scenario > Gmail > Watch emails

Set up Gmail trigger

Configure the Watch emails module to monitor your support inbox. This will fire every time a new email arrives that matches your criteria.

  1. 1Click 'Watch emails' from the Gmail trigger options
  2. 2Click 'Add' next to Connection to authenticate Gmail
  3. 3Set Folder to 'INBOX' or your specific support label
  4. 4Set Maximum number of emails to 10
What you should see: The Gmail module shows green 'Connected' status and your folder selection.
Common mistake — Don't use 'Watch emails (advanced)' unless you need complex filters - it counts as 2 operations instead of 1.
Make
+
click +
search apps
Gmail
GM
Gmail
Set up Gmail trigger
Gmail
GM
module added
3

Gmail module > Show advanced settings

Add email filters

Filter emails to only process support requests. Set up criteria so internal emails and spam don't create tickets in your sheet.

  1. 1Expand 'Show advanced settings' in the Gmail module
  2. 2Set Query to 'to:[email protected] OR to:[email protected]'
  3. 3Check 'Mark as read' if you want processed emails marked automatically
  4. 4Set Criteria to 'Unread emails only'
What you should see: The advanced settings show your query filter and read/unread preferences.
Common mistake — Gmail queries are case-sensitive for labels but not email addresses - 'Support' won't match 'support' labels.
Gmail
GM
trigger
filter
Condition
matches criteria?
yes — passes through
no — skipped
Google Sheets
GO
notified
4

Scenario > + > Google Sheets > Add a row

Connect Google Sheets

Add the Google Sheets module to receive the email data. This will append new rows to your ticket tracking spreadsheet.

  1. 1Click the + button to the right of the Gmail module
  2. 2Search for 'Google Sheets' and select it
  3. 3Choose 'Add a row' from the action list
  4. 4Click 'Add' next to Connection to authenticate Google Sheets
What you should see: Google Sheets module appears connected to Gmail with a green connection line.
5

Google Sheets module > Spreadsheet selection

Select target spreadsheet

Choose the Google Sheet where tickets will be logged. Make sure this sheet has column headers that match your ticket fields.

  1. 1Click the Spreadsheet dropdown in Google Sheets module
  2. 2Select your existing support ticket spreadsheet
  3. 3Choose the correct Sheet tab (usually 'Tickets' or 'Sheet1')
  4. 4Set Table contains headers to 'Yes'
What you should see: The spreadsheet and sheet name appear in the module settings.
Common mistake — Create column headers first: Date, Subject, From, Priority, Status, Notes - Make won't create them automatically.
6

Google Sheets module > Column mapping

Map email fields to sheet columns

Connect Gmail data to your sheet columns. This determines what information gets pulled from each email into your ticket tracker.

  1. 1Click in the Date column field and select 'Date' from Gmail data
  2. 2Map Subject to the Gmail 'Subject' field
  3. 3Map From to the Gmail 'From: Email' field
  4. 4Set Priority column to a default value like 'Medium'
What you should see: Each column field shows the corresponding Gmail data mapping in blue pills.
Common mistake — Gmail date format is ISO 8601 - if your sheet expects MM/DD/YYYY, add a formatDate function wrapper.
Gmail fields
from
subject
snippet
body
date
available as variables:
1.props.from
1.props.subject
1.props.snippet
1.props.body
1.props.date
7

Google Sheets module > Column mapping continued

Set default ticket values

Configure default values for status and other fields that you'll update manually later. This ensures every ticket starts with consistent data.

  1. 1Set Status column to 'New' (hardcoded text)
  2. 2Map Notes to Gmail 'Text content' for email body
  3. 3Add any other custom fields like Assignee or Category
  4. 4Leave some columns empty for manual updates later
What you should see: Status shows 'New' as static text, Notes shows Gmail content mapping.
8

Google Sheets module > Right click > Add error handler

Configure error handling

Set up error handling so failed emails don't break the entire workflow. This prevents one corrupted email from stopping all ticket creation.

  1. 1Right-click the Google Sheets module
  2. 2Select 'Add error handler'
  3. 3Choose 'Break' directive from the error handler options
  4. 4This will skip failed emails but continue processing new ones
What you should see: A small error handler icon appears on the Google Sheets module.
Common mistake — Don't use 'Ignore' error handling - you'll lose failed tickets with no notification they were skipped.
9

Scenario > Run once button

Test with sample email

Run a test to verify email data flows correctly into your spreadsheet. This catches field mapping issues before going live.

  1. 1Click 'Run once' at the bottom of the scenario
  2. 2Send a test email to your support address
  3. 3Wait 2-3 minutes for Gmail to detect the new email
  4. 4Check that a new row appears in your Google Sheet
What you should see: Your Google Sheet shows a new row with email data in the correct columns.
Common mistake — Gmail's Watch emails trigger polls every 15 minutes by default - use 'Run once' for immediate testing instead of waiting.
Make
▶ Run once
executed
Gmail
Google Sheets
Google Sheets
🔔 notification
received
10

Scenario > ON/OFF toggle

Activate the scenario

Turn on the automation to start processing support emails automatically. The scenario will now run continuously in the background.

  1. 1Click the ON/OFF toggle in the bottom left to 'ON'
  2. 2The scenario status changes to 'Active'
  3. 3Set up runs every 15 minutes automatically
  4. 4New support emails will create ticket rows going forward
What you should see: Scenario shows 'Active' status with a green indicator.

Drop this into a Make custom function.

JavaScript — Custom FunctionformatDate({{gmail.date}}; "MM/DD/YYYY HH:mm") - converts Gmail's ISO date to readable format for your sheet
▸ Show code
formatDate({{gmail.date}}; "MM/DD/YYYY HH:mm") - converts Gmail's ISO date to readable format for your sheet

... expand to see full code

formatDate({{gmail.date}}; "MM/DD/YYYY HH:mm") - converts Gmail's ISO date to readable format for your sheet

Scaling Beyond 300+ tickets/day+ Records

If your volume exceeds 300+ tickets/day records, apply these adjustments.

1

Switch to webhook triggers

Gmail's polling trigger hits rate limits at high volume. Use Gmail's Push notifications with Pub/Sub for real-time processing without API limits.

2

Batch sheet updates

Instead of adding one row per email, collect emails in a data store and bulk-insert every 15 minutes. This reduces Google Sheets API calls and prevents rate limiting.

3

Add duplicate prevention

High volume increases chances of processing the same email twice. Add a Google Sheets search before each insert to check if the Message ID already exists.

Going live

Production Checklist

Before you turn this on for real, confirm each item.

Troubleshooting

Common errors and how to fix them.

Frequently Asked Questions

Common questions about this workflow.

Analysis

VerdictWhy Make for this workflow

Use Make for this if you need real-time ticket logging and plan to manually update status columns in the sheet. Make's Gmail trigger fires within 15 minutes of new emails, and the visual interface makes field mapping obvious for non-developers. At 2 operations per ticket (Gmail watch + Sheets add), you can process 500 tickets monthly on the free plan. Skip Make if you need advanced ticket routing or automated responses - use a proper helpdesk like Freshdesk instead.

Cost

This workflow costs almost nothing at normal support volumes. Each ticket uses 2 operations (Gmail trigger + Sheets row). At 200 tickets per month, that's 400 operations total, well within Make's free 1,000 operation limit. Even at 1,000 tickets monthly (2,000 operations), you'd pay $9/month for Make's Core plan. Zapier would cost $20/month for the same volume since their Starter plan caps at 750 tasks. N8n self-hosted is free but requires server management.

Tradeoffs

Zapier handles Gmail authentication more reliably - their OAuth refresh works better for long-running scenarios. N8n offers better email parsing with built-in HTML-to-text conversion and regex extraction for ticket IDs from subject lines. But Make's visual debugging wins for this use case. When a ticket fails to create, Make's execution history shows exactly which field mapping broke and with what data.

You'll hit Gmail's API pagination if importing historical emails - it returns max 100 emails per request. Large email threads can break the text content mapping, especially with inline images or complex HTML. Make's Gmail module sometimes double-processes emails that get marked unread by other tools. Add a duplicate check using Message ID, or accept that busy support days might create duplicate rows you'll need to clean manually.

Ideas for what to build next

  • Add Slack notifications for high-priority ticketsConnect a Slack module after the sheet update to notify your team channel when emails contain urgent keywords like 'down' or 'critical'.
  • Create automatic status updates based on repliesBuild a second scenario that watches for your team's replies to customers and automatically changes ticket status from 'New' to 'In Progress' in the sheet.
  • Set up weekly ticket summary reportsUse Google Sheets formulas or a scheduled Make scenario to count tickets by status and email a weekly summary to your team lead.

Related guides

Was this guide helpful?
Gmail + Google Sheets overviewMake profile →