Skip to main content
Use this when your LiveKit agent places calls (sales outreach, reminders, follow-ups) and you want the Digital Human on the receiving end.
If your agent answers calls instead, use Direct connection or SIP connection.

How it connects

For each Digital Human in the run, Bluejay stands up a receiving line on that Digital Human’s phone number, then notifies your system which numbers to dial via a webhook. Your agent places the calls the same way it does in production, the Digital Humans answer, and each conversation is scored like any other simulation.

Setup

1. Create an outbound agent in Bluejay

  1. Click Create Agent.
  2. Set the agent type to Outbound and the mode to Voice, with the Phone connection type.
  3. Click Create.

2. Give your Digital Humans phone numbers

Each Digital Human in the simulation needs a phone number. This is the number your agent will dial for that test.

3. Add a webhook so your system knows when to dial

In Bluejay, create a webhook subscribed to the outbound_simulation_started event and scope it to your agent (see Webhooks). When you run the simulation, Bluejay POSTs the numbers to dial:

4. Dial from your agent

When the webhook fires, have your system dispatch your LiveKit agent to call each phone_number, exactly as it dials real customers (for example create_sip_participant on your own outbound trunk). The Digital Human answers, and the conversation runs.
No webhook endpoint handy? You can also dial the numbers manually. The Digital Humans wait on their lines until the run’s timeout.

5. Review results

When each call ends, the result opens with the transcript, recording, and metric scores.

Troubleshooting

Resources

Webhooks

Configure and verify Bluejay webhooks.

Events Webhook Reference

Full payload structure for every event type.

LiveKit — Direct

Testing inbound LiveKit agents without SIP.

Digital Humans

The personas that answer your agent’s calls.