Skip to main content
Once an AI-powered call finishes, Scalysis stores the full outcome — including a structured transcript, call result, duration, and cost — and makes it available through the orders outcome endpoint. You can use this data to automate downstream workflows, populate your CRM, flag orders that need human follow-up, or simply audit what was said on every call.

When to fetch

The outcome endpoint is only meaningful after the call ends. If you query it while the call is still active, the response will reflect an in_progress status with no transcript yet. Wait until the call has had time to complete — typically 30 seconds to a few minutes — and then fetch. If you get an in_progress response, wait 10–30 seconds and retry.
1

Get the order_id

The order_id is returned in the response body every time you trigger a call. It looks like this:
Make sure you persist the order_id in your system at the time of triggering. It is the only way to look up a specific call’s outcome after the fact.
For calls placed through a campaign, each contact’s order_id is accessible via the campaign reporting views in your dashboard, or through future campaign contacts API endpoints.
2

Send the GET request

Replace 1368642 in the path with your actual order_id, and swap in your real API key:
No request body is needed — this is a plain authenticated GET request.
3

Read the response

A completed call returns a response like this:
Field reference:
Recording audio URLs are not included in the outcome response. The full conversation is represented through the structured transcript array and the summary field.

Understanding the transcript array

Each item in transcript represents a single utterance and has three fields:
The callOutcome field is ideal for driving automated downstream logic. For example, you can route "confirmed" orders straight to your fulfillment pipeline, flag "cancelled" orders for a refund flow, and send "callback_requested" outcomes to your human agent queue — all without any manual review.
4

Handle in-progress calls

If the call hasn’t finished yet, the response will look like this:
When you see "callStatus": "in_progress" (or an empty transcript), do not treat this as a final result. Instead:
  1. Wait 10–30 seconds.
  2. Retry the same GET request.
  3. Repeat until callStatus changes to a terminal state (e.g. completed, no_answer, failed).
Avoid polling more frequently than once every 10 seconds. Excessive polling can trigger rate limits on your API key.