Automation: Customer Message Triage and Response System

Tools:Zapier + OpenAI (ChatGPT API)
Time to build:1-2 hours
Difficulty:Intermediate-Advanced
Prerequisites:Comfortable using ChatGPT for customer responses (Level 3). see Level 3 guide: "Build a Customer Service Response Library"
Zapier

What This Builds

Every customer email you receive gets automatically classified (urgent / routine / spam), summarized in 1 sentence, and routed to a prioritized list you review each morning. Instead of digging through a chaotic inbox, you open one Google Sheet or Slack message each day with a clear action queue. urgent items flagged first, routine messages pre-drafted, spam already ignored.

Prerequisites

  • Comfortable using ChatGPT for customer service responses (Level 3)
  • A Gmail account or Gorgias/Zendesk account for customer emails
  • A Zapier account (free tier works for basic automation; paid for multi-step)
  • A Google Sheets or Slack account for your triage output
  • OpenAI API key (get one at platform.openai.com. costs pennies per email)

The Concept

A Zapier automation is like a pipeline that connects two apps: when something happens in App A, do something in App B. Here, the pipeline is: new customer email → send it to ChatGPT → ChatGPT classifies and summarizes → result lands in Google Sheets or Slack as a triage row.

Think of it as hiring a virtual intern whose only job is to read every incoming email and put it in the right pile before you arrive at your desk.


Build It Step by Step

Part 1: Set Up Your Zapier Account and Google Sheet

  1. Go to zapier.com and create a free account (or sign in)
  2. Create a new Google Sheet called "Customer Message Triage"
  3. Add these column headers in Row 1:
  • A: Timestamp
  • B: From
  • C: Subject
  • D: Original Message (truncated)
  • E: Priority (Urgent / Routine / Spam)
  • F: Summary
  • G: Suggested Response
  • H: Status (Action Needed / Done)

Part 2: Build the Zapier Automation

Step 1: Create a New Zap

  1. In Zapier, click Create Zap
  2. Name it: "Customer Email Triage"

Step 2: Set Up the Trigger (Gmail)

  1. Click Trigger → search for Gmail
  2. Choose event: New Email
  3. Connect your Gmail account
  4. Set filter: Inbox only (or your customer service label if you use Gmail labels)
  5. Test the trigger. Zapier will show a sample email

Step 3: Add the OpenAI Classifier Action

  1. Click + to add an action → search for OpenAI (ChatGPT)
  2. Choose action event: Send Prompt
  3. Connect your OpenAI account (you'll need an API key from platform.openai.com)
  4. In the Prompt field, type:
Copy and paste this
You are an e-commerce customer service classifier. Analyze this customer email and respond ONLY with a JSON object in this exact format:
{
  "priority": "Urgent|Routine|Spam",
  "summary": "One sentence summary of what the customer needs",
  "response_draft": "A brief 2-3 sentence response draft"
}

Priority rules:
- Urgent: damaged item, missing order, account suspension threat, A-to-Z claim, item never arrived
- Routine: return request, tracking question, product question, general inquiry
- Spam: promotional emails, automated notifications, irrelevant

Customer email:
Subject: [map to Gmail "Subject" field]
From: [map to Gmail "From" field]
Body: [map to Gmail "Body Plain" field, first 500 characters]
  1. Click Map variables. connect the Subject, From, and Body fields from the Gmail trigger

Step 4: Add the Google Sheets Action

  1. Add another action → search for Google Sheets
  2. Choose event: Create Spreadsheet Row
  3. Connect your Google account
  4. Select your "Customer Message Triage" spreadsheet and the main sheet
  5. Map the columns:
  • Timestamp → Gmail "Date"
  • From → Gmail "From"
  • Subject → Gmail "Subject"
  • Original Message → Gmail "Body Plain" (first 200 chars)
  • Priority → OpenAI response → parse "priority" from JSON
  • Summary → OpenAI response → parse "summary" from JSON
  • Suggested Response → OpenAI response → parse "response_draft" from JSON
  • Status → Type "Action Needed" as static text

Note on JSON parsing: Zapier's formatter tool can extract JSON fields. Add a Zapier Formatter step between OpenAI and Google Sheets, choose Utilities → Extract Pattern to pull the priority, summary, and response_draft values from the JSON output.

Part 3: Test and Refine

  1. Click Test Zap. Zapier will run a test using the sample email from your trigger
  2. Check your Google Sheet. you should see a new row appear with classification and summary
  3. Send yourself a test email that looks like a damage complaint. verify it gets classified as "Urgent"
  4. Turn the Zap ON

Real Example: A Day Using This System

Setup: Your Zap has been running for 3 days.

Input (what happened overnight): 7 customer emails arrived. 2 tracking questions, 1 damage complaint, 1 automated order confirmation (spam), 3 "where is my order" messages.

Output (what you see in Google Sheets at 9am):

PrioritySummarySuggested Response
UrgentCustomer received cracked product, wants replacement"We're so sorry to hear your [product] arrived damaged. We'd like to make this right immediately. can you send a photo of the damage so we can process a replacement?"
RoutineCustomer asking for tracking number on order #1234"Your order #1234 has shipped! Here's your tracking link: [tracking]. It should arrive by..."
SpamAutomated FedEx tracking update(ignore)

Time saved: Instead of reading 7 emails cold, you open one Google Sheet with a prioritized queue and pre-drafted responses ready to personalize and send.


What to Do When It Breaks

  • OpenAI step times out → Add a 2-second delay before the OpenAI step in Zapier; or reduce the email body to 300 characters in the prompt
  • JSON parsing fails → The AI sometimes adds extra text before the JSON. In your Formatter step, use the regex pattern \{[\s\S]*\} to extract just the JSON object
  • Emails not triggering → Check your Gmail label filter, if you moved emails to a label, make sure the Zap is watching that label specifically
  • Wrong priority classification → Add examples to the prompt: "Example of Urgent: 'My package never arrived and tracking hasn't updated in 10 days.'"

Variations

  • Simpler version: Skip the OpenAI step and just use Zapier to copy all customer emails to a Google Sheet, no AI classification, but still centralized. Takes 20 minutes to build.
  • Extended version: Add a Slack action that pings your #customer-service channel for "Urgent" emails immediately, while "Routine" emails go to the daily sheet. You'll never miss a critical message again.

What to Do Next

  • This week: Build and test the basic version with Gmail + OpenAI + Google Sheets
  • This month: Add conditional routing. Urgent emails trigger an immediate Slack DM; Routine emails go to the daily triage sheet
  • Advanced: Connect the "suggested response" column back to Gmail via a button or trigger. one-click send with the AI draft, reviewed by you

Advanced guide for e-commerce coordinator professionals. These techniques require a paid OpenAI API key (typically $1-5/month for moderate email volume) and a Zapier account.