Skip to content
Samuel Fayn

nAblement · product

AgentHub

An AI agent that answers phone calls, texts, and emails for small businesses, books appointments into the business’s own calendar or CRM, and hands the conversation to staff when needed.

Role
Engineer · wrote the initial platform
When
Mar – Aug 2026
Stack
  • Python
  • FastAPI
  • SQLAlchemy / Alembic
  • PostgreSQL
  • Redis
  • Claude API
  • Retell
  • Twilio
  • Next.js dashboard
  • pytest + GitHub Actions

AgentHub, screen by screen

Tour · 4 screens in 2 parts

AgentHub

The call at a glance

The call lasted 1 min 10 s, with 19 back-and-forth exchanges. The agent took 2.2 seconds on average to respond and took 5 actions, such as creating the customer record.

01 / 04or swipe the screen

Pre-launch, behind a login. Screenshots are from a demo business, with test callers’ names and numbers replaced.

01 / 04 · A booked call, end to end

end-to-end scenario pass rate, up from 52%
93%
deterministic conversation-flow pipelines
20
specialist agents under one orchestrator
5
whole-conversation test scenarios
59
The problem

Small service businesses lose jobs when nobody picks up. AgentHub answers phone calls, texts, email, and web chat with one agent that knows the business: the services, hours, and policies, and the calendar or customer database where bookings go.

What I built
  1. 01

    Designed 20 deterministic conversation-flow pipelines for the voice agent (booking, availability, escalation, complaints, emergency, goodbye, and more), raising the end-to-end scenario pass rate from 52% to 93%.

  2. 02

    Architected an orchestration agent that coordinates five specialized agents (catalog, customer, general knowledge, scheduling, session) to sharpen decisions, cut latency, and make failures easier to trace.

  3. 03

    Wrote a 59-scenario text-mode harness that tests whole conversations end to end without placing a call.

Write-up

How AgentHub is built

01

Making a language model predictable

Left to improvise, an AI model will eventually promise an appointment time that is not open. So the parts of a call where a mistake costs something (booking, checking availability, handing off to staff, complaints, emergencies, and ending the call) follow deterministic pipelines: fixed, step-by-step logic written in code. Developing the deterministic pipelines raised the share of test conversations the agent handled correctly from 52% to 93%.

The booking pipeline from the agent’s design document, with the checks the code runs at each step

The booking pipeline, one of 20, with the checks the code runs at each step.
02

One orchestrator, five specialists

Each time the caller says something, a main agent called the orchestrator decides what AgentHub says and does next. The orchestrator sends lookups to four specialist agents that search at the same time: catalog (services and prices), scheduling, general knowledge, and customer records. A fifth specialist, the session agent, decides whether the call should continue.

Architecture diagram: one orchestrator agent, five specialist agents, and the actions that change data, each behind a check

How the agent decides each reply to the caller, using the agent names from the code.
03

Testing conversations without phones

A text-based test harness plays out whole conversations through the same code a real phone call uses (calls arrive through Retell), against the real backend. Each test checks what the agent said, which actions the agent took, and what data the agent saved.

Text-mode test harness report: scenarios grouped by core flows, edge cases, speech collisions, and real-call quality

One full run of the test harness, with how long the agent took to start speaking and to finish each reply.
04

Integrations

I built the secure sign-in layer (OAuth with PKCE and token refresh) that connects AgentHub to each business’s tools, wrote the Calendly and Acuity connections, and tested HubSpot, Pipedrive, Square, Salesforce, Zoho, Google Calendar, and Outlook in their test environments.