Skip to content

Balusekhar/airia

Repository files navigation

Deployed Airia Agent

https://community.airia.ai/import-agent/XzVTQOfA0746Xye5XdccLWb2labkn96XcCOWPShrEJW


Customer Support Agent (Hackathon Project)

Inspiration

I’ve seen a lot of small shops, local boutiques, online T‑shirt stores, friends running side‑hustle e‑commerce, do all of their customer support from one inbox and one spreadsheet. They don’t have time or money to set up a big CRM or ticketing system, but they still get the same questions every day:

  • Do you have this in stock and what’s the price?
  • Where is my order?
  • My item arrived damaged, can I return it?
  • What’s your return or privacy policy?

For a one‑person or two‑person team, the owner is the support team. They dig through spreadsheets, reply to each email manually, and try to remember which issues are still open. I wanted to see if I could turn a simple Airtable base into a mini helpdesk and CRM, powered by AI agents, that feels like a real product a small shop could actually use.

What it does

Customer Support Agent is a multi‑agent helpdesk for small e‑commerce shops, built on top of Airia and Airtable.

From a single chat interface, a customer can:

  • Ask about products: “Do you have any cotton shorts under 30?”
  • Check orders: “What’s the status of my order?”
  • Report issues: “My backpack arrived damaged.”
  • Update profile: “Change my address to Atlanta, Georgia.”
  • Ask policies: “What’s your return policy?” or “How do you handle my data?”

Behind the scenes

  • A Router Agent understands the intent and sends the message to one or more specialist agents.
  • Product Info Agent reads from the Airtable Inventory table to answer product questions and recommend items.
  • Order Status Agent looks up users by name or email, finds their orders in the orders table, and returns live order statuses.
  • Ticket Agent creates and updates support tickets in the tickets table, including ticketStatus and resolutionNotes.
  • User Agent manages CRM data by updating user records in the users table (name, email, address, phone).
  • Compliance Agent answers privacy and return questions by reading from two datasources: a Privacy Policy document and a Return Policy document.

For the demo, I also built a simple Next.js storefront and connected everything to Airtable so that the agents are working with realistic inventory, orders, and users.

How I built it

Data model in Airtable

I started by designing a very small CRM schema in Airtable:

  • Inventory: id, title, price, description, image, rating, count
  • Users: userId, name, email, phone, address, linked orders and tickets
  • Orders: orderId, userId, productId, orderStatus
  • Tickets: ticketId, userId, orderId, ticketDescription, ticketStatus, resolutionNotes

This kept all of the data in one place and made it easy to reason about what each agent should be allowed to read or write.

Agent orchestration in Airia

In Airia, I created a Customer Support Agent with:

  • A central Router (GPT‑4.1 Mini) that classifies every message into product, order, ticket, user, or policy intent.
  • Five Claude Sonnet specialist agents wired to Airtable tools and datasources.

Each specialist got its own system prompt describing:

  • What questions it owns
  • Which Airtable table and fields to use
  • How to call the tools instead of just “pretending” to write data
  • How to hand off when the message belongs to another agent

Challenges I ran into

Getting tools to actually write to Airtable

  • At first, the agents were just outputting JSON like <airtable_create>{...}</airtable_create> without calling any real tool, so nothing showed up in the base. I had to wire real HTTP tools, update prompts to say “You must call the tool, not just describe it”, and then verify by reading back from Airtable after each action.

Search vs. exact match in inventory

  • My first product queries returned empty results because I was matching on id instead of searching title and description. Switching to filterByFormula with FIND() on lowercase text fixed it and made natural‑language search work.

Identity resolution and not over‑asking

  • It’s easy for agents to repeatedly ask “What is your email?” even when it’s already in the conversation. I had to emphasize in prompts that they should reuse known identity info and only ask once.

Keeping agent boundaries clean

  • Sometimes the Product Info Agent tried to answer ticket questions, or the Ticket Agent tried to explain return policy. I tightened each system prompt to clearly say when to hand off to another agent, and added a dedicated Compliance Agent for policy questions.

What I learned

  • How to design a multi‑agent system where each agent has a narrow, well‑defined responsibility, but they still feel like one assistant to the user.
  • How to treat Airtable as a lightweight backend/CRM and control it safely via LLM tools.
  • How important good system prompts are: when they’re vague, agents hallucinate actions; when they are precise and reference the schema, the system feels reliable.
  • How to think from both sides: the small business owner’s perspective (simple setup, clear data) and the customer’s perspective (just type in chat and get answers).

Getting Started

  • Clone the repository:
    • git clone https://github.com/Balusekhar/airia
  • Install dependencies:
    • npm install
  • Start the Next.js app:
    • npm run dev
  • Open http://localhost:3000 in your browser

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors