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