---
title: "Sync an engagement"
method: PUT
path: "/v1/integrations/sync/engagements"
---

# Sync an engagement

`PUT /v1/integrations/sync/engagements`

Sync an engagement

## Request body

- object
  - `externalId` string, required — The ID of the engagement in the external system
  - `direction` 'INBOUND' | 'OUTBOUND', nullable — The direction of the engagement (INBOUND/OUTBOUND)
  - `content` string, nullable — The content of the engagement
  - `subject` string, nullable — The subject of the engagement
  - `startTime` string, nullable — start dateTime of the engagement in UTC.
  - `startTimeLocalized` string, nullable — Localized dateTime of the engagement, without timezone info. When present, the frontend will display this as-is without timezone conversion, overriding startTime for display purposes.
  - `endTime` string, nullable — end dateTime of the engagement
  - `remoteCreatedAt` string, nullable — external engagement creation datetime
  - `remoteUpdatedAt` string, nullable — external engagement update datetime
  - `deletedAt` string, date-time, nullable — The datetime when this record was deleted in the external system
  - `engagementTypeId` string, nullable — Internal SIRO engagementTypeId override for this engagement. OPTIONAL -- only use if you know the internal value of the engagement type as it will override the engagementType object args.
  - `engagementType` object, nullable — The type of this engagement
    - `externalId` string — The ID of the engagement type in the external system (if applicable)
    - `name` string, required — The name of the engagementType
    - `activityType` 'MEETING' | 'CALL' | 'APPOINTMENT' | 'EMAIL' | 'TEXT' | 'EVENT' | 'SIRO_EVENT' | 'SIRO_BOT_RECORDING', required — Type of activity. Note: SIRO will only consider certain types as "Appointments" for our appointment flows: [MEETING, EVENT, APPOINTMENT]
  - `account` object, nullable — The associated account for this engagement. Note: supplying just an externalId will resolve to an already-synced account
    - `externalId` string — The ID of the account in the external system.
    - `name` string — The name of the account
    - `latitude` number — The latitude of the account
    - `longitude` number — The longitude of the account
    - `addresses` object[] — The address(es) associated to the account
      - `country` string, required
      - `street` string, required
      - `city` string, required
      - `state` string, required
      - `zip` string, required
    - `phoneNumbers` string[] — The phone number(s) for the account
    - `emailAddresses` string[] — The email address(es) for the account
    - `lastActivityAt` string — The datetime of the last activity on this record in the external system
    - `deletedAt` string, date-time, nullable — The datetime when this record was deleted in the external system
    - `owner` object, nullable — The owner user of this record in the external system (optional)
      - `externalId` string, required
    - `mergedToExternalId` string — If this Account was merged into another, the surviving Account externalId. Will migrate all existing references from this Account to the surviving Account.
    - `mergedFromExternalIds` string[] — If other Accounts were merged into this one, their externalIds. Will migrate all existing references from those Accounts to this Account.
  - `engagementUsers` object[] — The users associated with this engagement
    - `externalId` string, required — The user's externalId in the external system
    - `email` string — The user's email, preferably their email in Siro
    - `shareOfSale` number — The user's fractional share of the sale, e.g. 0.5 for 50% or 1 for 100% (Optional)
    - `name` string — The name of the user, e.g. John Smith
    - `deletedAt` string, date-time, nullable — The datetime when this record was deleted in the external system (Optional)
  - `opportunity` object, nullable — The associated opportunity for this engagement. Note: supplying just an externalId will resolve to an already-synced opportunity
    - `externalId` string, required — The ID of the opportunity in the external system
    - `name` string — The name of the opportunity
    - `amount` number — The dollar amount of the opportunity
    - `closedAt` string — The closure date of the opportunity
    - `remoteCreatedAt` string — The datetime the opportunity was created in the external system
    - `lastActivityAt` string — The datetime of the last activity on this opportunity
    - `disposition` 'OPEN' | 'LOST' | 'WON' — The disposition of the opportunity (WON, LOST, or OPEN)
    - `copyEngagementRelationships` boolean — When true, copies the available engagement relationships (contact, account, users)
  - `lead` object, nullable — The associated lead for this engagement
    - `externalId` string, required — The ID of the lead in the external system
    - `firstName` string — The first name of the lead
    - `lastName` string — The last name of the lead
    - `latitude` number — The latitude of the lead
    - `longitude` number — The longitude of the lead
    - `addresses` object[] — The address(es) associated with this lead
      - `country` string, required
      - `street` string, required
      - `city` string, required
      - `state` string, required
      - `zip` string, required
    - `phoneNumbers` string[] — The phone number(s) associated with this lead
    - `emailAddresses` string[] — The email address(es) associated with this lead
    - `lastActivityAt` string — The datetime of the last activity on this record in the external system
    - `deletedAt` string, date-time, nullable — The datetime when this record was deleted in the external system
    - `owner` object, nullable — The owner of this record in the external system (optional)
      - `externalId` string, required
    - `mergedToExternalId` string — If this Lead was merged into another, the surviving Lead externalId. Will migrate all existing references from this Lead to the surviving Lead.
    - `mergedFromExternalIds` string[] — If other Leads were merged into this one, their externalIds. Will migrate all existing references from those Leads to this Lead.
  - `contact` object, nullable — The associated contact for this engagement. Note: supplying just an externalId will resolve to an already-synced contact
    - `externalId` string, required — The ID of the contact in the external system
    - `name` string — The name of the contact
    - `latitude` number — The latitude of the contact
    - `longitude` number — The longitude of the contact
    - `account` object, nullable — The associated account for this contact. Note: supplying just an externalId will resolve to an already-synced account
      - `externalId` string — The ID of the account in the external system.
      - `name` string — The name of the account
      - `latitude` number — The latitude of the account
      - `longitude` number — The longitude of the account
      - `addresses` object[] — The address(es) associated to the account
        - `country` string, required
        - `street` string, required
        - `city` string, required
        - `state` string, required
        - `zip` string, required
      - `phoneNumbers` string[] — The phone number(s) for the account
      - `emailAddresses` string[] — The email address(es) for the account
      - `lastActivityAt` string — The datetime of the last activity on this record in the external system
      - `deletedAt` string, date-time, nullable — The datetime when this record was deleted in the external system
      - `owner` object, nullable — The owner user of this record in the external system (optional)
        - `externalId` string, required
      - `mergedToExternalId` string — If this Account was merged into another, the surviving Account externalId. Will migrate all existing references from this Account to the surviving Account.
      - `mergedFromExternalIds` string[] — If other Accounts were merged into this one, their externalIds. Will migrate all existing references from those Accounts to this Account.
    - `addresses` object[] — The address(es) associated with this contact
      - `country` string, required
      - `street` string, required
      - `city` string, required
      - `state` string, required
      - `zip` string, required
    - `phoneNumbers` string[] — The phone number(s) associated with this contact
    - `emailAddresses` string[] — The email address(es) associated with this contact
    - `lastActivityAt` string — The datetime of the last activity on this record in the external system
    - `deletedAt` string, date-time, nullable — The datetime when this record was deleted in the external system
    - `owner` object, nullable — The owner of this record in the external system (optional)
      - `externalId` string, required
    - `mergedToExternalId` string — If this Contact was merged into another, the surviving Contact externalId. Will migrate all existing references from this Contact to the surviving Contact.
    - `mergedFromExternalIds` string[] — If other Contacts were merged into this one, their externalIds. Will migrate all existing references from those Contacts to this Contact.

## Response `200`

Sync an engagement

- object
  - `data` object, required
    - `id` string, required
    - `externalId` string, required — The ID of the engagement in the external system (e.g. Salesforce)
    - `engagementType` string, required — The type of the engagement
    - `direction` string — "INBOUND" | "OUTBOUND"
    - `subject` string — The subject of the engagement
    - `content` string — The content of the engagement
    - `startTime` string — The start time of the engagement
    - `startTimeLocalized` string — Localized dateTime of the engagement, without timezone info
    - `endTime` string — The end time of the engagement
    - `createdAt` string, required — The date the engagement was created
    - `updatedAt` string, required — The date the engagement was last updated
    - `recordingId` string — The ID of the recording associated to the engagement
    - `opportunityId` string — The ID of the opportunity associated to the engagement
    - `accountId` string
    - `organizationId` string, required
    - `account` unknown
    - `engagementUsers` unknown[]
      - unknown

---

[API](https://skmtc.dev/siro/apis/swagger-api.md) · [All operations](https://skmtc.dev/siro/apis/swagger-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/siro/swagger-api/revisions/9995339a94c6/schema)
