Prerequisites:
- An ElevenLabs account with at least one agent
- An ElevenLabs API key
- A Tuner account
Overview
You connect an ElevenLabs agent from the agent setup wizard. Tuner registers a webhook in ElevenLabs that sends each finished conversation to Tuner.Step 1: Get your ElevenLabs API key
Create an API key in ElevenLabs. Tuner uses it to list your agents, read their conversations and recordings, and add its webhook to the agent you connect. If you restrict the key’s permissions, enable the following:
If ElevenLabs reports a missing permission, Tuner shows its name.
When you connect the key, Tuner checks it by listing your agents. If ElevenLabs rejects the key, Tuner shows ElevenLabs’ reason.
Treat your API key like a password. Never paste it into frontend code, public repos or source control.
Step 2: Create your agent in Tuner
1
Open the wizard
In the sidebar, click Create New Agent. Before your workspace has its first agent, the button reads Set up your first agent.
2
Choose ElevenLabs
Under Where does your agent run?, select ElevenLabs.
3
Connect your ElevenLabs API key
Under Connection, paste your ElevenLabs API key and click Connect. Tuner validates the key and stores it in your workspace settings.
4
Pick your agent
In Which agent?, choose the ElevenLabs agent to connect. Tuner fills in Agent name and the system prompt from ElevenLabs. You can edit both.For a workflow agent, Tuner imports the agent’s main prompt only. Prompts set on individual workflow nodes aren’t imported.
5
Add the agent
Click Add agent. Tuner creates the agent and sets its post-call webhook in ElevenLabs. This replaces any post-call webhook the agent already had. See Webhooks.
6
Get your first evaluated call
The last wizard step checks your ElevenLabs account for recent calls. See Import recent ElevenLabs calls.
Save the key in Workspace Settings instead
Save the key in Workspace Settings instead
You can save or replace your ElevenLabs key outside the wizard:
- Open Workspace Settings > General Settings.
- Under Third-party Integrations, paste your key into ElevenLabs API Key.
- Click Save Changes.
Webhooks
Add that URL in Tuner under Agent Settings > Webhooks instead. It then receives:- Tuner events:
call.analyzedandalert.fired. - ElevenLabs’
post_call_transcriptionevent: forwarded as acall.receivedevent, with ElevenLabs’ original body inpayload.
post_call_transcription. Other ElevenLabs webhook events are not forwarded, so an automation that depends on them stops receiving them.
Tuner creates one webhook named Tuner in your ElevenLabs workspace and sets it as the post-call webhook of the agent you connected. Later ElevenLabs agents in your Tuner workspace reuse that webhook. Tuner keeps the webhook events the agent already subscribes to and adds the transcript event. It doesn’t change your ElevenLabs workspace-wide webhook settings.
See Webhooks for the event format, headers and URL requirements.
Import recent ElevenLabs calls
On the last wizard step, Get your first evaluated call, Tuner checks your ElevenLabs account for finished conversations of the connected agent. Click Import & evaluate all N to import them and run your evals. Importing needs available credits in your workspace. Tuner imports only conversations that have ended, including ones ElevenLabs marks as failed. Conversations that are still in progress or processing are skipped. A conversation Tuner already has isn’t imported again.Verify the first call
1
Make a test call
Call your ElevenLabs agent, or open Call Logs and confirm the imported calls appear.
2
Open the call
Open the call in Call Logs. The transcript, recording and metrics from the table below appear once ElevenLabs finishes processing the conversation.
What Tuner reads from each call
Enable simulation
Required if you use Call Simulation. Neither direction needs code.Inbound
Give Tuner the SIP URI of an ElevenLabs SIP trunk phone number that’s assigned to your agent. See Simulate an ElevenLabs agent.Outbound
Give Tuner an ElevenLabs SIP trunk phone number whose outbound address is Tuner’s SIP host. Tuner places each simulated call through ElevenLabs from that number. Tuner can create the number for you with Create phone number in Agent Settings > Simulation Setup. See Set up outbound simulation.Check simulation works
Start a simulation run. See Run a simulation. When the call ends, check its result in the run. If it shows Unreported, Tuner never received a matching call from ElevenLabs. See Fix an Unreported run.Before you finish
- The ElevenLabs API key connects and the agent appears in Which agent?
- The agent’s post-call webhook in ElevenLabs is the
Tunerwebhook - Agent Remote ID in Agent Settings > Agent Setup matches the ElevenLabs agent ID
- A call appears in Call Logs with its transcript
- For simulation: a run ends with a status other than Unreported
Troubleshooting
The key won't connect
The key won't connect
Tuner shows ElevenLabs’ reason when it rejects the key. If the key is missing a permission, enable it in ElevenLabs or create a new key, and try again. See Step 1.
Adding the agent fails with a webhook error
Adding the agent fails with a webhook error
ElevenLabs refused to create or attach Tuner’s webhook. Check that your key has the
webhooks_write permission.Calls stopped arriving after I changed the API key
Calls stopped arriving after I changed the API key
Open each agent in Tuner and save it again. Tuner then creates a webhook in the new workspace and attaches it. This happens when the new key belongs to a different ElevenLabs workspace: agents connected with the old key still point at the old webhook, and Tuner rejects their deliveries.
Calls don't appear in Tuner
Calls don't appear in Tuner
Check that the agent’s Agent Remote ID in Agent Settings > Agent Setup matches the ElevenLabs agent ID, and that the agent’s post-call webhook in ElevenLabs is still the
Tuner webhook.Next steps
Run a simulation
Run Scenarios against your ElevenLabs agent once simulation is set up.
Webhooks
See the events Tuner sends to your own URL.