Service
AI agent development for support, sales and internal teams: assistants grounded in your own data, connected to your systems, and built to hand off to a person when they should.
What you get
Most businesses already have a chatbot story that went badly: a widget that answered "I'm sorry, I didn't understand that" to every second question, or a demo that looked great and then made up a refund policy in front of a real customer. Large language models have changed what is possible, but they have not removed the need for careful engineering.
Our AI agent development work starts from a narrow, useful job. "Answer order-status and returns questions for our Shopify store." "Qualify inbound demo requests and book the good ones into the right rep's calendar." "Let the ops team ask questions of 400 pages of SOPs and get an answer with the source." We then build an assistant that does that job well, using your actual data, a small set of permitted actions, and clear rules for when to stop and involve a person.
Under the hood that usually means a model such as Claude or GPT, a retrieval layer over your documents (often Postgres with pgvector), integrations with the systems the agent needs to read from or write to, and an evaluation suite that tells us whether a change made the agent better or worse before it reaches customers. If the problem is better solved with a plain rules-based workflow automation and no chat at all, we will say so.
We build for four main jobs: customer support agents, sales and lead qualification agents, internal knowledge assistants, and voice agents for phone lines. Each one ships with logging, a review queue and a handoff path, because an agent nobody can inspect is not one you should put in front of customers.
Each of these can be a project on its own, or one part of a larger system.
We build support agents that work inside Zendesk, Intercom, Gorgias or your own chat widget, answer from your help center, look up live orders and accounts, and escalate cleanly.
ExploreWe build sales agents for web chat, forms and email that qualify inbound leads against your criteria, enrich and update your CRM, and route or book meetings without leaving good leads waiting.
ExploreWe build internal assistants in Slack, Microsoft Teams or a web app that search your company documents with retrieval-augmented generation, respect access permissions, and cite where each answer came from.
ExploreWe build phone agents on Twilio and voice platforms like Vapi or Retell, connected to your calendar, CRM or order system, with clear rules about what they handle and when a human takes over.
ExploreDefinitions
These words get used interchangeably in sales pitches, which makes it hard to know what you are buying. Here is how we use them.
A chatbot answers questions in a conversation. A modern one uses a language model plus your content, so it can handle "do you ship to Canada and how long does it take?" without a scripted decision tree. It reads and replies. It does not change anything in your systems. For many businesses this is the right place to start, because the risk is low and the value is easy to measure.
An agent can also take actions through tools you give it: look up an order in Shopify, create a ticket in Zendesk, update a deal stage in HubSpot, book a meeting. The model decides which tool to call and in what order, within limits we set. That flexibility is what makes agents useful for messy, multi-step requests, and it is also why they need tighter permissions, logging and testing than a chatbot.
A workflow is a fixed sequence of steps: when X happens, do Y, then Z. It can include an AI step, like extracting fields from an invoice or classifying an email, but the path is defined in advance. Workflows are cheaper, more predictable and easier to audit than agents. If the steps are always the same, you probably want a workflow, which is the focus of our AI business automation service.
In practice many good systems mix all three. A support assistant might chat freely, call two or three tools to look up order data, and then trigger a fixed workflow to issue a return label. Our job in scoping is to decide where you actually need the model to make decisions and where a predictable step is safer.
Capabilities
Assistants on your website, in your helpdesk or in email that answer from your policies and product data and resolve routine requests end to end.
Agents that talk to inbound leads, ask the questions your sales team would ask, score them against your criteria and book meetings in the right calendar.
A private assistant in Slack, Teams or a web app that answers staff questions from SOPs, contracts, wikis and past tickets, with links to the source.
Phone agents that answer calls, handle simple requests like bookings or order status, and transfer to a person with a summary when the call needs one.
Agents that work through a queue, such as triaging inbound emails or preparing draft replies, using a small set of approved actions in your systems.
Dashboards where your team reads conversations, corrects answers, approves risky actions and picks up escalations without losing context.
Examples
For example, a store handling a few hundred tickets a week, most of them about order status and returns. The agent checks the order in Shopify, explains the return window, creates the return in Gorgias and hands anything unusual to a person.
A web chat and email agent that asks about volumes, location and product lines, checks whether the lead is an existing account in HubSpot, and either books a call with the territory rep or sends a price-list request to the inside sales queue.
Staff ask questions in Microsoft Teams like 'what is our process for a damaged pallet from a carrier?' and get a short answer citing the exact SOP section, instead of searching SharePoint folders.
A voice agent answers maintenance calls overnight, collects the address and issue, decides whether it is an emergency using your rules, logs a work order and calls the on-duty technician if it is urgent.
An internal agent that searches past proposals, case notes and rate cards to draft a first-pass scope section for a new opportunity, which a partner then edits.
An agent reads supplier emails, works out whether each is a delay notice, a price change or a query, updates the relevant record and drafts a reply for a buyer to approve.
Grounding
A language model on its own knows a lot about the world and nothing about your business. Grounding is how we make sure the agent answers from your information, and only acts in ways you have allowed.
We index your help center, policies, product catalog, contracts or SOPs into a search layer, usually Postgres with pgvector combined with keyword search. When a question comes in, the agent retrieves the most relevant passages and answers from them, with citations where that makes sense. Most of the quality comes from unglamorous work here: cleaning documents, splitting them sensibly, keeping them in sync when they change, and removing the outdated PDF that contradicts the current policy. Our internal knowledge assistant page goes into more detail.
Live data, like an order status or a customer's open invoices, should not be copied into a document index. Instead we give the agent tools: small, well-defined functions such as "get order by number" or "create return request". Each tool validates its inputs and returns only the fields the agent needs. The agent cannot call anything that is not on its list.
We treat the agent like a new employee with a narrow role. It gets its own API credentials with the smallest scope that works. Read and write tools are separated. Actions with money or legal weight, like refunds above a threshold or contract changes, require a human approval step. For internal assistants we respect document permissions, so someone in the warehouse does not get answers drawn from HR files.
The model integration itself is covered in more depth under LLM integration.
Safety
Every agent will eventually get a question it should not answer, or misunderstand one it should. The goal is not a perfect agent. It is an agent whose mistakes are rare, caught, and cheap.
Before launch we build a test set from your real tickets, chats or calls, plus tricky cases we write ourselves. Each test has an expected outcome: the right answer, the right tool call, or a handoff. We run the full set whenever prompts, models or content change, and track the pass rate over time. After launch we sample live conversations each week, have someone on your team grade a portion of them, and feed failures back into the test set.
Handoff is designed, not bolted on. We agree the triggers up front: the customer asks for a person, the agent's confidence is low, the topic is sensitive, or the same question has been asked twice. When it hands off, the agent passes a short summary and the relevant data into your helpdesk or CRM so the customer does not have to repeat themselves. During the first weeks we often run in "draft mode", where the agent writes replies and a person approves them, until the numbers show it is ready to send on its own. See our process for how that rollout usually runs.
Costs
An AI agent has ongoing costs that a traditional website feature does not. You should understand them before you commit.
We estimate these during scoping using your real volumes, and we add cost tracking per conversation so there are no surprises. Techniques like prompt caching, routing easy questions to smaller models and trimming retrieved context often bring costs down substantially without hurting quality.
Claude (Anthropic) is often our first choice for agents that follow detailed instructions, use tools and handle long documents. OpenAI models are strong all-rounders with a mature ecosystem, including realtime voice options. Open-weight models such as Llama or Mistral can be self-hosted when data must stay in your own environment, or when volume is high and the task is simple enough for a smaller model, though you take on the hosting and tuning work.
We do not lock you to one provider. We design the agent so the model can be swapped, test candidates against your evaluation set, and pick on quality, latency, cost and data terms. Models change every few months, so being able to switch is worth more than a small edge today.
FAQ
A focused first version, such as a support assistant for one channel, often takes 3 to 6 weeks including integration and testing. Agents that need several integrations, voice, or strict approval flows take longer. We usually launch in draft or limited mode first and widen scope once the results hold up.
Any language model can produce a wrong answer, so we design around that. The agent answers from retrieved sources, is instructed and tested to say when it does not know, and hands off on sensitive topics. Ongoing review of live conversations catches the errors that slip through.
With the business API terms from Anthropic and OpenAI, your inputs are not used to train their models by default. We confirm the current terms for the providers we use, can set data retention options, and can self-host an open-weight model if your requirements call for it.
Yes, that is usually the best place for it. We integrate with tools like Zendesk, Intercom, Gorgias, HubSpot, Salesforce and Pipedrive so conversations, notes and handoffs live where your team already works.
Not a training dataset. You need the content the agent should answer from, such as help articles, policies or SOPs, and access to the systems it should act in. Past tickets or chats are very useful for building the test set, even a few hundred.
We run the new model against your evaluation set before switching. If it is better or cheaper, we move over in a controlled release. If not, we stay put. Nothing changes in production without passing the tests.
If the process has fixed steps and no ambiguity, a plain workflow is cheaper and more reliable. If your content is out of date or contradictory, fix that first or the agent will repeat the confusion. And for high-stakes decisions, an agent should draft and a person should decide.
Tell us the conversations or tasks you want to hand off, the tools involved and roughly how many come in each week. We will reply with an honest view on whether an agent, a chatbot or a simple workflow fits best, and what a first version would look like.
We pick tools for your situation, not ours. These are the ones we reach for most on this kind of work.
Which parts of customer support AI handles well, which it doesn't, and a step-by-step way to roll it out without frustrating customers or your support team.
What should happen in the first hour after an inbound lead arrives, and how to automate capture, enrichment, qualification, routing and follow-up without losing the human judgment that closes deals.
Chatbots, AI agents and workflow automations get lumped together, but they solve different problems. Here is how to tell them apart and pick the right one for the job.
Tell us how it works today. We'll tell you honestly what's worth automating, what it would take, and what it would cost.