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.
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:
- Currai generates a unique webhook URL and a one-time Bearer secret.
- You save that secret as a custom credential in Vapi.
- You add the Currai URL and credential to a Vapi assistant's Webhook Server settings.
- Vapi posts an authenticated
end-of-call-reportwhen a call finishes. - 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.

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:
- Choose Bearer Token as the authentication type.
- Give the credential a recognizable name such as
Currai. - Paste the one-time Currai secret into Token.
- Keep Authorization as the header name.
- Enable Include Bearer Prefix.
- 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.

Step 3: Add the Currai webhook to the Vapi assistant
Open the Vapi assistant you want to connect, then go to Advanced → Webhook Server.
- Paste the complete Currai endpoint into Server URL.
- Select the
CurraiBearer Token credential under Authorization. - In
serverMessages, select onlyend-of-call-reportwhere event selection is available. - 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.

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.
