Find the issue
Callers are asked again for the date of birth the agent already had
FlowConfirm details
- Calls
- 42
- from 40 callers
- Ended badly
- 74%
Cause
extract_patient_details had returned it before the second ask.
Signal puts each repeated failure in your Retell agent on the step that causes it, helps you draft and test the change, then reads the calls after your release to tell you whether it worked.
For Retell agents. Connects over the API, with no webhook changes and no evals to write.
Callers are asked again for the date of birth the agent already had
FlowConfirm details
Cause
extract_patient_details had returned it before the second ask.
Suggested fix
Have "Confirm details" use the stored value, or read it back for a yes or no.
Nothing reaches Retell until you publish.
By version
Fell on v8 but not gone: 4 of 257 calls on v8, against 38 of 296 before, over 9 days.
VersionOf calls where the caller spoke
v7 → v8Observed improvement
Got it done61% → 72%+10.1 pts
Not gone yet, so it stays on the board
Each stage hands the next the same issue: found in production calls, fixed in a draft you test, then checked against the calls your new version takes.
Screens from the Northwind Dental demo agent.
Find the issue
Repeated failures are grouped by the change that fixes them and placed on the step, tool or transition where they happen, with the calls behind each one. A single bad call is never an issue.
When nothing checks out, the pattern goes under Cause not established, with what was seen and what to check. The board never guesses a fix.


Fix it
Open the issue in Build and Copilot drafts a change to the live agent's prompts or flow. Run a quick check, then your tests as a Retell simulation, which can start from the stored production calls behind the issue.
Nothing reaches Retell until someone publishes, and a publish can be rolled back. Draft a fix is never offered on an issue whose cause is not established. Simulated tests draw on your plan's monthly credits.


Prove it worked
Once the new version has taken calls for a grace period, 7 days unless you change it, each issue gets a verdict: fixed, fell but not gone, rose, no change beyond noise, or not enough calls yet to say. Versions are compared on the board's measures too, and a change counts only when the difference is real, not chance.
It reads production calls, not simulations, so a verdict takes days, not minutes. It is a before and after, not a controlled experiment, and the screen says so.




Not gone yet, so it stays on the boardFind the issue
Eval platforms grade your calls against metrics you pick or write. That works for what you already know to check. It does not tell you what you missed, or where in the agent to change it.
1Pick metrics from a library
2Write a judge prompt for each one
3Set thresholds and alerts
What you get
A metric that failed, with no step attached
You set up a Retell API key and approve a one-page brief.
Callers are asked again for the date of birth the agent already had
FlowThen, from the calls after v8 shipped
Fell on v8 but not gone: 4 of 257 calls on v8, against 38 of 296 before, over 9 days.
From the demo agent.
Use both if you like. Signal tells you what to test. They are better at simulation, languages and compliance.
Read the comparisonsScreens from the Northwind Dental demo agent.
A walkthrough of the demo agent's board: the confirmed problems under Fix, one issue's evidence, the flow with traffic and the version comparison.




Read issues, versions and test results from your own scripts and CI. Keys are scoped to a workspace and, if you want, one agent.
curl https://first-signal-api.fly.dev/v1/agents/$AGENT_ID/issues \
-H "Authorization: Bearer $API_KEY"Give Claude Code, or any MCP client that can send an API key, the same access: read open issues, list versions and what changed between them, start a test run.
claude mcp add --transport http signal \
https://first-signal-api.fly.dev/mcp \
--header "Authorization: Bearer $API_KEY"A side panel that reads the board with you. Ask why an issue happens, and it answers from the calls behind it, or says the cause is not established. Ask for a fix, and it edits a draft of your agent and tests the draft. Nothing reaches your live Retell agent until you click publish.
Why does Confirm details ask for the date of birth again?
On these calls a tool had already returned the date of birth earlier in the call, and Confirm details asks for it again anyway. I drafted a change that uses the stored value and reads it back once. Run the calls behind this issue against the draft?
Flat monthly plans, with no charge per metric. You never pay more because Signal looks for more things.
No creditsdemo agent only
$0per month
Book a demo(opens in a new tab)6,000credits a month
$49per month
Book a demo(opens in a new tab)20,000credits a month
$179per month
Book a demo(opens in a new tab)55,000credits a month
$499per month
Book a demo(opens in a new tab)Customcredits a month
from$1,500per month
Book a demo(opens in a new tab)Retell first. Conversation Flow, multi-state and single-prompt agents all work. Other platforms will follow; we have not set dates.
No. You approve a one-page brief that Signal drafts from your configuration: what the agent is for and what counts as a good call. Everything on the board is measured against it.
With a Retell API key. Signal reads your agent's configuration and calls over the API. It does not replace or repoint your webhook. It writes to your live agent only when you publish a draft yourself.
We walk the loop on the demo agent, a synthetic dental front desk with 600 calls across two versions: an issue, its cause and suggested change, and what the next version's calls said about it. Then we look at what connecting your own Retell agent takes.
Each issue gets a verdict once the new version has taken calls for a grace period, 7 days unless you change it. Signal then tells you whether the change is real, and which way it went, or that there are not enough calls yet to say. It is a reading of the calls before and after the change, not a controlled experiment, and the screen says so.
Signal stores transcripts, recording links and your encrypted Retell key. Recordings stay on Retell. Model calls are routed only to providers with zero data retention, and no transcript text is sent to analytics. Deleting an agent or workspace deletes its data permanently. Servers are in US East.
Not yet. Signal handles personal information but not protected health information. We do not sign a BAA and do not have SOC 2.
No. Signal runs its own model reads. If they are unavailable, or past a plan's cap, analysis continues without them and the screen says which calls were read that way.
A call uses one credit for each minute it has started, so a 2 minutes and 30 seconds call uses 3 credits. At zero credits, new calls keep being imported and stored, and are analysed when the month resets or when you upgrade. Nothing is deleted and there are no overage charges.
Mark it wrong and pick the reason. The issue stays rejected on later runs, and your reasons tell us which part of the analysis to fix.
Only when you click publish. Copilot writes changes to a draft and tests the draft first; publishing needs a test on the draft's exact text, and you can roll a published change back.
Yes. Each plan includes a monthly balance of credits, and simulated tests draw on it: each test and persona in a run costs 6 credits. A run the balance cannot cover is refused before it starts.
Book a demo to see the whole loop on a real board, from an issue to the verdict on its fix.