Overview
ElevareCircle runs the front desk for its member circles. Every call, every web chat, every text that comes in is somebody deciding in real time whether the circle is actually there for them, and a phone that rings out or a message that sits unread for a day answers that question badly, no matter how good the community behind it actually is.
They came to us wanting one receptionist behind all of it, not three separate bots bolted onto three separate channels that each remember the conversation differently. Whoever answers, phone or chat or text, needed to sound like the same person picked up, because to the member on the other end, it is the same circle either way.
Getting a conversation to genuinely hold together across a call, a chat and a text thread is less a single technique than a discipline, and it is one we keep sharpening on every voice project we take on. See our work on GrowMyCare's own call handling.
Approach
A member does not care which channel they used last time. They call today, they text tomorrow, and they expect whoever answers to already know what was said the first time. That meant the agent needed one shared brain behind every entry point, not a separate script sitting behind each one.

So we designed around three things:
- One shared business profile and FAQ set, so the phone, the chat widget and text all answer from the same facts.
- Every conversation captured as a lead the moment it happens, not typed up afterward by somebody who remembers to.
- A dashboard the business actually opens, showing what came in and what still needs a human.
None of that mattered if the agent underneath still broke the way the old one did. The channels were the visible half of the rebuild. The architecture had to hold up first.
| What we built | What it's answering | What it looks like in practice |
|---|---|---|
| One shared knowledge base | Three channels giving three different answers | Phone, chat and text all answer from the same facts |
| Automatic lead capture | A conversation nobody wrote down afterward | Every call and chat lands in the CRM on its own |
| A dashboard built for the owner | Nobody could see what the agent was actually doing | Call volume, leads and busiest hours, all on one screen |
Execution
Rebuilding away from a stage router
The agent's original architecture was a stage router, a state machine that picked which script to read next depending on where the conversation currently stood. That is a reasonable way to start, and it is also the shape that breaks in a specific way, not gradually, but right at the seam between two stages, exactly where a real caller stops following the plan. Every new behavior needed a new stage, and every new stage multiplied the transitions between stages, so the surface area for something to break grew faster than the feature itself did.
We rebuilt it around a single full context prompt paired with function tools instead. No stage tells the model what it is allowed to do next. It holds the whole conversation and decides for itself which tool, if any, the moment actually calls for, so a new behavior ships as one new tool rather than a new stage and a new set of transitions to get right.
Turning a conversation into a lead without losing what mattered in it
A CRM row is only useful if it is accurate, and a conversation gives you two different kinds of information: what somebody explicitly told you, and what you can reasonably infer from how they said it. Treating those as the same thing is how a lead record ends up confidently wrong. We built the capture step to keep the two separate, and let anything the caller explicitly said take priority over anything the agent inferred, so a guess never quietly overwrites a fact.
Making the first second of a call not feel like dead air
A voice model takes a moment to actually start generating once a call connects, and that moment of silence at the very top reads as broken to a caller who has no idea anything is happening yet. We pre generate a small pool of natural openers per agent ahead of time, so the first thing a caller hears is instant, and the real model picks up the conversation the moment it is ready, with the caller none the wiser that anything was precomputed.
| Challenge | What we did | What it delivers today |
|---|---|---|
| A stage router that broke at its own seams | Rebuilt around one full context prompt with function tools | A new behavior ships as one tool, not a new stage and a new set of transitions |
| Leads that quietly got facts wrong | Explicit answers always outrank inferred ones | A CRM record that never overwrites what the caller actually said |
| Dead air at the start of every call | A pool of pre generated openers per agent | The caller hears something instantly, before the real model has even started |
Delivery



ElevareCircle's members get one receptionist now, not three bots that happen to share a name. Every call and chat lands in the same CRM, the dashboard shows the owner what actually happened that day, and nothing about which channel a member used changes how well they're heard.
Helped me deliver crack the sales so often. The voice agent was so fast, really impressed everyone on team. Hats off!
