Deploy your agents, without the firefighting.

Radiant observes every action your agents take across phone, browser and text, detects bugs and frustrated users, and tests the fix with simulated users.

Book a demo

Built By

University of OxfordImperial College London

Trusted By

Atlantic Health SystemBellatorNatWest GroupOrbisStears

Backed By

Plug and PlayHaatchMincFounders FactoryZemu

Agents used to answer questions. Now they complete tasks.

They take the call, fill in the portal, chase the reply and book the appointment.

One job can run for days, across phone, browser, text and email.

When it fails, the customer notices first.

The call went fine. The job didn't.

Day 1Day 2Day 3PhoneCarrier portalEmail✕Nothing happened for a dayShipper call: Day 1, 10:30 · 6m 40s (Phone, Day 1)Shipper callDay 1, 10:30 · 6m 40sCall went finebook_slot: rejected: pallet count missing (Carrier portal, Day 1)book_slotrejected: pallet count missingBooking confirmation: never sent (Email, Day 2)Booking confirmationnever sentDriver turns up: Day 3 · no booking on file (Phone, Day 3)Driver turns upDay 3 · no booking on file
One shipment, three days. The call went fine. The booking was rejected, the confirmation never went out, and nobody knew until the driver turned up.

Every check passed. The job still failed.

The call scored well and the transcript reads perfectly. The agent promised a follow-up by Thursday. The follow-up never happened, and you heard about it a week later from the customer. Failures hide between steps and channels, and surface days later.

Debugging means reading transcripts across five tools.

The voice log is in one tool, the traces in another, the workflow history in a third. Someone lines them up by timestamp to work out what happened. Nobody sees the whole job.

You can't put a phone call in CI.

Testing a journey that crosses a phone call and a web form means someone dialling in and someone clicking through, every time. It takes an afternoon, so it stops happening.

Every change is a gamble.

A prompt edit fixes the date bug and breaks the address step. A model upgrade is faster and quietly skips a tool call. So teams freeze the agent and stop shipping.

Your best engineers became babysitters.

They replay calls, watch dashboards and patch prompts late at night. You hired them to build agents. Now they mind them.

Observe. Simulate. Improve.

01

Observe. See the whole job.

Every call, tool call, browser action and workflow step, joined into one view across days.

02

Simulate. Rehearse every change.

Simulated customers call, click and wait, and every run is judged on the outcome.

03

Improve. Find the cause. Prove the fix.

Get an answer that cites the traces, hand the fix to your coding agent, and re-run the journey.

Debug and simulate agents that work in the real world.

Voice, browser and text

Radiant traces every call, click and message in one job, so you debug the whole journey, not one channel.

Multi-day, multi-party

Replay and simulate jobs that wait on customers, staff and other companies for days.

Integrate with one line

Already emitting OpenTelemetry? Point the exporter at Radiant.

agent environment
OTEL_EXPORTER_OTLP_ENDPOINT=https://radiant.your-cloud.internal:4318
Show full setup
# Standard OpenTelemetry exporter settings
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://radiant.your-cloud.internal:4318/v1/traces
OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf
OTEL_SERVICE_NAME=claims-follow-up-agent

# Python: the standard SDK reads the settings above
from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter

provider = TracerProvider()
provider.add_span_processor(BatchSpanProcessor(OTLPSpanExporter()))
trace.set_tracer_provider(provider)

Runs in your cloud, if you want

Use Radiant's hosted platform, or self-host it in your own cloud so traces, recordings and transcripts never leave your environment.

Works with your stack.

Bring the agents you already run. Radiant reads standard OpenTelemetry traces, so there is nothing new to adopt.

  • Vapi
  • Retell
  • LiveKit
  • OpenAI
  • Amazon Bedrock
  • Your own agents
OpenTelemetrystandard traces
Radianthosted or self-hosted
Coming soon

RL environments, built from your production data.

Radiant will turn real jobs and simulations into reinforcement-learning environments, so you can train and evaluate your agents on the work they actually do.

Questions teams ask first.

What do we need to connect?

OpenTelemetry traces from your agents. If you already emit them, point your exporter at Radiant. If you do not, we will show you where to add them.

Where does our data live?

Radiant is hosted by default, so there is nothing to run. If you need it, you can self-host Radiant in your own cloud instead, and traces, recordings and transcripts never leave your environment.

Which stacks do you support?

Voice platforms such as Vapi, Retell and LiveKit, models on OpenAI and Bedrock, and custom agents you built yourself. If it emits OpenTelemetry traces, Radiant can follow it.

How do simulations stay safe?

Simulations use simulated customers, not real ones. They call your test numbers and work in the environments you choose. No real customer is contacted.

How much does it cost?

Talk to us. Tell us about the job and we will give you a straight answer on the first call.

We build in the open.

We're big believers in open source. Our agent harness is already open, and the core of Radiant is next. Read the code, don't take it on faith.

Open source · Available now

Polaris

Our agent harness, written in Rust. Agents are explicit graphs you can read, sessions checkpoint and roll back, tools run with scoped permissions, and traces export to OpenTelemetry.

Explore Polaris

Ready to stop firefighting your agents?

We're opening up our beta to more users, reach out to join the waitlist!

Or book a demo