Skip to content
Signal
Book a demo(opens in a new tab)

Know what to fix in your voice agent, and whether the fix worked.

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.

  1. 1

    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.

  2. 2

    Fix it

    Suggested fix

    Have "Confirm details" use the stored value, or read it back for a yes or no.

    1. Draft a fixCopilot
    2. Quick checkApproximate
    3. Run testsRetell simulation
    4. PublishBy a person

    Nothing reaches Retell until you publish.

  3. 3

    Prove it worked

    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

    v738 of 296 · 12.8%
    v84 of 257 · 1.6%

    v7 → v8Observed improvement

    Got it done61% → 72%+10.1 pts

Not gone yet, so it stays on the board

From the Northwind Dental demo agent: synthetic, 600 calls across versions 7 and 8.

One issue, all the way round

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

An issue names a place, a cause and a change.

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.

The Signal issues list for Northwind Dental, Front Desk: 4 issues to fix, each on the tool or step it happens in, with its kind, calls, the share ending badly and a confidence figure, and under Cause not established a pattern the board lists without a fix.The Signal issues list for Northwind Dental, Front Desk: 4 issues to fix, each on the tool or step it happens in, with its kind, calls, the share ending badly and a confidence figure, and under Cause not established a pattern the board lists without a fix.
Listed, never guessed

Fix it

Draft the change, and test it before it ships.

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.

The cause and suggested fix for "Callers are asked again for the date of birth the agent already had in Confirm details": the tool that had already returned the value, and the change to make in Confirm details.The cause and suggested fix for "Callers are asked again for the date of birth the agent already had in Confirm details": the tool that had already returned the value, and the change to make in Confirm details.
  1. 1Draft a fixCopilot reads the issue and its calls and writes a change to your prompts or flow.
  2. 2Quick checkPlays the caller and the agent from the draft. Approximate, so it never marks a fix verified.
  3. 3Run testsA Retell simulation on a copy of the live agent with the change applied.
  4. 4PublishA person publishes, and can roll it back. Publishing can be turned off per workspace.

Prove it worked

Real calls say whether the fix 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.

The By version panel for "Callers are asked again for the date of birth the agent already had in Confirm details": a sentence saying whether the live version fixed it, then the share of each version's calls that show it.The By version panel for "Callers are asked again for the date of birth the agent already had in Confirm details": a sentence saying whether the live version fixed it, then the share of each version's calls that show it.
The effect of v7 against v8 in Signal: its conclusion, then each measure before and after with the change and whether it clears the bar, and the issues whose share moved.The effect of v7 against v8 in Signal: its conclusion, then each measure before and after with the change and whether it clears the bar, and the issues whose share moved.

Not gone yet, so it stays on the boardFind the issue

Other platforms make you set up evals. Signal tells you what the issues are.

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.

What an eval platform asks you to set up

  1. 1Pick metrics from a library

  2. 2Write a judge prompt for each one

  3. 3Set thresholds and alerts

What you get

A metric that failed, with no step attached

What Signal hands you

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

Flow
Place
Confirm detailsStep
Cause
extract_patient_details had returned it before the second ask.
Change
Have "Confirm details" use the stored value, or read it back for a yes or no.
Calls
42 calls from 40 callers, 74% ended badly

Then, 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.

Did the fix work
Eval platformsMostly simulated calls graded by your metrics
SignalProduction calls, with a verdict only when the difference is real
How a cause is known
Eval platformsNot stated
SignalMeasured facts labelled apart from model judgement, and "cause not established" when nothing checks out
Price grows with
Eval platformsMetric minutes on some plans, minutes or credits on others
SignalProcessed minutes, flat plans

Use both if you like. Signal tells you what to test. They are better at simulation, languages and compliance.

Read the comparisons

Every call, read the way it ran

Screens 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.

  1. The Fix listThe confirmed problems, on the overview.
  2. One issueIts cause, suggested fix and evidence.
  3. The flowEvery step, with the calls that took it.
  4. VersionsWhat changed from v7 to v8.
Your flow, with production on itEach line shows how many calls took it and is coloured by how they ended.
The top of the Signal flow for Northwind Dental, Front Desk: the first stages with the number of calls through each, how many stopped there, and the lines between them coloured by how calls along them went.The top of the Signal flow for Northwind Dental, Front Desk: the first stages with the number of calls through each, how many stopped there, and the lines between them coloured by how calls along them went.
Every call, down to the turnEach problem is flagged on the turn where it happened, with what was measured. This call is on v8, after the fix: the issue fell but did not go.
Part of one call's transcript from Northwind Dental, Front Desk, where "Callers are asked again for the date of birth the agent already had in Confirm details (reschedule appointment)" happens: the turns leading up to it, then a flag on the agent's turn saying what was measured, and the caller's reply.Part of one call's transcript from Northwind Dental, Front Desk, where "Callers are asked again for the date of birth the agent already had in Confirm details (reschedule appointment)" happens: the turns leading up to it, then a flag on the agent's turn saying what was measured, and the caller's reply.

Built for the way you already work

REST API

Read issues, versions and test results from your own scripts and CI. Keys are scoped to a workspace and, if you want, one agent.

List open issues
curl https://first-signal-api.fly.dev/v1/agents/$AGENT_ID/issues \
  -H "Authorization: Bearer $API_KEY"

MCP server

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.

Add to Claude Code
claude mcp add --transport http signal \
  https://first-signal-api.fly.dev/mcp \
  --header "Authorization: Bearer $API_KEY"

Copilot

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?

Read the API and MCP docs

One monthly balance of credits

Flat monthly plans, with no charge per metric. You never pay more because Signal looks for more things.

Compare plans

Questions

Which voice platforms do you support?

Retell first. Conversation Flow, multi-state and single-prompt agents all work. Other platforms will follow; we have not set dates.

Do I have to write evals or metrics?

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.

How does Signal connect to my agent?

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.

What happens in a demo?

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.

How do you decide a fix worked?

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.

What happens to my callers' data?

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.

Can I use Signal for healthcare calls?

Not yet. Signal handles personal information but not protected health information. We do not sign a BAA and do not have SOC 2.

Do I need my own LLM key?

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.

How are calls counted, and what happens at my plan's limit?

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.

What if Signal is wrong about an issue?

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.

Can Copilot change my live agent?

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.

Do simulated tests count against my plan?

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.

See what your agent should fix first.

Book a demo to see the whole loop on a real board, from an issue to the verdict on its fix.

Book a demo(opens in a new tab)