Get recordings
Get recordings
Enriching the response
The org-scoped recordings endpoints can optionally hydrate three extra blocks of data, each behind an opt-in query flag:| Flag | Adds | Use it to |
|---|---|---|
showCrmLinks | crm — external IDs for the CRM records linked to the recording | Map a recording back to the appointment / account / contact in your CRM |
showSummary | summary — the recording’s AI summary sections | Pull conversation summaries into your pipeline (e.g. post-call personalization) |
showEntityExtractions | entityExtractions — extracted values and their CRM field mappings | Write extracted fields back to your CRM |
=true to enable.
crm — CRM link IDs
When showCrmLinks=true, crm contains the external IDs of the CRM records the recording is linked to. Every linked object is returned as a pair:
id— Siro’s internal ID for the objectexternalId— that object’s ID in your CRM (use this to join)
| Field | Shape | CRM object |
|---|---|---|
integrationConnectionId | string | The Siro integration connection the links came from |
users | array of {id, externalId} | CRM user(s) who own the recording (the rep) |
engagement | {id, externalId} | The CRM engagement / appointment |
opportunity | {id, externalId} | The opportunity |
contacts | array of {id, externalId} | Contact(s) |
account | {id, externalId} | Account |
lead | {id, externalId} | Lead |
integrations.recordingProcessed webhook, so pull-based polling and push-based webhooks give you identical CRM references.
crm is null when the recording has no confirmed CRM link yet. Because links can be established after a recording is created, poll the list endpoint with the updatedAt filters to pick up recordings as they become linked.summary
When showSummary=true, summary is the recording’s AI summary as an ordered array of sections:
| Field | Description |
|---|---|
id | Summary section ID |
name | Section title (the prompt header) |
content | Generated summary text |
[] if the recording has no summary yet.
entityExtractions
When showEntityExtractions=true, entityExtractions is a flat list of the values extracted from the conversation, including the CRM field each maps to:
| Field | Description |
|---|---|
name | The extracted field name |
value | The extracted value |
mappings | CRM target(s): [{ crmModelName, crmFieldName }] — which object and field to write value to |
[] if there are none. Use mappings to write each value to the corresponding field on the CRM record from the crm block.
Example
Putting it together
A typical pipeline poll:- Call
GET /v1/core/recordings?updatedAt:gte=<last_poll>&showCrmLinks=trueto fetch recordings linked since your last poll, with their CRM IDs. - Join each recording to your CRM using
crm.engagement.externalId(appointment) /crm.account.externalId/ etc. - For recordings you want to enrich, request
showSummary/showEntityExtractions(on this list call or the single-recording endpoint) and writeentityExtractionsvalues back using theirmappings.
Authorizations
Organization integration token from Siro admin (Person icon → API Tokens). Send Authorization: Bearer . This is not the OAuth access token used with api.siro.ai user-scoped endpoints.
Query Parameters
Return results created strictly after the given date (exclusive). Format: ISO 8601 timestamp (YYYY-MM-DDTHH:mm:ss.sssZ). Example: 2024-06-13T04:00:00.592Z
Return results created strictly before the given date (exclusive). Format: ISO 8601 timestamp (YYYY-MM-DDTHH:mm:ss.sssZ). Example: 2024-06-13T04:00:00.592Z
Return results updated at or after the given date (inclusive). Use this for incremental polling. Format: ISO 8601 timestamp (YYYY-MM-DDTHH:mm:ss.sssZ). Example: 2024-06-13T04:00:00.592Z
Return results updated strictly after the given date (exclusive). Format: ISO 8601 timestamp (YYYY-MM-DDTHH:mm:ss.sssZ). Example: 2024-06-13T04:00:00.592Z
Return results updated strictly before the given date (exclusive). Format: ISO 8601 timestamp (YYYY-MM-DDTHH:mm:ss.sssZ). Example: 2024-06-13T04:00:00.592Z
Return results updated at or before the given date (inclusive). Format: ISO 8601 timestamp (YYYY-MM-DDTHH:mm:ss.sssZ). Example: 2024-06-13T04:00:00.592Z
Number of results to return per page (default is 25).
Cursor for pagination.
Filter by processing status.
true, false Filter by entity extraction status.
true, false Filter by summary status.
true, false