דלג לתוכן הראשי
Reference indexShow

API reference

Calls

A call is a recording Saleso transcribed and analyzed. Send a recording with Send Call Recording; when the analysis is done, the call_analyzed webhook event fires.

Call types are stored as Hebrew labels: שיחה יוצאת (outgoing) and שיחה נכנסת (incoming). Recording links (file_url) are signed and stay valid for 7 days.

Send Call Recording

POST/api/make/create-call/{teamId}

Sends a call recording to Saleso to be processed and analyzed as a new call.

Used by:
Make: Create Call · Zapier: Send Call Recording

Parameters

  • teamIdstringrequired

    Your Team ID.

  • recording_urlstring· Bodyrequired

    Required. A public https link to the audio file that Saleso can download.

  • agent_identifierstring· Bodyrequired

    The rep who handled the call. Pick them from the list. You can also map an identifier (phone or extension) you set up in Saleso.

  • customer_phonestring· Body

    Optional. Links the call to the customer with this phone, or creates one.

  • customer_namestring· Body

    Optional. Used as the customer’s name when one is created, and as the call’s client name.

  • call_typestring· Body

    inbound or outbound (outgoing is also accepted). Default inbound.

    One of: inbound, outbound

    Default: inbound

  • call_datestring (ISO 8601 date-time)· Body

    Optional. Defaults to the time the recording is sent.

Response

2 response fieldsShow
  • successboolean

    Success

  • call_idstring

    Call ID

  • The response returns as soon as the call is queued. Transcription and analysis run in the background; subscribe to call_analyzed to get the result.
  • Calls shorter than your team’s minimum call duration are not analyzed.

Errors

  • 400Missing required fields (with a required list), Invalid recording URL: …, invalid JSON, or Agent identifier not found in mappings (with the agent_identifier you sent).
  • 401The API key is missing, wrong, or belongs to another team (Invalid API key).
  • 429The team is over its per-minute budget for this endpoint. Wait for the Retry-After seconds (60).
  • 500Unexpected server error. The error field carries the message.
Request
curl -X POST "https://try.saleso.io/api/make/create-call/$SALESO_TEAM_ID" \
  -H "x-api-key: $SALESO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "recording_url": "https://example.com/recordings/call-48213.mp3",
  "agent_identifier": "0501112233",
  "customer_phone": "0501234567",
  "customer_name": "Dana Levi",
  "call_type": "inbound",
  "call_date": "2026-10-22T09:30:00.000Z"
}'
Response · 200
{
  "success": true,
  "call_id": "b263551b-19d2-42d6-b4dc-ca56ec59b769"
}

Get Calls by ID

GET/api/make/calls/{teamId}

Gets one or more calls from Saleso by call ID.

Used by:
Make: Get Calls · Zapier: Get Calls by ID

Parameters

  • teamIdstringrequired

    Your Team ID.

  • call_idstring· Queryrequired

    One call ID, or up to 50 IDs separated by commas.

Response

16 response fieldsShow
  • calls[].idstring

    Call ID

  • calls[].file_namestring

    File Name

  • calls[].file_urlstring

    Signed recording link, valid for 7 days.

  • calls[].duration_secondsinteger

    Duration (seconds)

  • calls[].call_datedatetime

    Call Date

  • calls[].call_typestring

    Call Type

  • calls[].analysis_statusstring

    pending, processing, completed or failed.

  • calls[].client_namestring

    Client Name

  • calls[].assigned_to_namestring

    Assigned To

  • calls[].customer_idstring

    Customer ID

  • calls[].transcriptstring

    The transcript as plain text, one speaker: text line per segment.

  • calls[].created_atdatetime

    Created At

  • calls[].analysis_resultsobject

    The full AI analysis as configured for your team, or null before the analysis finishes.

  • calls[].client_notesstring

    Notes on the call, or null.

  • calls[].assigned_tostring

    User ID of the rep.

  • calls[].updated_atdatetime

    Last update.

Errors

  • 400call_id parameter is required or Maximum 50 call IDs per request.
  • 404No calls found (none of the IDs belong to your team).
  • 401The API key is missing, wrong, or belongs to another team (Invalid API key).
  • 500Unexpected server error. The error field carries the message.
Request
curl -X GET "https://try.saleso.io/api/make/calls/$SALESO_TEAM_ID?call_id=b263551b-19d2-42d6-b4dc-ca56ec59b769" \
  -H "x-api-key: $SALESO_API_KEY"
Response · 200
{
  "calls": [
    {
      "id": "b263551b-19d2-42d6-b4dc-ca56ec59b769",
      "file_name": "make_1761125400000.mp3",
      "file_url": "https://try.saleso.io/api/recordings/b263551b-19d2-42d6-b4dc-ca56ec59b769?t=…",
      "duration_seconds": 184,
      "call_date": "2026-10-22T09:30:00.000Z",
      "call_type": "שיחה יוצאת",
      "analysis_status": "completed",
      "client_name": "Dana Levi",
      "assigned_to_name": "Noa Cohen",
      "customer_id": "8b258f8b-4228-40fa-8d24-5b16428e686d",
      "analysis_results": {},
      "transcript": "Noa: Hi Dana, this is Noa from Levi Logistics.\nDana: Hi, thanks for calling back.",
      "created_at": "2026-10-22T09:30:00.000Z",
      "client_notes": null,
      "assigned_to": "f554b8ba-54c4-43e4-abd9-77c75040fe59",
      "updated_at": "2026-10-22T09:30:00.000Z"
    }
  ]
}

List Calls

GET/api/make/calls/list/{teamId}

Gets calls filtered by date, rep, customer, or analysis status.

Used by:
Make: List Calls · Zapier: List Calls

Parameters

  • teamIdstringrequired

    Your Team ID.

  • date_fromstring (ISO 8601 date-time)· Query

    Optional. Calls on or after this date (ISO 8601).

  • date_tostring (ISO 8601 date-time)· Query

    Optional. Calls on or before this date (ISO 8601).

  • salesperson_idstring· Query

    Optional. The Saleso user ID of the rep.

  • customer_idstring· Query

    Filter by customer UUID.

  • statusstring· Query

    Filter by analysis status.

    One of: completed, processing, pending, failed

  • limitinteger· Query

    Results per page, up to 100. Default 20.

    Default: 20

  • offsetinteger· Query

    How many calls to skip, for paging. Use 0 for the first page.

    Default: 0

Response

13 response fieldsShow
  • calls[].idstring

    Call ID

  • calls[].file_namestring

    File Name

  • calls[].duration_secondsinteger

    Duration (seconds)

  • calls[].call_datedatetime

    Call Date

  • calls[].call_typestring

    Call Type

  • calls[].analysis_statusstring

    Analysis Status

  • calls[].client_namestring

    Client Name

  • calls[].assigned_tostring

    Assigned To ID

  • calls[].assigned_to_namestring

    Assigned To Name

  • calls[].customer_idstring

    Customer ID

  • calls[].created_atdatetime

    Created At

  • totalinteger

    Total matching calls.

  • has_moreboolean

    True when another page exists (offset + limit < total).

  • Sorted by call date, newest first. Merged duplicate calls are excluded.

Errors

  • 401The API key is missing, wrong, or belongs to another team (Invalid API key).
  • 500Unexpected server error. The error field carries the message.
Request
curl -X GET "https://try.saleso.io/api/make/calls/list/$SALESO_TEAM_ID" \
  -H "x-api-key: $SALESO_API_KEY"
Response · 200
{
  "calls": [
    {
      "id": "b263551b-19d2-42d6-b4dc-ca56ec59b769",
      "file_name": "make_1761125400000.mp3",
      "duration_seconds": 184,
      "call_date": "2026-10-22T09:30:00.000Z",
      "call_type": "שיחה יוצאת",
      "analysis_status": "completed",
      "client_name": "Dana Levi",
      "assigned_to": "f554b8ba-54c4-43e4-abd9-77c75040fe59",
      "assigned_to_name": "Noa Cohen",
      "customer_id": "8b258f8b-4228-40fa-8d24-5b16428e686d",
      "created_at": "2026-10-22T09:30:00.000Z"
    }
  ],
  "total": 1,
  "has_more": true
}

