Skip to main content

When to Use Custom Integration

Use Custom Integration If...

  • You built your own voice AI platform
  • You’re using a provider not yet supported by Tuner
  • You need full control over when and how data is sent

Use Native Integration If...

  • You’re using Retell, Vapi, or another supported provider
  • You want automatic webhook configuration
  • You prefer a no-code setup

What You’ll Need

Before you begin, make sure you have:
1

A Tuner Account

Sign up at tuner.ai if you haven’t already.
2

An Agent Created in Tuner

Create an agent in Tuner to get an Agent ID. You’ll use this ID when sending call data.
3

An API Key

Generate an API key from Settings > Agent Setup in your Tuner dashboard.

Integration Overview

The integration process is straightforward:
  1. After each call ends in your voice AI platform, collect the transcript and metadata.
  2. Send the call data to Tuner using the Send Call Data API.
  3. Tuner processes the call and runs it through your configured evaluations.
  4. View results in your Tuner dashboard.

Sending Call Data

Use the Send Call Data API to send call transcripts and metadata to Tuner. The API accepts JSON payloads with the call transcript, timestamps, and optional metadata.

Send Call Data API Reference

View the complete API documentation with request/response examples, authentication details, and all available parameters.

Quick Example

Here’s a minimal example to get you started:
curl --request POST \
  --url https://api.tuner.ai/v1/calls \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "agentId": "YOUR_AGENT_ID",
    "callId": "call_12345",
    "transcript": [
      { "role": "agent", "content": "Hello, how can I help you today?" },
      { "role": "user", "content": "I need to schedule an appointment." }
    ]
  }'

Best Practices

Send call data to Tuner as soon as each call ends. This keeps your dashboard up-to-date and enables real-time alerting.
Always send the full conversation transcript. Partial transcripts may result in incomplete evaluations.
Use your platform’s unique call identifier as the callId. This makes it easy to correlate calls between systems.
Implement retry logic with exponential backoff. If a request fails, store the call data locally and retry later.
Check the Tuner dashboard regularly to ensure calls are being received and processed correctly.

Troubleshooting

Verify that the agentId matches an agent you’ve created in Tuner. Check that your API key is valid and has the correct permissions.
Make sure you’re including the API key in the Authorization header as a Bearer token: Authorization: Bearer YOUR_API_KEY
Check that your request body includes all required fields (agentId, callId, transcript) and that the JSON is valid.

Next Steps

Once your integration is working, explore these resources to get the most out of Tuner:
Using a Supported Provider? If you’re using Retell.ai Check out our native integration guides for a simpler setup experience.

Connecting to Retell

Connect your Retell agent to Tuner with automatic webhook configuration.