Integration guide
Get started
Connect your application, then check your first AI call and model changes in ABTO.
Start by connecting one AI call to ABTO. Once its response, cost, and response time appear in the dashboard, the connection is working. You can then change models and prompts, and connect user actions such as purchases, page views, and clicks.
1. Choose how to connect
Section titled “1. Choose how to connect”| Method | Where to start |
|---|---|
| Ask Codex or Claude Code | Install the Agent Skill, then use the prompt below |
| Connect it yourself | Choose your current setup below |
After installing the skill, ask your agent:
Use the ABTO skill to connect one AI call in this project.Read the current official docs and check the installed SDK version. Keep the existing call flow and tracing setup.First show me the call site you plan to connect, then verify that the first request is recorded in ABTO after integration.Clearly identify any steps you could not verify because keys or permissions are missing.For manual integration, choose the guide that matches how you call AI today.
| Current setup | Guide |
|---|---|
| OpenAI SDK in Node.js | Node.js JavaScript |
| LangChain ChatOpenAI in Node.js | Connect LangChain |
| CommonJS in Node.js | Use CommonJS |
| OpenAI SDK in Python | Python |
| Direct HTTP requests | Gateway Chat Completions |
Server integration currently supports OpenAI Chat Completions requests. If you use streaming or the Responses API, check the supported request types first.
2. Prepare your keys and send a request
Section titled “2. Prepare your keys and send a request”Create a project in the dashboard and generate a Calling Key. Set the Calling Key and your LLM provider’s API key, such as an OpenAI key, in server environment variables. Follow the installation and request example in your chosen guide.
featureId names the AI feature making the call.
The first-request example uses review.summary.
When connecting your application, use a name that identifies the feature.
The two kinds of keys
Section titled “The two kinds of keys”| Key | Where it belongs | When you need it |
|---|---|---|
Calling Key (ck-abto-…) | Servers, workers, and background jobs | Connecting AI calls |
Event Key (ek-abto-…) | Browsers and mobile apps | Connecting user actions |
Never put Calling Keys or LLM provider API keys in browser code or a Git repository. An Event Key cannot authenticate AI calls.
3. Check your first request
Section titled “3. Check your first request”In the dashboard’s Requests screen, find the feature name used in your example. Open the request to check its response, executed model, cost, and response time. The connection is working when your app receives a response and the same call appears in Requests.
| What is missing | What to check first |
|---|---|
| The call fails in your app | Calling Key and LLM provider API key in server environment variables, and the returned error message |
| Your app receives a response, but no request appears | Dashboard project, date range, feature name, and whether direct fallback ran |
| A different model ran | Saved routing settings for that feature |
Calls sent directly to the provider through fallback do not appear in ABTO’s request list. If you still cannot find the request, see Troubleshooting.
4. Try a different model or prompt
Section titled “4. Try a different model or prompt”Once connected, try changing either the model or the prompt for a test feature.
- In Testing, select the feature from your first call and try a different model or prompt.
- Check the result and save it as an Agent Config.
- In Routing, create a new variant, pick the saved Agent Config for the node, then set and save its traffic allocation. For a test feature, allocating 100% to the new variant makes the change easy to verify.
- Call the same feature from your app again, then check the executed model and response in Requests.
If you choose a model from another provider, you must also configure that provider’s API key on your server. For a feature already serving users, follow the gradual rollout guidance.
5. Connect user actions
Section titled “5. Connect user actions”Add a client SDK to see whether AI responses lead to purchases or sign-ups.
| Client | Guide |
|---|---|
| Web browser | Browser JavaScript |
| Android app | Android |
| iOS app | iOS |
| Flutter app | Flutter |
Pass the client SDK’s device_id to your server’s AI calls to connect calls and actions from the same device.
For AI calls in background jobs, save and pass this value with the job data.
Do not replace it with a login user ID or generate a new device ID on the server.
Register and send the actions you want to measure using Event design. Then define your criteria in Success metrics and check each variant’s results in Compare. You need real user action data before assessing outcomes.