The Core Stack: Your Inbox, a Webhook, and an LLM
Let’s get the components straight. You don’t need a complex, enterprise-grade platform. You need three things that talk to each other. That’s it.
First, your inbox. This can be a simple Gmail or Outlook address, like support@yourbusiness.com. The key is that it must be able to forward emails. If you’re already using a helpdesk like Help Scout or Zendesk, that’s even better, as they have built-in APIs and forwarding rules.
Second, the automation platform. This is the nervous system connecting everything. My go-to for this is Make.com. Its visual, node-based editor makes it easier to see how data is flowing, which is critical for debugging later. Zapier automations is a common alternative, but I find its task-based pricing gets expensive fast for multi-step workflows like this one. Make’s operation-based model is more forgiving.
Third, the brain. This is a Large Language Model (LLM) accessed via an API. We’ll use OpenAI‘s API, specifically the GPT-4o model. It offers the best balance of intelligence and cost for this kind of text processing task. You could substitute Claude 3 Sonnet from Anthropic if you prefer; it’s a bit cheaper and nearly as capable for this specific job.
Step 1: Ingesting and Parsing New Support Tickets
The first step is getting the email out of your inbox and into your automation workflow. In Make.com, you’ll start with a ‘Webhook’ module. You create a new webhook, and Make gives you a unique URL. Then, you go into your email client’s settings (like Gmail) and create a forwarding rule: any email that arrives at support@yourbusiness.com gets automatically forwarded to that webhook URL.
AI Side Hustles
Practical setups for building real income streams with AI tools. No coding needed. 12 tested models with real numbers.
Get the Guide → $14
Now, every new support ticket will trigger your Make.com scenario. The webhook will receive a payload of data containing the sender, subject, and body of the email. But this is where the first real problem appears.
Email is messy. The body isn’t clean text; it’s HTML filled with signatures, images, and quoted replies from previous messages. My biggest gripe with building these systems is that parsing email content is a nightmare. You can’t just feed that raw HTML to the LLM. It’s garbage in, garbage out. You need to clean it.
Make has a built-in ‘HTML to Text’ module that does a decent job, but it’s not perfect. You’ll often need an extra step using a ‘Replace (Regex)’ function to strip out common patterns like “On [Date], [Name] wrote:” or unsubscribe footers. Getting this right is 90% of the battle for reliability. Don’t skip this step.
What Most Guides Get Wrong About AI Support
Most tutorials on this topic make a critical mistake. They aim for 100% automation. They sell you the dream of a fully autonomous AI agent that handles all customer interactions without any human oversight. This is a fantasy, and a dangerous one. It’s the fastest way to infuriate your customers when the bot inevitably misunderstands a complex or emotionally charged issue.
The real value of AI automation for customer support isn’t replacement, it’s augmentation.
The goal is to build a system that makes a human operator twice as fast and half as stressed. Our system won’t auto-reply to customers. Instead, it will perform triage: it will read, understand, categorize, and draft a high-quality reply. The human operator then reviews this work in a clean, organized queue, makes any necessary edits, and hits ‘send’. This keeps the human in control, but removes 80% of the manual drudgery.
Another common misstep is jumping straight to fine-tuning a custom model. You do not need this. It’s expensive, time-consuming, and complete overkill for 99% of small businesses. A well-crafted prompt with a few examples and access to a simple knowledge base will outperform a poorly fine-tuned model every time.
The “Triage and Draft” Prompt: Your System’s Brain
This is where the magic happens. After you’ve parsed the clean text from the email, you pass it to the OpenAI API module in Make. You’ll use the ‘Create a Completion’ module and craft a very specific prompt. The prompt is an instruction telling the LLM exactly what to do with the text. Here’s a solid starting point:
You are a support triage assistant for a company called [Your Company Name]. Your task is to process an incoming customer email and return a JSON object with three keys: "category", "summary", and "draft_reply".
1. **category**: Read the email and categorize it into one of the following: "Billing Inquiry", "Technical Support", "Pre-Sale Question", "Feedback", or "Spam".
2. **summary**: Provide a one-sentence summary of the user's core request.
3. **draft_reply**: Write a helpful, friendly, and concise reply to the user. Use the provided knowledge base context below to answer their question. If the context is insufficient, write a polite reply that says we've received their message and an expert will get back to them shortly. Do NOT make up answers.
---
KNOWLEDGE BASE CONTEXT:
[Here, you would dynamically insert relevant snippets from a knowledge base. For now, you can paste in your top 5 FAQs.]
---
INCOMING EMAIL:
"{{1.body_text}}"
---
JSON OUTPUT:
In your Make scenario, you’d replace {{1.body_text}} with the cleaned text from the email parser. The LLM will then respond with a structured JSON object. The next module in your Make scenario will be a ‘Parse JSON’ module to easily access the category, summary, and draft reply for the next steps.
