Events
Triggering Webhook Types
The following event types are associated with the Conversation Item event payload from Spruce.Spruce Conversation Item CreatedSpruce Conversation Item UpdatedSpruce Conversation Item DeletedSpruce Conversation Item Restored
{
"api_url": "https://api.sprucehealth.com/v1/conversation-items/item_12345",
"app_url": "https://app.sprucehealth.com/conversation-items/item_12345",
"attachments": [
{
"data": {
"mime_type": "application/pdf",
"signed_url": {
"expires_at": "2026-04-05T09:40:02Z",
"url": null
}
},
"title": "Lab Results.pdf"
}
],
"author": {
"device_information": {
"access_id": null,
"app_version": "1.2.3",
"device": "iPhone",
"device_id": null,
"device_model": "iPhone 13",
"platform": "iOS"
},
"display_name": "Dr. Smith"
},
"buttons": [
{
"id": null,
"state": "enabled",
"text": "Confirm Appointment"
}
],
"can_delete": null,
"contact": {
"api_url": "https://api.sprucehealth.com/v1/contacts/contact_12345",
"app_url": "https://app.sprucehealth.com/contacts/contact_12345",
"can_delete": null,
"can_edit": null,
"category": "patient",
"company_name": "ACME Healthcare",
"created_at": "2023-11-13T17:42:17Z",
"custom_contact_fields": [
{
"id": "entityCustomField_0E5QDGJC03000",
"name": "Insurance Provider",
"value": "Blue Cross Blue Shield"
}
],
"date_of_birth": "1990-01-15",
"deleted_contact_ids": [
"entity_0E5QDGJC03001"
],
"display_name": "John Doe",
"email_addresses": [
{
"id": "entityContact_26RRC7PQ6JG00",
"label": "primary",
"value": "john.doe@example.com"
}
],
"fax_numbers": [
{
"display_value": "(555) 123-4567",
"id": "entityContact_26RRC7PQ6JG00",
"label": "mobile",
"value": null
}
],
"first_name": "John",
"gender": "male",
"gender_detail": null,
"has_account": null,
"has_pending_invite": null,
"id": "entity_0E5QDGJC03000",
"integration_links": [
{
"contact_id": "entity_0E5QDGJC03000",
"external_id": "ext_12345",
"integration_type": "epic",
"url": "https://hint.com/patient/100031277"
}
],
"internal_member_ids": [],
"last_name": "Doe",
"middle_name": "Smith",
"object": "contact",
"organization_contact_fields": [
{
"id": "managedCustomField_0E5QDGJC03000",
"name": "Patient ID",
"value": "PT12345"
}
],
"phone_numbers": [
{
"display_value": "(555) 123-4567",
"id": "entityContact_26RRC7PQ6JG00",
"label": "mobile",
"value": null
}
],
"pronouns": "he/him",
"tags": [
{
"id": "tag_0E5QDGJC03000",
"value": "high-priority"
}
]
},
"contact_id": "entity_0E5QDGJC03000",
"conversation_id": "conv_12345",
"created_at": "2025-01-15T13:12:41Z",
"event": {
"data": {
"answered": null,
"answered_by": {
"external_number": null,
"line_id": null,
"teammate_id": null
},
"duration": "120",
"failed": null,
"initiated_by": {
"external_number": null,
"line_id": null,
"teammate_id": null
},
"recordings": [
{
"mime_type": "application/pdf",
"signed_url": {
"expires_at": "2026-04-05T09:40:02Z",
"url": null
}
}
],
"spam": null,
"voicemail": {
"mime_type": "application/pdf",
"signed_url": {
"expires_at": "2026-04-05T09:40:02Z",
"url": null
}
}
},
"type": "inboundCall"
},
"external_participant": {
"contact": null,
"display_names": "John Doe",
"endpoint": {
"channel": "sms",
"display_value": "(555) 123-4567",
"endpoint_id": null,
"is_internal": null,
"labels": "mobile",
"object": "endpoint",
"raw_value": {
"email": "patient@example.com",
"phone": "+15551231234",
"value": "secure_channel_id"
}
}
},
"id": "item_12345",
"is_internal_note": null,
"modified_at": "2025-01-15T13:12:41Z",
"object": "conversation-item",
"pages": [
{
"id": null,
"member_id": null,
"resolved": null,
"resolved_at": "2025-10-31T08:22:10Z",
"resolved_by_member_id": null
}
],
"request_id": null,
"text": "Hello, how can I help you today?"
}
{
"api_url": "API URL for this conversation item.",
"app_url": "App URL for this conversation item.",
"attachments": {
"data": {
"mime_type": "MIME type of the attachment.",
"signed_url": {
"expires_at": "Timestamp when the signed URL expires.",
"url": "The signed URL."
}
},
"title": "Title of the attachment."
},
"author": {
"device_information": {
"access_id": "Access ID for the device.",
"app_version": "App version used.",
"device": "Device type.",
"device_id": "Unique device identifier.",
"device_model": "Device model.",
"platform": "Platform (iOS, Android, web, etc.)."
},
"display_name": "Display name of the author."
},
"buttons": {
"id": "Unique identifier for the button.",
"state": "Current state of the button.",
"text": "Text displayed on the button."
},
"can_delete": "Whether this conversation item can be deleted.",
"contact": {
"api_url": "API URL for this contact.",
"app_url": "App URL for this contact.",
"can_delete": "Whether this contact can be deleted.",
"can_edit": "Whether this contact can be edited.",
"category": "Contact category.",
"company_name": "Company name associated with the contact.",
"created_at": "Timestamp when the contact was created.",
"custom_contact_fields": {
"id": "Unique identifier for the custom field.",
"name": "Name of the custom field.",
"value": "Value of the custom field."
},
"date_of_birth": "Date of birth",
"deleted_contact_ids": "Prior contact IDs merged into this Contact (note: they are deleted post-merge)",
"display_name": "Display name for the contact.",
"email_addresses": {
"id": "Unique identifier for the email address.",
"label": "Label for the email address.",
"value": "Email address value."
},
"fax_numbers": {
"display_value": "Formatted display value for the phone number.",
"id": "Unique identifier for the phone number.",
"label": "Label for the phone number.",
"value": "Phone number value."
},
"first_name": "Given name (first name) of the contact.",
"gender": "Gender of the contact.",
"gender_detail": "Additional gender details.",
"has_account": "Whether the contact has a Spruce account.",
"has_pending_invite": "Whether the contact has a pending invitation to Spruce.",
"id": "Unique identifier for the contact in the Spruce system.",
"integration_links": {
"contact_id": "Contact ID in Spruce.",
"external_id": "External system identifier.",
"integration_type": "Type of integration.",
"url": "URL to the external system."
},
"internal_member_ids": "Internal member IDs associated with this contact.",
"last_name": "Family name (last name) of the contact.",
"middle_name": "Middle name of the contact.",
"object": "Object type identifier.",
"organization_contact_fields": {
"id": "Unique identifier for the organization field.",
"name": "Name of the organization field.",
"value": "Value of the organization field."
},
"phone_numbers": {
"display_value": "Formatted display value for the phone number.",
"id": "Unique identifier for the phone number.",
"label": "Label for the phone number.",
"value": "Phone number value."
},
"pronouns": "Preferred pronouns of the contact.",
"tags": {
"id": "Unique identifier for the tag.",
"value": "Tag value."
}
},
"contact_id": "Unique identifier for the contact in the Spruce system that is the external participant in this conversation, note: only present if the contact is present on the conversation",
"conversation_id": "ID of the conversation this item belongs to.",
"created_at": "Timestamp when the conversation item was created.",
"event": {
"data": {
"answered": "Whether the call was answered.",
"answered_by": {
"external_number": "External phone number of the party.",
"line_id": "Line ID used for the call.",
"teammate_id": "Teammate ID if this is an internal party."
},
"duration": "Duration of the call in seconds.",
"failed": "Whether the call failed.",
"initiated_by": {
"external_number": "External phone number of the party.",
"line_id": "Line ID used for the call.",
"teammate_id": "Teammate ID if this is an internal party."
},
"recordings": {
"mime_type": "MIME type of the attachment.",
"signed_url": {
"expires_at": "Timestamp when the signed URL expires.",
"url": "The signed URL."
}
},
"spam": "Whether the call was marked as spam.",
"voicemail": {
"mime_type": "MIME type of the attachment.",
"signed_url": {
"expires_at": "Timestamp when the signed URL expires.",
"url": "The signed URL."
}
}
},
"type": "The event type"
},
"external_participant": {
"contact": "Contact ID of the external participant.",
"display_names": "Display names for the external participant.",
"endpoint": {
"channel": "Communication channel type.",
"display_value": "Human-readable display value.",
"endpoint_id": "Unique identifier for the endpoint.",
"is_internal": "Whether this is an internal endpoint.",
"labels": "Labels associated with the endpoint.",
"object": "Object type identifier.",
"raw_value": {
"email": "Email address value.",
"phone": "Phone number value.",
"value": "Secure channel identifier."
}
}
},
"id": "Unique identifier for the conversation item in the Spruce system.",
"is_internal_note": "Whether this is an internal note (not visible to patients).",
"modified_at": "Timestamp when the conversation item was last modified.",
"object": "Object type identifier.",
"pages": {
"id": "Unique identifier for the page.",
"member_id": "Member ID associated with the page.",
"resolved": "Whether the page has been resolved.",
"resolved_at": "Timestamp when the page was resolved.",
"resolved_by_member_id": "Member ID who resolved the page."
},
"request_id": "Request ID associated with this conversation item.",
"text": "Text content of the conversation item."
}
Payload Field Details
Event Payload
Hide fields
Hide fields
string
required
ID Unique identifier for the conversation item in the Spruce system.CEL
id
Example
"item_12345"
string
ID Unique identifier for the contact in the Spruce system that is the external participant in this conversation, note: only present if the contact is present on the conversationCEL
contact_id
Example
"entity_0E5QDGJC03000"
string
API URL for this conversation item.
CEL
api_url
Example
"https://api.sprucehealth.com/v1/conversation-items/item_12345"
string
App URL for this conversation item.
CEL
app_url
Example
"https://app.sprucehealth.com/conversation-items/item_12345"
[]object
required
File attachments associated with this conversation item.
CEL
attachments
Example
[
{
"data": {
"mime_type": "application/pdf",
"signed_url": {
"expires_at": "2026-04-05T09:40:02Z",
"url": null
}
},
"title": "Lab Results.pdf"
}
]
[]bool
required
Mapped array of: Attachment data with signed URL.
CEL
attachments.map(x, x.data)
Example
[
{
"mime_type": "application/pdf",
"signed_url": {
"expires_at": "2026-04-05T09:40:02Z",
"url": null
}
}
]
[]string
required
Mapped array of: Title of the attachment.
CEL
attachments.map(x, x.title)
Example
[
"Lab Results.pdf"
]
object
Author of this conversation item.
CEL
author
Example
{
"device_information": {
"access_id": null,
"app_version": "1.2.3",
"device": "iPhone",
"device_id": null,
"device_model": "iPhone 13",
"platform": "iOS"
},
"display_name": "Dr. Smith"
}
object
Device information of the author.
CEL
author.device_information
Example
{
"access_id": null,
"app_version": "1.2.3",
"device": "iPhone",
"device_id": null,
"device_model": "iPhone 13",
"platform": "iOS"
}
string
ID Access ID for the device.CEL
author.device_information.access_id
Example
null
string
App version used.
CEL
author.device_information.app_version
Example
"1.2.3"
string
Device type.
CEL
author.device_information.device
Example
"iPhone"
string
ID Unique device identifier.CEL
author.device_information.device_id
Example
null
string
Device model.
CEL
author.device_information.device_model
Example
"iPhone 13"
string
Platform (iOS, Android, web, etc.).
CEL
author.device_information.platform
Example
"iOS"
string
PII Display name of the author.CEL
author.display_name
Example
"Dr. Smith"
[]object
required
Interactive buttons associated with this conversation item.
CEL
buttons
Example
[
{
"id": null,
"state": "enabled",
"text": "Confirm Appointment"
}
]
[]string
required
ID Mapped array of: Unique identifier for the button.CEL
buttons.map(x, x.id)
Example
[
null
]
[]string
required
Mapped array of: Current state of the button.
CEL
buttons.map(x, x.state)
Example
[
"enabled"
]
[]string
required
Mapped array of: Text displayed on the button.
CEL
buttons.map(x, x.text)
Example
[
"Confirm Appointment"
]
bool
required
Whether this conversation item can be deleted.
CEL
can_delete
Example
null
string
required
ID ID of the conversation this item belongs to.CEL
conversation_id
Example
"conv_12345"
timing.v1.Timestamp
required
Timestamp when the conversation item was created.
CEL
created_at
Example
"2025-01-15T13:12:41Z"
object
Event data associated with this conversation item.
CEL
event
Example
{
"data": {
"answered": null,
"answered_by": {
"external_number": null,
"line_id": null,
"teammate_id": null
},
"duration": "120",
"failed": null,
"initiated_by": {
"external_number": null,
"line_id": null,
"teammate_id": null
},
"recordings": [
{
"mime_type": "application/pdf",
"signed_url": {
"expires_at": "2026-04-05T09:40:02Z",
"url": null
}
}
],
"spam": null,
"voicemail": {
"mime_type": "application/pdf",
"signed_url": {
"expires_at": "2026-04-05T09:40:02Z",
"url": null
}
}
},
"type": "inboundCall"
}
object
Event-specific data.
CEL
event.data
Example
{
"answered": null,
"answered_by": {
"external_number": null,
"line_id": null,
"teammate_id": null
},
"duration": "120",
"failed": null,
"initiated_by": {
"external_number": null,
"line_id": null,
"teammate_id": null
},
"recordings": [
{
"mime_type": "application/pdf",
"signed_url": {
"expires_at": "2026-04-05T09:40:02Z",
"url": null
}
}
],
"spam": null,
"voicemail": {
"mime_type": "application/pdf",
"signed_url": {
"expires_at": "2026-04-05T09:40:02Z",
"url": null
}
}
}
bool
Whether the call was answered.
CEL
event.data.answered
Example
null
object
Party who answered the call.
CEL
event.data.answered_by
Example
{
"external_number": null,
"line_id": null,
"teammate_id": null
}
string
External phone number of the party.
CEL
event.data.answered_by.external_number
Example
null
string
ID Line ID used for the call.CEL
event.data.answered_by.line_id
Example
null
string
ID Teammate ID if this is an internal party.CEL
event.data.answered_by.teammate_id
Example
null
int64
Duration of the call in seconds.
CEL
event.data.duration
Example
"120"
bool
Whether the call failed.
CEL
event.data.failed
Example
null
object
Party who initiated the call.
CEL
event.data.initiated_by
Example
{
"external_number": null,
"line_id": null,
"teammate_id": null
}
string
External phone number of the party.
CEL
event.data.initiated_by.external_number
Example
null
string
ID Line ID used for the call.CEL
event.data.initiated_by.line_id
Example
null
string
ID Teammate ID if this is an internal party.CEL
event.data.initiated_by.teammate_id
Example
null
[]object
Call recordings.
CEL
event.data.recordings
Example
[
{
"mime_type": "application/pdf",
"signed_url": {
"expires_at": "2026-04-05T09:40:02Z",
"url": null
}
}
]
[]string
required
Mapped array of: MIME type of the attachment.
CEL
event.data.recordings.map(x, x.mime_type)
Example
[
"application/pdf"
]
[]bool
required
Mapped array of: Signed URL for accessing the attachment.
CEL
event.data.recordings.map(x, x.signed_url)
Example
[
{
"expires_at": "2026-04-05T09:40:02Z",
"url": null
}
]
bool
Whether the call was marked as spam.
CEL
event.data.spam
Example
null
object
Voicemail attachment if present.
CEL
event.data.voicemail
Example
{
"mime_type": "application/pdf",
"signed_url": {
"expires_at": "2026-04-05T09:40:02Z",
"url": null
}
}
string
MIME type of the attachment.
CEL
event.data.voicemail.mime_type
Example
"application/pdf"
object
Signed URL for accessing the attachment.
CEL
event.data.voicemail.signed_url
Example
{
"expires_at": "2026-04-05T09:40:02Z",
"url": null
}
timing.v1.Timestamp
Timestamp when the signed URL expires.
CEL
event.data.voicemail.signed_url.expires_at
Example
"2026-04-05T09:40:02Z"
string
The signed URL.
CEL
event.data.voicemail.signed_url.url
Example
null
string
The event type
CEL
event.type
Example
"inboundCall"
bool
required
Whether this is an internal note (not visible to patients).
CEL
is_internal_note
Example
null
timing.v1.Timestamp
Timestamp when the conversation item was last modified.
CEL
modified_at
Example
"2025-01-15T13:12:41Z"
string
required
Object type identifier.
CEL
object
Example
"conversation-item"
[]object
required
Pages associated with this conversation item.
CEL
pages
Example
[
{
"id": null,
"member_id": null,
"resolved": null,
"resolved_at": "2025-10-31T08:22:10Z",
"resolved_by_member_id": null
}
]
[]string
required
ID Mapped array of: Unique identifier for the page.CEL
pages.map(x, x.id)
Example
[
null
]
[]string
required
ID Mapped array of: Member ID associated with the page.CEL
pages.map(x, x.member_id)
Example
[
null
]
[]bool
required
Mapped array of: Whether the page has been resolved.
CEL
pages.map(x, x.resolved)
Example
[
null
]
[]timing.v1.Timestamp
required
Mapped array of: Timestamp when the page was resolved.
CEL
pages.map(x, x.resolved_at)
Example
[
"2025-10-31T08:22:10Z"
]
[]string
required
ID Mapped array of: Member ID who resolved the page.CEL
pages.map(x, x.resolved_by_member_id)
Example
[
null
]
string
ID Request ID associated with this conversation item.CEL
request_id
Example
null
string
Text content of the conversation item.
CEL
text
Example
"Hello, how can I help you today?"
object
The contact (for the associated contact_id) for this conversation item
CEL
contact
Example
{
"api_url": "https://api.sprucehealth.com/v1/contacts/contact_12345",
"app_url": "https://app.sprucehealth.com/contacts/contact_12345",
"can_delete": null,
"can_edit": null,
"category": "patient",
"company_name": "ACME Healthcare",
"created_at": "2023-11-13T17:42:17Z",
"custom_contact_fields": [
{
"id": "entityCustomField_0E5QDGJC03000",
"name": "Insurance Provider",
"value": "Blue Cross Blue Shield"
}
],
"date_of_birth": "1990-01-15",
"deleted_contact_ids": [
"entity_0E5QDGJC03001"
],
"display_name": "John Doe",
"email_addresses": [
{
"id": "entityContact_26RRC7PQ6JG00",
"label": "primary",
"value": "john.doe@example.com"
}
],
"fax_numbers": [
{
"display_value": "(555) 123-4567",
"id": "entityContact_26RRC7PQ6JG00",
"label": "mobile",
"value": null
}
],
"first_name": "John",
"gender": "male",
"gender_detail": null,
"has_account": null,
"has_pending_invite": null,
"id": "entity_0E5QDGJC03000",
"integration_links": [
{
"contact_id": "entity_0E5QDGJC03000",
"external_id": "ext_12345",
"integration_type": "epic",
"url": "https://hint.com/patient/100031277"
}
],
"internal_member_ids": [],
"last_name": "Doe",
"middle_name": "Smith",
"object": "contact",
"organization_contact_fields": [
{
"id": "managedCustomField_0E5QDGJC03000",
"name": "Patient ID",
"value": "PT12345"
}
],
"phone_numbers": [
{
"display_value": "(555) 123-4567",
"id": "entityContact_26RRC7PQ6JG00",
"label": "mobile",
"value": null
}
],
"pronouns": "he/him",
"tags": [
{
"id": "tag_0E5QDGJC03000",
"value": "high-priority"
}
]
}
string
ID Unique identifier for the contact in the Spruce system.CEL
contact.id
Example
"entity_0E5QDGJC03000"
string
API URL for this contact.
CEL
contact.api_url
Example
"https://api.sprucehealth.com/v1/contacts/contact_12345"
string
App URL for this contact.
CEL
contact.app_url
Example
"https://app.sprucehealth.com/contacts/contact_12345"
bool
Whether this contact can be deleted.
CEL
contact.can_delete
Example
null
bool
Whether this contact can be edited.
CEL
contact.can_edit
Example
null
spruce.v1.ContactCategory
Contact category.
CEL
contact.category
Example
spruce.v1.ContactCategory.CONTACT_CATEGORY_PATIENT
spruce.v1.ContactCategory.CONTACT_CATEGORY_PROFESSIONAL
spruce.v1.ContactCategory.CONTACT_CATEGORY_CLINIC
string
PII Company name associated with the contact.CEL
contact.company_name
Example
"ACME Healthcare"
timing.v1.Timestamp
Timestamp when the contact was created.
CEL
contact.created_at
Example
"2023-11-13T17:42:17Z"
[]object
Custom contact fields defined by the organization.
CEL
contact.custom_contact_fields
Example
[
{
"id": "entityCustomField_0E5QDGJC03000",
"name": "Insurance Provider",
"value": "Blue Cross Blue Shield"
}
]
[]string
required
ID Mapped array of: Unique identifier for the custom field.CEL
contact.custom_contact_fields.map(x, x.id)
Example
[
"entityCustomField_0E5QDGJC03000"
]
[]string
required
Mapped array of: Name of the custom field.
CEL
contact.custom_contact_fields.map(x, x.name)
Example
[
"Insurance Provider"
]
[]string
required
PII Mapped array of: Value of the custom field.CEL
contact.custom_contact_fields.map(x, x.value)
Example
[
"Blue Cross Blue Shield"
]
values.v1.Date
HI Date of birthCEL
contact.date_of_birth
Example
"1990-01-15"
string
PII Display name for the contact.CEL
contact.display_name
Example
"John Doe"
[]object
Email addresses associated with the contact.
CEL
contact.email_addresses
Example
[
{
"id": "entityContact_26RRC7PQ6JG00",
"label": "primary",
"value": "john.doe@example.com"
}
]
[]string
required
ID Mapped array of: Unique identifier for the email address.CEL
contact.email_addresses.map(x, x.id)
Example
[
"entityContact_26RRC7PQ6JG00"
]
[]string
required
Mapped array of: Label for the email address.
CEL
contact.email_addresses.map(x, x.label)
Example
[
"primary"
]
[]string
required
PII Mapped array of: Email address value.CEL
contact.email_addresses.map(x, x.value)
Example
[
"john.doe@example.com"
]
string
PII Family name (last name) of the contact.CEL
contact.last_name
Example
"Doe"
[]object
Fax numbers associated with the contact.
CEL
contact.fax_numbers
Example
[
{
"display_value": "(555) 123-4567",
"id": "entityContact_26RRC7PQ6JG00",
"label": "mobile",
"value": null
}
]
[]string
required
ID Mapped array of: Unique identifier for the phone number.CEL
contact.fax_numbers.map(x, x.id)
Example
[
"entityContact_26RRC7PQ6JG00"
]
[]string
required
Mapped array of: Label for the phone number.
CEL
contact.fax_numbers.map(x, x.label)
Example
[
"mobile"
]
[]string
required
Mapped array of: Phone number value.
CEL
contact.fax_numbers.map(x, x.value)
Example
[
null
]
[]string
required
Mapped array of: Formatted display value for the phone number.
CEL
contact.fax_numbers.map(x, x.display_value)
Example
[
"(555) 123-4567"
]
string
HI Gender of the contact.CEL
contact.gender
Example
"male"
string
HI Additional gender details.CEL
contact.gender_detail
Example
null
string
PII Given name (first name) of the contact.CEL
contact.first_name
Example
"John"
bool
Whether the contact has a Spruce account.
CEL
contact.has_account
Example
null
bool
Whether the contact has a pending invitation to Spruce.
CEL
contact.has_pending_invite
Example
null
[]object
Links to third-party integrations.
CEL
contact.integration_links
Example
[
{
"contact_id": "entity_0E5QDGJC03000",
"external_id": "ext_12345",
"integration_type": "epic",
"url": "https://hint.com/patient/100031277"
}
]
[]string
required
ID Mapped array of: Contact ID in Spruce.CEL
contact.integration_links.map(x, x.contact_id)
Example
[
"entity_0E5QDGJC03000"
]
[]string
required
ID Mapped array of: External system identifier.CEL
contact.integration_links.map(x, x.external_id)
Example
[
"ext_12345"
]
[]string
required
Mapped array of: Type of integration.
CEL
contact.integration_links.map(x, x.integration_type)
Example
[
"epic"
]
[]string
required
ID PII Mapped array of: URL to the external system.CEL
contact.integration_links.map(x, x.url)
Example
[
"https://hint.com/patient/100031277"
]
[]string
ID Internal member IDs associated with this contact.CEL
contact.internal_member_ids
Example
[]
string
PII Middle name of the contact.CEL
contact.middle_name
Example
"Smith"
string
Object type identifier.
CEL
contact.object
Example
"contact"
[]object
Organization-specific contact fields.
CEL
contact.organization_contact_fields
Example
[
{
"id": "managedCustomField_0E5QDGJC03000",
"name": "Patient ID",
"value": "PT12345"
}
]
[]string
required
ID Mapped array of: Unique identifier for the organization field.CEL
contact.organization_contact_fields.map(x, x.id)
Example
[
"managedCustomField_0E5QDGJC03000"
]
[]string
required
Mapped array of: Name of the organization field.
CEL
contact.organization_contact_fields.map(x, x.name)
Example
[
"Patient ID"
]
[]string
required
ID Mapped array of: Value of the organization field.CEL
contact.organization_contact_fields.map(x, x.value)
Example
[
"PT12345"
]
[]object
Phone numbers associated with the contact.
CEL
contact.phone_numbers
Example
[
{
"display_value": "(555) 123-4567",
"id": "entityContact_26RRC7PQ6JG00",
"label": "mobile",
"value": null
}
]
[]string
required
ID Mapped array of: Unique identifier for the phone number.CEL
contact.phone_numbers.map(x, x.id)
Example
[
"entityContact_26RRC7PQ6JG00"
]
[]string
required
Mapped array of: Label for the phone number.
CEL
contact.phone_numbers.map(x, x.label)
Example
[
"mobile"
]
[]string
required
Mapped array of: Phone number value.
CEL
contact.phone_numbers.map(x, x.value)
Example
[
null
]
[]string
required
Mapped array of: Formatted display value for the phone number.
CEL
contact.phone_numbers.map(x, x.display_value)
Example
[
"(555) 123-4567"
]
string
PII Preferred pronouns of the contact.CEL
contact.pronouns
Example
"he/him"
[]object
Tags associated with the contact.
CEL
contact.tags
Example
[
{
"id": "tag_0E5QDGJC03000",
"value": "high-priority"
}
]
[]string
required
ID Mapped array of: Unique identifier for the tag.CEL
contact.tags.map(x, x.id)
Example
[
"tag_0E5QDGJC03000"
]
[]string
required
Mapped array of: Tag value.
CEL
contact.tags.map(x, x.value)
Example
[
"high-priority"
]
[]string
PII Prior contact IDs merged into this Contact (note: they are deleted post-merge)CEL
contact.deleted_contact_ids
Example
[
"entity_0E5QDGJC03001"
]
object
External participant in the conversation.
CEL
external_participant
Example
{
"contact": null,
"display_names": "John Doe",
"endpoint": {
"channel": "sms",
"display_value": "(555) 123-4567",
"endpoint_id": null,
"is_internal": null,
"labels": "mobile",
"object": "endpoint",
"raw_value": {
"email": "patient@example.com",
"phone": "+15551231234",
"value": "secure_channel_id"
}
}
}
string
ID Contact ID of the external participant.CEL
external_participant.contact
Example
null
[]string
PII Display names for the external participant.CEL
external_participant.display_names
Example
"John Doe"
object
Communication endpoint for the participant.
CEL
external_participant.endpoint
Example
{
"channel": "sms",
"display_value": "(555) 123-4567",
"endpoint_id": null,
"is_internal": null,
"labels": "mobile",
"object": "endpoint",
"raw_value": {
"email": "patient@example.com",
"phone": "+15551231234",
"value": "secure_channel_id"
}
}
string
Communication channel type.
CEL
external_participant.endpoint.channel
Example
"sms"
string
Human-readable display value.
CEL
external_participant.endpoint.display_value
Example
"(555) 123-4567"
string
ID Unique identifier for the endpoint.CEL
external_participant.endpoint.endpoint_id
Example
null
bool
Whether this is an internal endpoint.
CEL
external_participant.endpoint.is_internal
Example
null
[]string
Labels associated with the endpoint.
CEL
external_participant.endpoint.labels
Example
"mobile"
string
Object type identifier.
CEL
external_participant.endpoint.object
Example
"endpoint"
object
Raw endpoint value with type-specific data.
CEL
external_participant.endpoint.raw_value
Example
{
"email": "patient@example.com",
"phone": "+15551231234",
"value": "secure_channel_id"
}
string
PII Email address value.CEL
external_participant.endpoint.raw_value.email
Example
"patient@example.com"
string
PII Phone number value.CEL
external_participant.endpoint.raw_value.phone
Example
"+15551231234"
string
PII Secure channel identifier.CEL
external_participant.endpoint.raw_value.value
Example
"secure_channel_id"