Get Calls by Phone Number

GET/api/make/calls/by-phone/{teamId}

Gets all calls with a phone number, each with its analysis (score, summary, and results).

Used by:
Make: Search Calls by Phone · Zapier: Get Calls by Phone Number

Parameters

  • teamIdstringrequired

    Your Team ID.

  • phonestring· Queryrequired

    Full phone number in any format (050-1234567, 0501234567, +972501234567). Partial numbers are not supported.

  • date_fromstring (ISO 8601 date-time)· Query

    Filter calls from this date.

  • date_tostring (ISO 8601 date-time)· Query

    Filter calls until this date.

  • limitinteger· Query

    Results per page, up to 50. Default 20.

    Default: 20

  • offsetinteger· Query

    How many calls to skip, for paging. Use 0 for the first page.

    Default: 0

Response

25 response fieldsShow
  • phonestring

    Normalized Phone

  • customer_idsarray

    Every customer holding this number (duplicates are not merged).

  • calls[].idstring

    Call ID

  • calls[].file_namestring

    File Name

  • calls[].file_urlstring

    Signed recording link, valid for 7 days.

  • calls[].duration_secondsinteger

    Duration (seconds)

  • calls[].call_datedatetime

    Call Date

  • calls[].call_typestring

    Call Type

  • calls[].analysis_statusstring

    Analysis Status

  • calls[].client_namestring

    Client Name

  • calls[].client_notesstring

    Client Notes

  • calls[].assigned_tostring

    Assigned To ID

  • calls[].assigned_to_namestring

    Assigned To Name

  • calls[].customer_idstring

    Customer ID

  • calls[].customer_namestring

    Customer Name

  • calls[].matched_bystring

    customer when the call is linked to a customer with this phone, client_name when an unlinked call carries the number in its name.

  • calls[].total_scorenumber

    Total Score

  • calls[].summarystring

    Summary

  • calls[].transcriptstring

    Transcript

  • calls[].created_atdatetime

    Created At

  • calls[].updated_atdatetime

    Updated At

  • totalinteger

    Total Count

  • has_moreboolean

    Has More

  • calls[].analysis_resultsobject

    Analysis results

  • calls[].analysis_resultsobject

    The full AI analysis, or null.

Errors

  • 400phone must be a full phone number (at least 9 digits, any format).
  • 401The API key is missing, wrong, or belongs to another team (Invalid API key).
  • 500Unexpected server error. The error field carries the message.
Request
curl -X GET "https://try.saleso.io/api/make/calls/by-phone/$SALESO_TEAM_ID?phone=0501234567" \
  -H "x-api-key: $SALESO_API_KEY"
Response · 200
{
  "phone": "0501234567",
  "customer_ids": [
    "8b258f8b-4228-40fa-8d24-5b16428e686d"
  ],
  "calls": [
    {
      "id": "b263551b-19d2-42d6-b4dc-ca56ec59b769",
      "file_name": "make_1761125400000.mp3",
      "file_url": "https://try.saleso.io/api/recordings/b263551b-19d2-42d6-b4dc-ca56ec59b769?t=…",
      "duration_seconds": 184,
      "call_date": "2026-10-22T09:30:00.000Z",
      "call_type": "שיחה יוצאת",
      "analysis_status": "completed",
      "client_name": "Dana Levi",
      "client_notes": "string",
      "assigned_to": "f554b8ba-54c4-43e4-abd9-77c75040fe59",
      "assigned_to_name": "Noa Cohen",
      "customer_id": "8b258f8b-4228-40fa-8d24-5b16428e686d",
      "customer_name": "Dana Levi",
      "matched_by": "customer",
      "total_score": 82,
      "summary": "Dana asked for a quote for three vehicles; follow up on Thursday.",
      "analysis_results": {},
      "transcript": "Noa: Hi Dana, this is Noa from Levi Logistics.\nDana: Hi, thanks for calling back.",
      "created_at": "2026-10-22T09:30:00.000Z",
      "updated_at": "2026-10-22T09:30:00.000Z"
    }
  ],
  "total": 1,
  "has_more": true
}