Build Notes #002: Customer Support Automated


BUILD NOTES

Issue #002

The Customer Support Agent

I just replaced a $2,000/mo customer support role for $60/mo.

​We've been answering support tickets or paying someone to for 20 years and now we never have too again!

​But wait...

​This in NO WAY means that the quality of our support is gone. Majority of our support tickets are "I forgot my password" or "Where do I login for..." or "can you cancel my subscription."

​80 - 90% of our customer support is things that take our time, but don't need too. They are easy answers, we've had templated replies for years. The hard questions, the personal stories, those still get escalated to a human.

​Let me explain...

​Every morning I'd open HelpScout (our support desk software), scroll through the same garbage. Zoom meeting reminders. Cold pitches from SEO agencies in Mumbai. Calendar notifications that somehow ended up in the support inbox.

​Then buried under all that junk, a few real customer questions that actually needed my attention. Occasionally 1 refund or cancelation request.

​Then last weekend I built an AI agent that handles all of it. The junk gets cleaned out before I wake up. Real customer emails get drafted responses that land in my Telegram. I review them, say "send it," and I'm done.

​Support now takes 5 to 10 minutes instead of an hour. I literally used to pay $2,000/mo for someone to handle this for me.

​The best part, I'm still in full control.

​If I don't like a draft, I can ask my agent to change it and then it permantely logs that change so all future drafts are done correctly.

​And here's the part that still surprises me.

​I didn't write a single line of code.

​Claude did all of it. I just told it what I needed and typed "help me fix it" when I got stuck. This is the full story of how that happened, including the embarrassing mistake I made on day one.

Meet Hermes (and Why I Picked It Over OpenClaw)

Hermes Agent is an open-source AI agent framework by Nous Research.

​Open source means FREE!!!

​Think of Hermes as the operating system for your AI agent. You install it on a server, connect it to Claude or ChatGPT or whatever model you want, and then give it tools and instructions.

​It runs 24/7 and communicates with you through Telegram (or Slack, or Discord, whatever you prefer).

​I've tried OpenClaw before, it consistently fails. OpenClaw will forget things you told it to do a week later, plus 36% of the skills marketplace was found to have malicious prompt injections (cybersecurity nightmare).

But Hermes had three things I cared about.

  1. Persistent memory
  2. Creates its own skills
  3. Bring your own model

​The persistent memory is critical. If it can't remember how I want it to do specific tasks, then it's not a problem solver it's a problem creator. With persistent memory though, Hermes can actually remember every customer that comes through my inbox.

​It can even remember our "2 refunds = blacklisted" rule.

​Creating its own skills is also important because I need my agent to get smarter not dumber. Every time Hermes encounters a task for the first time, it creates a skill file so it knows how to do that task again next time.

​Which means, yes, for the first 7-10 support emails I had to "coach" Hermes through how to handle each email. But after that now Hermes knows how to do it forever, and as I continue to give it feedback Hermes updates it's skill files.

The more you use Hermes the smarter it gets.

​Finally, the bring your own model feature is a dealbreaker for me. I don't want to be held hostage by any 1 company. I want to use the AI model that I like best, and if prices go up or rules change, then I can swap models in minutes with zero downtime.

​Hermes, was built for MCP from day one. MCP (Model Context Protocol) is the standard that lets AI agents use real tools. Read your inbox. Close tickets. Send replies. Search your CRM.

​Without MCP, your agent is just a chatbot that can think, but can't act. More on that in a minute. Second, Hermes runs on your own server. Not some third party cloud. Your credentials never leave your machine. For a guy who puts customer data through these systems, that matters.

​Third, the Telegram integration. I didn't want to build a dashboard. I didn't want to have to check a web app. I wanted my AI agent to text me like a team member would. Hermes does that out of the box.

​If I'm waiting in line, riding in the car, or going to the bathroom... I can move things forward with my Hermes agent.

​Let's talk about install...

Don't Buy a Mac Mini, Just Use a VPS.

Here's where most non-technical founders bail out. "I need a server" sounds like "I need a computer science degree." It's not. It's just hosting.

