Duck
Tutorials6 min read

AI Customer Service Agent: Build Your Own No‑Code Support Bot

Samet Turan— Editor··6 min read

Learn to build a reliable AI customer service agent with no‑code tools, see real prompts, cost breakdown, and debugging tips.

Support tickets pile up while you sleep, and hiring a night‑shift team isn’t cheap. You want an AI that can answer common questions, escalate the tricky ones, and keep your brand voice consistent. By the end of this article you’ll have a working prototype and know whether to build it yourself or grab the blueprint.

I’ve run this exact flow for three micro‑SaaS products and it’s saved me roughly fifteen hours a week of manual triage. The setup isn’t magic, but it’s repeatable once you know the moving parts.

What most guides get wrong

Most tutorials treat the AI like a magic black box and skip the plumbing. They show you a prompt that works in a chat playground, then assume it will survive real‑world traffic. In practice the model will hallucinate, ignore your escalation rules, or hit rate limits you never saw coming.

The missing piece is a deterministic layer that decides when to hand off to a human or pull a canned response. Without that layer you get either over‑aggressive bots that promise refunds they can’t deliver, or overly shy bots that never answer anything useful.

I learned this the hard way when a client’s bot started offering discounts on products that didn’t exist. The fix wasn’t a better prompt; it was a simple rule‑engine that checked the intent before letting the model speak.

One‑sentence paragraph: Never trust the model to enforce your business logic.

How I built a working agent with Make, Airtable, and Claude

First, I created an Airtable base called SupportKB with three tables: FAQ, Escalations, and Logs. The FAQ table holds question‑answer pairs; the Escalations table holds keywords that trigger a human hand‑off; the Logs table captures every interaction for later review.

Next, I built a Make scenario that runs whenever a new message arrives via a webhook from my website’s chat widget. The scenario does three things:

  1. Search the FAQ table for an exact match on the incoming text.
  2. If no match, check the Escalations table for any keyword; if found, send a Slack notification to the support team and log the event.
  3. If neither FAQ nor escalation hits, call the Claude API with a tightly scoped prompt that instructs the model to answer only from the knowledge base and to say “I don’t know” when unsure.

Here’s the exact prompt I use (note the backticks are part of the prompt string):


You are a helpful support agent. Answer the user's question using only the information in the knowledge base. If you do not know the answer, respond exactly with: I don’t know. Keep your tone friendly and brief.
Knowledge base: {{faq_content}}
User question: {{user_message}}

The {{faq_content}} variable is populated by the Make step that pulls the top three FAQ rows and concatenates their answer fields. This keeps the prompt under Claude’s token limit and reduces hallucination.

Cost breakdown: Airtable’s free tier handles up to 1,200 records, which is enough for a few hundred FAQ entries. Make’s free plan gives 1,000 operations a month; I upgraded to the $10/mo tier for 10,000 operations, which comfortably covers 500 chats a day. Claude’s API is $0.008 per 1,000 tokens; with an average of 400 tokens per call I spend about $0.003 per interaction, or roughly $9/mo for 3,000 chats.

I think the $10/mo Make plan is a fair price for the reliability it gives — honestly, the free tier felt too risky for production.

What breaks when volume spikes?

When chat volume jumps past a thousand messages a day, two things tend to fail. First, the Make scenario starts hitting its operation limit because each chat triggers three modules (search, escalation check, API call). Second, the Airtable base begins to slow down as the Logs table grows, making the search step take longer than the webhook timeout.

I saw this happen during a product launch when traffic doubled overnight. The webhook began returning 502 errors, and customers got no reply at all. The fix was to split the logging into a separate Make route that writes to a Google Sheet instead of Airtable, freeing up the main path for real‑time responses.

Another subtle issue is prompt drift: as the FAQ table grows, the concatenated {{faq_content}} can exceed Claude’s context window, causing the model to truncate the knowledge base and answer incorrectly. I now truncate the FAQ snippet to the first 800 characters and add a note that the full list is available in the logs.

How to debug when the agent starts hallucinating

Hallucinations usually appear as confident answers that contradict your FAQ. The first place to look is the Logs table: check the exact prompt that was sent to Claude and the model’s raw response. If the prompt contains outdated or mismatched FAQ content, you know the data pipeline is stale.

If the prompt looks correct but the answer is still wrong, reduce the temperature setting in the Claude call to 0.2. Higher temperatures increase creativity, which is the enemy of factual consistency in a support bot.

Finally, add a simple validation step after the model replies: compare the answer to a list of forbidden phrases (like “free upgrade” or “instant refund”) and if any appear, route the chat to a human. This catches the most costly hallucinations before they reach the customer.

One concrete gripe: the Make UI hides the operation count behind a modal, so you don’t realize you’re close to the limit until the scenario stops working. I wish the dashboard showed a live counter right on the main canvas.

One concrete love: the ability to test a single module in Make with a sample payload and see the exact output instantly. It cuts debugging time from hours to minutes.

Pricing and trade‑offs

Airtable: free tier sufficient for early stage; Plus $12/mo adds more records and revision history.
Make: free tier 1,000 ops/mo; Core $10/mo gives 10,000 ops/mo, which I find the sweet spot.
Claude API: pay‑as‑you‑go, roughly $0.003 per chat at typical usage.
Overall, a fully functional agent can run for under $25/mo if you stay within the free Airtable limits and keep chat volume under 500 per day.

If you need higher volume or more sophisticated routing, the cost climbs linearly but stays predictable — no surprise enterprise licenses.

If you want the deep cut on this, deeper coverage of AI agent platforms.

When to grab the blueprint instead of building from scratch

If you’re comfortable wiring together Airtable, Make, and an API, follow the steps above and you’ll have a working bot in an afternoon. If you’d rather skip the build and deploy a working version in an afternoon, we’ve packaged this workflow as a blueprint at deepusecase.com/vault.

— The Colophon

One AI tool. Tested. Reviewed.
In your inbox every Sunday.

~3 minute read. Real outcomes from operators, not marketers.

Free. One email per Sunday. Unsubscribe in one click.