Create or replace CRM link on a recording
Links the recording to a CRM Account, Contact, Lead, Opportunity, or Engagement (server clears prior links as needed).
id: Siro’s internal recording id (from recording list/detail APIs). It is not a CRM external id.
Request body — pick one way to point at the CRM row
- Siro internal id: set
idto the integrations DB id of the Account, Contact, Lead, Opportunity, or Engagement (the synced CRM row’s primary key in Siro—not a Siro User id). Do not sendexternalIdorintegrationConnectionId. - CRM-native id: set
externalIdto the id in the source CRM andintegrationConnectionIdto the Siro integration connection for that tenant. Do not sendid.
dataType (ACCOUNT, CONTACT, LEAD, OPPORTUNITY, or ENGAGEMENT). trigger is optional; allowed values appear in the request schema below.
Validation (typical 422) The API rejects the body if you send both id and externalId, neither, or externalId without a non-empty integrationConnectionId.
Examples
Authorizations
OAuth access token for user-scoped requests (Authorization Code or machine-to-machine). Send header x-siro-auth-token: <oauth-access-token>. Not an organization API key.
Path Parameters
Siro internal id of the recording (the recording id returned by recording APIs). Not a CRM external id.
Body
The path parameter identifies the recording. In the JSON body, identify the CRM entity using either (1) id — Siro's internal database id for that Account, Contact, Lead, Opportunity, or Engagement, or (2) externalId with integrationConnectionId — the CRM-native id plus the Siro integration connection that owns it. Send exactly one of id or externalId (not both, not neither).
Which CRM object type you are linking (must match the entity identified by id or externalId).
ACCOUNT, LEAD, OPPORTUNITY, ENGAGEMENT, CONTACT Siro internal id of the CRM entity row. Omit when using externalId.
CRM-native external id for the entity. Requires integrationConnectionId. Omit when using id.
Siro integration connection id (same resource as integration connection list/detail APIs). Required when externalId is set.
Recording Link trigger
FUZZY_MATCH_RECORDINGS_FOR_ENGAGEMENT, FUZZY_MATCH_ENGAGEMENTS_FOR_RECORDING, FUZZY_MATCH_RECORDINGS_FOR_OPPORTUNITY, FUZZY_MATCH_OPPORTUNITIES_FOR_RECORDING, OPPORTUNITY_DEEPLINK_ADMIN, OPPORTUNITY_DEEPLINK, CRM_DEEPLINK, AUDIO_UPLOAD_DEEPLINK, CONTACT_MATCH_AUDIO_UPLOAD, USER_LINK_WEB, USER_LINK_MOBILE, USER_LINK_POST_RECORDING, USER_UNLINK, USER_APPOINTMENT_LIST, CALENDAR_MATCH, RECORDING_HARD_DELETED