​VPS = Virtual Private Server aka "Hosting."

​My favorite VPS, DigitalOcean. They have plans for as little as $4/mo and you really only need the $8/mo plan for what I'm about to show you...

​DigitalOcean has a marketplace for apps, and one of them is Hermes. That means you can spin up a DigitalOcean server with Hermes pre-installed in about 90 seconds.

​You don't configure Linux. You don't install packages. You click a button and it's running.

​But the real discovery was the CLI.

​CLI stands for... Don't even worry about that. Sounds intimidating. It's actually the opposite. Here's why you're going to love CLIs.

​Because Claude (and most other AI's) already knows how to use them.

​Normally, to install something you, the human, needs to login to some web dashboard, figure out what buttons to press, figure out what to write for all the settings, and then if something happens you have to troubleshoot.

​It's a pain in the as(k me another question).

CLI removes all of that.

​CLI means you can hand over the controls to your AI.

​Basically, your computer talks to the DigitalOcean computer, they hang out, have a beer or two, shake hands, and 3 seconds later everything is setup.

​It literally feels like magic to an old dog like me. How I wish they had this with the umpteen thousand wordpress installs I've done over the years.

​When a service has a CLI, you just tell Claude what you need, and Claude gives you the exact command to paste into your terminal. Copy. Paste. Done.

​DigitalOcean has a CLI. HelpScout has an API. Hermes has a config file. Every piece of this build was "tell Claude what I need, paste what Claude gives me."

​That's the whole workflow.

​I didn't even know how to install Hermes.

​I told Claude "I need Hermes Agent installed on a DigitalOcean using their CLI, what do you need from me" and Claude walked me through every step.

​I was done before my coffee even got warm.

If you can take a screenshot and type "what's next," you can build this.

The Webhook Mistake (and What I Learned the Hard Way)

Now here's where I messed up.

​When I first set up Jeffri (that's what I named the Hermes agent), I connected HelpScout through a webhook.

​A webhook is a one-way pipe.

​Whereas an API or MCP is 2-way communication.

​When a new ticket hits your HelpScout inbox, HelpScout pushes the data to your server. Your agent sees the ticket, reads it, and does something with the information.

​Sounds perfect, right? It was. Until it wasn't.

​Here I was about to demo my super cool agent, I pulled up Jeffri to show the group how the support agent works. A Zoom meeting reminder had just come in. Perfect demo opportunity.

​"Jeffri, close that ticket."

​Nothing.

​Because of the webhook Jeffri could SEE the ticket. He'd already read it. Already identified it as junk. Already drafted a note explaining why it should be closed. But he couldn't DO anything about it.

​Couldn't close it.

​Couldn't tag it.

​Couldn't send a reply.

​Standing there looking stupid, my agent couldn't close a Zoom reminder. Humbling.

​Here's what I got wrong. Webhooks are receive-only. HelpScout webhook pushes data TO your agent. But your agent can't push back. It's like hiring a brilliant assistant, giving them a walkie-talkie with no batteries, and wondering why they never respond to anyone.

​My agent could listen. It could analyze. It could draft. But it couldn't act. And an agent that can't act is just another problem I need to solve.

How Claude Built the Fix (While I Watched)

I got home from Nashville on Monday. Tuesday morning, I opened Claude in Cowork mode and said (roughly):

​"My Hermes agent can receive HelpScout tickets through webhooks but can't take any action on them. I need a way for the agent to read conversations, send replies, close tickets, mark spam, and manage the inbox. Please fix this"

​Claude knew exactly what to do.

​It told me I needed an MCP server. A small program that wraps the HelpScout API and exposes it as tools that Hermes can call. Like giving the agent hands to go with the ears it already had.

​API is like a restaurant menu. It's a list of services.

​MCP is like the restaurant waiter. It can perform and deliver those services.

​I didn't know what an MCP server was. I didn't know how the HelpScout API worked. I didn't know OAuth2 from a hole in the ground.

Claude did.

In about 20 minutes, Claude had written the entire MCP server from scratch. One Node.js file. 10 tools. Full inbox control. Authentication that handles itself (tokens refresh automatically so nothing breaks at 3am). Clean error handling. Production-ready code.

The 10 tools Claude built:

  1. list_conversations - Pull active tickets from the inbox
  2. get_conversation - Read the full email thread
  3. reply_to_conversation - Send a reply to the customer
  4. add_note - Add a private internal note
  5. close_conversation - Close a resolved or irrelevant ticket
  6. mark_as_spam - Flag and close spam
  7. delete_conversation - Permanently remove a conversation
  8. update_conversation - Change subject, status, or assignment
  9. tag_conversation - Add tags for categorization
  10. search_conversations - Search by subject, email, tag, or criteria

​Then Claude walked me through deploying it to my server. SCP the files over. Run npm install. Add the credentials. Update the Hermes config. Restart the gateway.

​I don't know what any of those things are.

​I don't need too.

​Claude uses the DigitalOcean CLI through my Claude Cowork (desktop) account to access my terminal and does all the work for me.

​You and I just need to know what results we want. The outcome. If we can have clarity about the goal, then Claude can map us to that goal.

​Once installed, Claude asked me to test Jeffri (Hermes) so I asked Jeffri to list the 5 most recent conversations. Within seconds, he pulled them from HelpScout using his new MCP tools.

​Four were Zoom junk tickets. One was a real customer asking about course access. He correctly identified all five, auto-closed the four junk tickets, and drafted a response for the real one. Then he asked me before sending it.

​From broken demo to full inbox control in under an hour.

​No code written (by me... Claude wrote lots of code lol).

This Changed How I Think About Building

Here's the thing I keep coming back to.

​I've been in the game for 20 years. I've spent tens of millions on ads. I've trained 14,000+ students. But I don't know Node.js. I don't know how APIs work under the hood. I couldn't have written that MCP server if you put a gun to my head.

​It didn't matter.

Any frontier model (Claude, ChatGPT, Gemini) has already read the entire internet. Every API documentation page. Every Stack Overflow thread. Every YouTube transcript for every tutorial ever recorded.

They can search the docs for any tool. They can read the source code for any open source project. They can figure out the authentication flow for any service.

You don't need to know how. You need to know WHAT.

  • What do I need? Full inbox control.
  • What tools are available? HelpScout API.
  • What framework am I using? Hermes with MCP.
  • What behavior do I want? Draft, then ask.​

AI figures out the rest.

If you can take a screenshot and type "what's next," then the AI we have today can solve virtually all of your problems. Whether it be writing a custom MCP server for your customer support software or figuring out how to answer a hard email.

The Numbers

Before this build...

30 to 60 minutes every day on the support inbox. Our AdSkills account gets about 13 active tickets a day. Mix of real customer questions, Zoom reminders, cold sales pitches, and the occasional newsletter that somehow ended up in support.

After deploying Hermes...

Junk cleanup: Automated. Jeffri handles Zoom reminders, cold pitches, and system notifications without asking. I'll never hear from those Nigerian Princes who need my money ever again.

Real ticket response time: Drafts appear in Telegram within seconds of a new ticket arriving. Jeffri includes a confidence level (high/medium/low), the conversation number, the customer's email, and a recommended action. I read it. Say "send it" or give edits. Done in seconds.

My weekly inbox time: Down to 15 to 20 minutes. That's 3-5hrs a week saved. Over a month, that's almost 20 hours. For me, it's $2,000/mo saved, which means more margin for ad spend.

Cost: $40 to $80/month. The DigitalOcean droplet is $24/mo. Claude API usage varies by volume, $0.17 - $0.22 per email, which adds up to about $12 - $40 a month. Compare that to a part-time support person at $2,000 to $4,000/month.

And the agent runs 24/7.

​No sick days.

Build Notes+ members get the full deployment guide below. Not code. Not terminal commands you won't understand. This is written from the perspective of someone using Claude in Cowork mode. You tell Claude what to build. Claude builds it. You paste what Claude gives you.​

You'll get:

  • The complete architecture (email > HelpScout > webhook > Hermes > Claude > MCP tools > HelpScout API > Telegram)
  • Five steps to deploy your own AI support agent with full inbox control
  • The exact things to tell Claude at each step
  • The skill file that defines three autonomy levels (what the agent handles alone, what it asks about, and what it never touches)
  • A morning cleanup cron that wipes your inbox of junk before you wake up
  • Customization guide for your business
  • 8 other use cases for the same MCP architecture
  • Early access to the private GitHub repo for the HelpScout MCP server

​And then at the very end... a surprise. Something I didn't realize until after the support build was done. The same architecture works for something much bigger than customer support. Read the whole thing.

Build Notes+ Section Starts Here

LAUNCH BONUS: You're seeing the FULL issue for free.

Normally, everything below is for Build Notes+ members only. This is your 2nd out of 4 free issues. You get the step-by-step build guide, the prompts, the diagrams, and reference files.

Architecture Overview

Here's the full flow, end to end:

Customer sends emailHelpScout receives itWebhook fires to your serverHermes Agent picks it upClaude Sonnet 4.6 processes itMCP tools read/act on HelpScoutDraft delivered to TelegramYou approve or edit in TelegramHermes executes the action via MCP

The stack:

  • DigitalOcean droplet ($8-24/mo, 2GB RAM is plenty) running Ubuntu
  • Hermes Agent by Nous Research (open-source agent framework)
  • Claude Sonnet 4.6 as the brain (via Anthropic API)
  • HelpScout MCP Server (Shared via Build Club)
  • Telegram for human-in-the-loop review
  • HelpScout webhooks to trigger on new tickets

The MCP server is the key piece. Those 10 tools from earlier? They're what give the agent hands. Without them, the agent is just an annoying notification system. With them, it's a fully agentic inbox operator.

Step 1: Setting Up the Server

Open Claude in Cowork mode and tell it: (

I need a DigitalOcean droplet set up using DOCTL CLI and then Hermes Agent installed with a custom HelpScout MCP server. Here's what I need:

- Ubuntu server, 2GB RAM minimum
- Node.js 18+ installed
- Hermes Agent by Nous Research installed and configured
- Claude Sonnet 4.6 as the model provider
- A Telegram bot connected for message delivery
- Webhook endpoint listening for incoming requests- Password for SSH to make things easy

Your job is to tell me what you need from me and then build everything. My job is to get you API keys, account logins, or pay for things. Walk me through creating the droplet, installing Hermes, and setting up the MCP server.

Claude will walk you through the DigitalOcean setup, server configuration, and Hermes installation. The whole process takes about 30-90 minutes if you've never used DigitalOcean before. Maybe 20 if you already have.

You'll need three things before you start:

  1. A DigitalOcean account (use any referral link for free credits)
  2. HelpScout account (or similar)
  3. An Anthropic API key (from platform.claude.com)
  4. A Telegram bot token (don't worry about this yet)

Once Hermes is running, message your Telegram bot and see if Claude responds. If it does, the foundation is solid. Everything else builds on top.

PRO TIP: If you get stuck at any point, take a screenshot of whatever is on your screen and paste it into Claude with "what's next." Claude can read terminal output, error messages, config files, all of it. You don't need to understand what you're looking at. Claude does.

⚠️ Are you a coder? Shaking your fist at me behind the screen? I get it, to you I'm just some sloppy vibe coder. But here's what you don't get... Ain't no customers clicking view page source or inspect. Not one. Shipping matters, sales matters, and I build in feedback loops to solve the issues. Money follows speed buddy, shake your fist and I'll shake my wallet!

Step 2: Building the HelpScout MCP Server

This is the part that would normally take a developer days.

Reading the HelpScout API docs. Figuring out OAuth2 authentication. Building token refresh logic. Handling pagination. Formatting responses so the agent can actually read them.

You're going to skip all of that.

Tell Claude:

Build me an MCP server in Node.js that wraps the HelpScout API v2. I need these 10 tools:

1. list_conversations - List conversations filtered by status, mailbox, or tag
2. get_conversation - Get full conversation details including threads
3. reply_to_conversation - Send a reply to a customer
4. add_note - Add a private internal note
5. close_conversation - Close a conversation
6. mark_as_spam - Mark as spam
7. delete_conversation - Delete a conversation
8. update_conversation - Update subject, status, or assignee
9. tag_conversation - Add tags
10. search_conversations - Search by query string

Requirements:
- Use the @modelcontextprotocol/sdk package
- OAuth2 client credentials flow for HelpScout auth
- Auto-refresh tokens before they expire
- Read HELPSCOUT_CLIENT_ID and HELPSCOUT_CLIENT_SECRET from environment variables
- Run as a stdio MCP server (Hermes will manage the process)
- Return clean, readable text responses (not raw JSON dumps)

Claude will generate the entire server. One index.js file. One package.json. Production-ready.

To get your HelpScout API credentials:

  1. Go to HelpScout > Your Profile > My Apps
  2. Create a new Custom App
  3. Set the Redirection URL to https://localhost (required but not used)
  4. Copy the App ID (Client ID) and App Secret (Client Secret)

If you don't use HelpScout, that's fine this will work for a Gmail account as well. Just tell Claude you want to use the Google Workspace CLI. That or just make sure whatever help desk software you use has an API.

Just ask Claude! He'll know what to do...

Step 3: Writing the Support Skill File

The skill file is where you define HOW the agent behaves.

This is the most important piece. Without it, you have a powerful agent with no judgment. With it, you have a team member who knows when to act, when to ask, and when to back off.

Tell Claude:

Write a skill file for Hermes Agent that defines my AI support agent. Here's what it needs:

IDENTITY:
- The agent handles support for my business
- My support email is [your support email]
- We sell [your products/services]

THREE AUTONOMY LEVELS:

Level 1 - AUTO (no permission needed):
- Mark spam: cold sales pitches, SEO services, link building offers, vendor outreach
- Auto-close: Zoom meeting reminders, calendar notifications, out-of-office replies, read receipts, duplicate tickets
- Add tags based on ticket content
- Add private notes with analysis

Level 2 - ASK FIRST (draft to Telegram, wait for my approval):
- Send any reply to a customer
- Close any real customer ticket
- Delete any conversation
- Reassign conversations

Level 3 - NEVER (always escalate to me):
- Process refunds or payment changes
- Grant or revoke account access
- Respond to legal threats or chargebacks

VOICE:
- [Describe how you talk to customers. Warm? Formal? Short sentences? Long explanations?]

DRAFT FORMAT:
When drafting for review, include: confidence level (high/medium/low), conversation number, subject, customer email, the draft reply, and recommended action.

Claude will produce a SKILL.md file that goes into your Hermes skills directory. This is the instruction manual that tells the agent exactly how to behave in every situation.

The three autonomy levels are the critical concept.

You're not giving the agent free rein. You're drawing clear lines. Junk? Handle it. Customer reply? Draft it and ask me. Refund? Don't touch, just ping me.

Start conservative. Put more things in ASK FIRST than AUTO. As you build trust over a few weeks, move things down. The framework is the structure. Where you draw the lines is your call.

Step 4: Connecting Everything

Now you wire the pieces together.

Tell Claude:

I need to configure Hermes to use the HelpScout MCP server and receive webhooks. Here's my setup:

- Hermes config lives at ~/.hermes/config.yaml
- HelpScout MCP server is at /home/hermes/helpscout-mcp/index.js
- I need a webhook route that triggers when new HelpScout tickets arrive
- Webhook responses should be delivered to my Telegram group
- The skill file is at ~/.hermes/skills/support/SKILL.md

Write me the config.yaml that ties everything together.

Then set up the HelpScout webhook:

  1. Go to HelpScout > Manage > Webhooks
  2. Create a new webhook
  3. URL: http://your-server-ip:8644/helpscout-tickets
  4. Events: Select "Conversation Created" and "Conversation Customer Reply"
  5. Save

Then tell Claude to restart Hermes on your server. He'll probably beat you to it though, as Claude already knows this is needed.

Send a test email to your support address. Within seconds, Hermes should draft a response and deliver it to your Telegram app.

Next setup your cron job (automation).

Tell your agent:

Every morning at 6am Eastern, clean up the HelpScout inbox. List all active conversations, close Zoom reminders and calendar notifications, mark cold sales pitches as spam, and send me a summary of what you handled.

You wake up to a clean inbox and a Telegram summary. The junk is already gone. The real tickets have drafts waiting for your review. Your first support interaction of the day is reviewing pre-written replies and saying "send it."

That's the whole system.

The full build. You CAN do this!

If you want this agent pre-built and ready to deploy without building it yourself, that’s what Build Club does for you. Every agent featured in Build Notes is available as a pre-built automation in the Build Club library.

In this case it's the HelpScout MCP and SKILL file.

If you want this agent customized for your specific business with your actual customer personas, trained on your data, and configured for your ad accounts, the apply to be a Build Partner (coming soon).

P.S. Here's the part I didn't plan to share yet. But it's too good to hold back. After I got the HelpScout build working, I was sitting at my desk thinking about what else runs on this same pattern. API with incoming messages. Agent that reads, drafts, and acts. Human approval through Telegram.

Then it hit me.

My personal email inbox.

Google Workspace has a CLI. Which means Claude can build an MCP server for Gmail the same way it built one for HelpScout. Same architecture. Same autonomy levels. Same Telegram approval flow.

So I started sketching it out. The agent reads incoming email. Junk newsletters and cold pitches get archived automatically. Real messages get drafted replies sent to my Telegram. I say "send it" and the reply goes out.

But then... Google Calendar also has an API.

Which means the same agent can check my availability and schedule meetings. Someone emails asking for a call? The agent checks my calendar, finds an open slot, drafts a response with a proposed time, and sends it to me for approval. I say "send it" and the meeting gets scheduled. On my calendar. Without me ever opening Google Calendar.

Think about that for a second.

Customer support inbox. Personal email inbox. Calendar scheduling. All handled by the same agent, on the same server, through the same Telegram interface.

It's like having an executive assistant that's on standby 24/7 waiting for your Telegram message. Except this one costs $60/month and never takes a vacation.

I'm still building out the Gmail and Calendar pieces. When they're done, that's going to be its own Build Notes issue. But the foundation is the HelpScout build you just read. If you deploy this, you're 80% of the way to a full personal AI assistant.

Build Club

Install our pre-built AI agents & monthly live calls

Build Partner

Let our team custom build AI agents for you.

Adskills is a Florida based LLC | 5753 HWY 85 N, Crestview, FL 32536
Owned by Justin Brooke, through his parent company bYouPublishing LLC
If you hate us --> Unsubscribe 🥺

adskills

Subscribe to get a free 7 day "start your first Google ads" challenge.

Read more from adskills

BUILD NOTES Issue #001 The Sales Prediction Agent I stopped guessing if my ads would work. Here's the agent I built instead... I've spent over $10 million on ads in my career. And I can tell you with certainty that I wasted at least $2 million of that. Not because I'm bad at my job. Because I was guessing. We all are. Every marketer, every media buyer, every business owner running ads is doing the same thing. We write some copy. We pick some images. We cross our fingers. We hit publish. Then...

CLAUDE COWORK TOUR: I built my own rules and memory system (harness) so that Claude Cowork remembers everything I do. Click here to watch on Youtube In this video I show you the specific folder structures, files, and why I did it this way. I use this same system for all 3 of my companies.

I've been quietly building something for the last year that I think you should know about. This is not another course. It's not a membership. I built an operating system. No, this isn't some cheesy Notion template, this is a real marketingOS. Let me explain... I took everything I know about paid ads, copywriting, conversion optimization, and I wired it into AI agents that actually run my marketing and sales for me. I do not mean "hey, chatgpt, generate me a blog post." 🤮 That's some 2024...