Aug 30, 2026

How to connect Vapi to Currai using Currai Connectors

A step-by-step guide to importing completed Vapi calls into Currai with an authenticated webhook—without adding capture code or sharing a Vapi private API key.

FEATURES8 min readThe Currai team / Engineering

Vapi can run the live voice conversation. Currai can turn the completed call into product and quality signals your team can use.

The Currai Vapi connector links the two with an authenticated webhook. Once it is configured, Vapi sends an end-of-call-report after each completed call. Currai reconstructs the conversation, creates a session and conversation-turn events, and runs the same User Story, intent, violation, alert, and analytics pipeline used for native Currai captures.

You do not need to install a Currai SDK, modify the live call path, or give Currai a Vapi private API key.

What is Currai?

Currai is a user-intelligence and agent-quality platform for AI applications. It helps product and engineering teams understand what users are trying to accomplish, where agents fail, which policies are violated, and what evidence sits behind every signal.

For a voice call, Currai can show:

  • the complete user and assistant conversation;
  • the User Story behind the call;
  • detected intents and recurring demand;
  • violation matches and the evidence that triggered them;
  • unsuccessful turns, errors, alerts, and quality trends.

Currai does not replace your voice provider. It adds a quality and product intelligence layer around the conversations the provider already handles.

What is Vapi?

Vapi is a platform for building and operating voice AI assistants. It coordinates the components needed for a live voice call and can deliver a final call report to a configured Server URL.

That final end-of-call-report can contain the call details, transcript, and message history Currai needs for post-call analysis. Vapi remains responsible for the live conversation; Currai receives the completed result afterward.

How the Vapi connector works

The connector has a simple flow:

  1. Currai generates a unique webhook URL and a one-time Bearer secret.
  2. You save that secret as a custom credential in Vapi.
  3. You add the Currai URL and credential to a Vapi assistant's Webhook Server settings.
  4. Vapi posts an authenticated end-of-call-report when a call finishes.
  5. Currai imports the call once, even if Vapi retries the webhook.

Currai creates one call-boundary event for the completed call and one event for each normalized conversation turn. These events use the workspace's normal event allowance, so connector traffic follows the same plan limits as native captures.

Currai Connectors page showing the Vapi and Retell AI integrations, connector status information, usage notes, and setup actions

Before you start

You need:

  • a Currai workspace where you are an owner or admin;
  • a Vapi assistant that can complete a test call;
  • permission to edit the assistant's Server URL and credentials.

The connector imports calls completed after setup. It does not backfill older Vapi calls.

Step 1: Create the Vapi connection in Currai

In Currai, open Settings → Connectors. Find the Vapi card and select Connect Vapi.

Currai generates:

  • a webhook endpoint beginning with https://www.currai.app/api/connectors/v1/vapi/;
  • a one-time Bearer secret.

Use the copy controls for both values. Save the secret before closing the dialog: Currai stores only its hash and cannot display the original value again.

If you lose the secret later, select Rotate secret. Rotation invalidates the previous value immediately, so you must also replace the Vapi credential before the next call ends.

Step 2: Create a Bearer Token credential in Vapi

In Vapi, open Integrations → Server Configuration and create a custom credential.

Configure it as follows:

  1. Choose Bearer Token as the authentication type.
  2. Give the credential a recognizable name such as Currai.
  3. Paste the one-time Currai secret into Token.
  4. Keep Authorization as the header name.
  5. Enable Include Bearer Prefix.
  6. Save the credential.

Paste only the secret value. Do not type Bearer before it; Vapi adds that prefix to the request automatically.

The value is the secret generated by Currai. It is not a Vapi public key or private API key.

Vapi Server Configuration dialog showing a custom Bearer Token credential with Authorization as the header and Include Bearer Prefix enabled

Step 3: Add the Currai webhook to the Vapi assistant

Open the Vapi assistant you want to connect, then go to Advanced → Webhook Server.

  1. Paste the complete Currai endpoint into Server URL.
  2. Select the Currai Bearer Token credential under Authorization.
  3. In serverMessages, select only end-of-call-report where event selection is available.
  4. Save the configuration and publish the assistant.

Do not shorten the endpoint or replace its final connection ID. Each Currai workspace connection has its own URL.

Vapi assistant Advanced tab showing the Webhook Server section where the Currai endpoint, authorization credential, and server-message settings are configured

Step 4: Complete a real test call

Start a call with the published Vapi assistant, exchange at least one user and assistant turn, and end the call normally.

Return to Currai → Settings → Connectors. The Vapi card should move from Waiting for first call to Receiving data after Currai authenticates and imports the report.

The Vapi webhook test can confirm that an endpoint is reachable, but a real completed call is the best acceptance test because it includes the message history needed to validate the complete Currai pipeline.

Step 5: Verify the imported conversation

After the call is imported, check:

  • Analyse → User Stories for the readable conversation and derived need;
  • Observe → Events for the call-boundary event and conversation turns;
  • Analyse → Intents for matched user demand;
  • Analyse → Violations for rule matches and supporting evidence;
  • Alerts and analytics for any signals produced by the normal capture pipeline.

Currai coalesces consecutive messages from the same role and preserves the normalized conversation on the call boundary. An unanswered final user turn is marked unsuccessful. A repeated Vapi delivery does not create another session or consume duplicate event credits.

If Vapi already sends webhooks to your server

Vapi sends an event to one applicable Server URL according to its URL-priority rules. Replacing an existing assistant, phone-number, or account Server URL can interrupt another integration.

If your server already receives end-of-call-report, keep that URL and forward the final report to Currai with the Currai Bearer authorization. Currai is a post-call analytics destination, not a live relay for tool calls, assistant requests, transfers, or call control.

Local development with ngrok

Vapi cannot deliver a webhook to localhost. To test a local Currai instance, expose it through an HTTPS tunnel such as ngrok and use the complete generated development endpoint.

For the deployed connector, switch back to the generated https://www.currai.app endpoint. Temporary ngrok addresses should not be used for production delivery.

Usage and privacy

Each imported call consumes one Currai event for the call boundary plus one event per normalized conversation turn. If the workspace reaches its event limit, the connector reports event_limit_exceeded instead of importing unlimited calls.

Currai does not log or expose the Bearer secret, full transcripts, raw caller phone numbers, or recording URLs. The connector stores a pseudonymous user ID instead of the raw phone number, and previously imported Currai data remains available if the connection is disabled.

Troubleshooting

Currai still says “Waiting for first call”

Confirm that the assistant was published after the webhook change, complete a real call, and verify that end-of-call-report is enabled in serverMessages.

Vapi receives 401 Unauthorized

Make sure the assistant uses the credential containing the current Currai secret. If the secret was rotated, the old credential stops working immediately.

The call appears but the conversation is empty

Confirm that Vapi's final report includes textual entries in artifact.messages. A plain transcript field alone may not provide the structured user and assistant turns expected by the connector.

Currai shows a delivery error

Open the connector card and read the safe error message. Currai retries transient processing failures automatically. An event_limit_exceeded error means the workspace needs additional event capacity before another call can be imported.

What to do next

Once the first call appears, configure the Currai signals that matter to your team:

  • create intents for the user requests you want to measure;
  • create violation rules for behavior the agent must avoid;
  • review User Stories to find recurring needs and friction;
  • configure alerts for important failures or policy breaches.

For the shorter product reference, see the Vapi connector setup guide and Connectors overview. For provider behavior, see Vapi's official server events, server authentication, and Server URL priority documentation.

03

Keep going with nearby topics from the Currai blog.