> ## Documentation Index
> Fetch the complete documentation index at: https://docs.morf.health/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# List Conversation Items

> Documentation for the List Conversation Items action for Spruce

![images/spruce.svg](https://mintcdn.com/morfhealth/EU2WCxuXGIUQcziR/images/spruce.svg?fit=max\&auto=format\&n=EU2WCxuXGIUQcziR\&q=85\&s=8a74ebc9757cf4bfebab7b5e33a27182)

# Parameters

**Action** `Parameters`

**parameters**

**Conversation ID** `string` *required*

`ID`
This field maps to the destination API `conversationId` field.

**Start From** `timing.v1.Timestamp` *required*

This field maps to the destination API `startFrom` field.

**Order** `spruce.v1.ConversationItemOrder`

This field maps to the destination API `order (defaults to oldest first)` field.

```json Allowed Enumeration Values theme={null}
NEWEST_FIRST
OLDEST_FIRST
```

**Limit** `int64`

This field maps to the destination API `limit (defaults to 100)` field.

```json Result Object Example theme={null}
{
  "$result_object_key": [
    {
      "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?"
    }
  ]
}
```

```json Result Object Description theme={null}
{
  "$result_object_key": [
    {
      "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."
    }
  ]
}
```

### Result Object Field Details

You can use the result of the action's data as inputs to downstream workflow actions.

Each fetch action requires an object name, which nests the action's result data inside the downstream data context in the workflow. See [Passing Data Between Actions](https://docs.morf.health/docs/knowledge_base/passing_data_between_actions.md) for how to set it and reference the result from downstream nodes.

Here we demonstrate how to refer to this data using the prefix `$result_object_key`.

**\[]ConversationItem** `Fetch Action Response Object`

**fields**

**id** `string` *required*

`ID` Unique identifier for the conversation item in the Spruce system.

```json CEL theme={null}
$result_object_key[*].id
```

```json Example theme={null}
"item_12345"
```

**contact\_id** `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 conversation

```json CEL theme={null}
$result_object_key[*].contact_id
```

```json Example theme={null}
"entity_0E5QDGJC03000"
```

**api\_url** `string`

API URL for this conversation item.

```json CEL theme={null}
$result_object_key[*].api_url
```

```json Example theme={null}
"https://api.sprucehealth.com/v1/conversation-items/item_12345"
```

**app\_url** `string`

App URL for this conversation item.

```json CEL theme={null}
$result_object_key[*].app_url
```

```json Example theme={null}
"https://app.sprucehealth.com/conversation-items/item_12345"
```

**attachments** `[]object` *required*

File attachments associated with this conversation item.

```json CEL theme={null}
$result_object_key[*].attachments
```

```json Example theme={null}
[
{
"data": {
"mime_type": "application/pdf",
"signed_url": {
  "expires_at": "2026-04-05T09:40:02Z",
  "url": null
}
},
"title": "Lab Results.pdf"
}
]
```

**attachments.map(x, x.data)** `[]bool` *required*

Mapped array of: Attachment data with signed URL.

```json CEL theme={null}
$result_object_key[*].attachments.map(x, x.data)
```

```json Example theme={null}
[
{
"mime_type": "application/pdf",
"signed_url": {
"expires_at": "2026-04-05T09:40:02Z",
"url": null
}
}
]
```

**attachments.map(x, x.title)** `[]string` *required*

Mapped array of: Title of the attachment.

```json CEL theme={null}
$result_object_key[*].attachments.map(x, x.title)
```

```json Example theme={null}
[
"Lab Results.pdf"
]
```

**author** `object`

Author of this conversation item.

```json CEL theme={null}
$result_object_key[*].author
```

```json Example theme={null}
{
"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"
}
```

**author.device\_information** `object`

Device information of the author.

```json CEL theme={null}
$result_object_key[*].author.device_information
```

```json Example theme={null}
{
"access_id": null,
"app_version": "1.2.3",
"device": "iPhone",
"device_id": null,
"device_model": "iPhone 13",
"platform": "iOS"
}
```

**author.device\_information.access\_id** `string`

`ID` Access ID for the device.

```json CEL theme={null}
$result_object_key[*].author.device_information.access_id
```

```json Example theme={null}
null
```

**author.device\_information.app\_version** `string`

App version used.

```json CEL theme={null}
$result_object_key[*].author.device_information.app_version
```

```json Example theme={null}
"1.2.3"
```

**author.device\_information.device** `string`

Device type.

```json CEL theme={null}
$result_object_key[*].author.device_information.device
```

```json Example theme={null}
"iPhone"
```

**author.device\_information.device\_id** `string`

`ID` Unique device identifier.

```json CEL theme={null}
$result_object_key[*].author.device_information.device_id
```

```json Example theme={null}
null
```

**author.device\_information.device\_model** `string`

Device model.

```json CEL theme={null}
$result_object_key[*].author.device_information.device_model
```

```json Example theme={null}
"iPhone 13"
```

**author.device\_information.platform** `string`

Platform (iOS, Android, web, etc.).

```json CEL theme={null}
$result_object_key[*].author.device_information.platform
```

```json Example theme={null}
"iOS"
```

**author.display\_name** `string`

`PII` Display name of the author.

```json CEL theme={null}
$result_object_key[*].author.display_name
```

```json Example theme={null}
"Dr. Smith"
```

**buttons** `[]object` *required*

Interactive buttons associated with this conversation item.

```json CEL theme={null}
$result_object_key[*].buttons
```

```json Example theme={null}
[
{
"id": null,
"state": "enabled",
"text": "Confirm Appointment"
}
]
```

**buttons.map(x, x.id)** `[]string` *required*

`ID` Mapped array of: Unique identifier for the button.

```json CEL theme={null}
$result_object_key[*].buttons.map(x, x.id)
```

```json Example theme={null}
[
null
]
```

**buttons.map(x, x.state)** `[]string` *required*

Mapped array of: Current state of the button.

```json CEL theme={null}
$result_object_key[*].buttons.map(x, x.state)
```

```json Example theme={null}
[
"enabled"
]
```

**buttons.map(x, x.text)** `[]string` *required*

Mapped array of: Text displayed on the button.

```json CEL theme={null}
$result_object_key[*].buttons.map(x, x.text)
```

```json Example theme={null}
[
"Confirm Appointment"
]
```

**can\_delete** `bool` *required*

Whether this conversation item can be deleted.

```json CEL theme={null}
$result_object_key[*].can_delete
```

```json Example theme={null}
null
```

**conversation\_id** `string` *required*

`ID` ID of the conversation this item belongs to.

```json CEL theme={null}
$result_object_key[*].conversation_id
```

```json Example theme={null}
"conv_12345"
```

**created\_at** `timing.v1.Timestamp` *required*

Timestamp when the conversation item was created.

```json CEL theme={null}
$result_object_key[*].created_at
```

```json Example theme={null}
"2025-01-15T13:12:41Z"
```

**event** `object`

Event data associated with this conversation item.

```json CEL theme={null}
$result_object_key[*].event
```

```json Example theme={null}
{
"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"
}
```

**event.data** `object`

Event-specific data.

```json CEL theme={null}
$result_object_key[*].event.data
```

```json Example theme={null}
{
"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
}
}
}
```

**event.data.answered** `bool`

Whether the call was answered.

```json CEL theme={null}
$result_object_key[*].event.data.answered
```

```json Example theme={null}
null
```

**event.data.answered\_by** `object`

Party who answered the call.

```json CEL theme={null}
$result_object_key[*].event.data.answered_by
```

```json Example theme={null}
{
"external_number": null,
"line_id": null,
"teammate_id": null
}
```

**event.data.answered\_by.external\_number** `string`

External phone number of the party.

```json CEL theme={null}
$result_object_key[*].event.data.answered_by.external_number
```

```json Example theme={null}
null
```

**event.data.answered\_by.line\_id** `string`

`ID` Line ID used for the call.

```json CEL theme={null}
$result_object_key[*].event.data.answered_by.line_id
```

```json Example theme={null}
null
```

**event.data.answered\_by.teammate\_id** `string`

`ID` Teammate ID if this is an internal party.

```json CEL theme={null}
$result_object_key[*].event.data.answered_by.teammate_id
```

```json Example theme={null}
null
```

**event.data.duration** `int64`

Duration of the call in seconds.

```json CEL theme={null}
$result_object_key[*].event.data.duration
```

```json Example theme={null}
"120"
```

**event.data.failed** `bool`

Whether the call failed.

```json CEL theme={null}
$result_object_key[*].event.data.failed
```

```json Example theme={null}
null
```

**event.data.initiated\_by** `object`

Party who initiated the call.

```json CEL theme={null}
$result_object_key[*].event.data.initiated_by
```

```json Example theme={null}
{
"external_number": null,
"line_id": null,
"teammate_id": null
}
```

**event.data.initiated\_by.external\_number** `string`

External phone number of the party.

```json CEL theme={null}
$result_object_key[*].event.data.initiated_by.external_number
```

```json Example theme={null}
null
```

**event.data.initiated\_by.line\_id** `string`

`ID` Line ID used for the call.

```json CEL theme={null}
$result_object_key[*].event.data.initiated_by.line_id
```

```json Example theme={null}
null
```

**event.data.initiated\_by.teammate\_id** `string`

`ID` Teammate ID if this is an internal party.

```json CEL theme={null}
$result_object_key[*].event.data.initiated_by.teammate_id
```

```json Example theme={null}
null
```

**event.data.recordings** `[]object`

Call recordings.

```json CEL theme={null}
$result_object_key[*].event.data.recordings
```

```json Example theme={null}
[
{
"mime_type": "application/pdf",
"signed_url": {
"expires_at": "2026-04-05T09:40:02Z",
"url": null
}
}
]
```

**event.data.recordings.map(x, x.mime\_type)** `[]string` *required*

Mapped array of: MIME type of the attachment.

```json CEL theme={null}
$result_object_key[*].event.data.recordings.map(x, x.mime_type)
```

```json Example theme={null}
[
"application/pdf"
]
```

**event.data.recordings.map(x, x.signed\_url)** `[]bool` *required*

Mapped array of: Signed URL for accessing the attachment.

```json CEL theme={null}
$result_object_key[*].event.data.recordings.map(x, x.signed_url)
```

```json Example theme={null}
[
{
"expires_at": "2026-04-05T09:40:02Z",
"url": null
}
]
```

**event.data.spam** `bool`

Whether the call was marked as spam.

```json CEL theme={null}
$result_object_key[*].event.data.spam
```

```json Example theme={null}
null
```

**event.data.voicemail** `object`

Voicemail attachment if present.

```json CEL theme={null}
$result_object_key[*].event.data.voicemail
```

```json Example theme={null}
{
"mime_type": "application/pdf",
"signed_url": {
"expires_at": "2026-04-05T09:40:02Z",
"url": null
}
}
```

**event.data.voicemail.mime\_type** `string`

MIME type of the attachment.

```json CEL theme={null}
$result_object_key[*].event.data.voicemail.mime_type
```

```json Example theme={null}
"application/pdf"
```

**event.data.voicemail.signed\_url** `object`

Signed URL for accessing the attachment.

```json CEL theme={null}
$result_object_key[*].event.data.voicemail.signed_url
```

```json Example theme={null}
{
"expires_at": "2026-04-05T09:40:02Z",
"url": null
}
```

**event.data.voicemail.signed\_url.expires\_at** `timing.v1.Timestamp`

Timestamp when the signed URL expires.

```json CEL theme={null}
$result_object_key[*].event.data.voicemail.signed_url.expires_at
```

```json Example theme={null}
"2026-04-05T09:40:02Z"
```

**event.data.voicemail.signed\_url.url** `string`

The signed URL.

```json CEL theme={null}
$result_object_key[*].event.data.voicemail.signed_url.url
```

```json Example theme={null}
null
```

**event.type** `string`

The event type

```json CEL theme={null}
$result_object_key[*].event.type
```

```json Example theme={null}
"inboundCall"
```

**is\_internal\_note** `bool` *required*

Whether this is an internal note (not visible to patients).

```json CEL theme={null}
$result_object_key[*].is_internal_note
```

```json Example theme={null}
null
```

**modified\_at** `timing.v1.Timestamp`

Timestamp when the conversation item was last modified.

```json CEL theme={null}
$result_object_key[*].modified_at
```

```json Example theme={null}
"2025-01-15T13:12:41Z"
```

**object** `string` *required*

Object type identifier.

```json CEL theme={null}
$result_object_key[*].object
```

```json Example theme={null}
"conversation-item"
```

**pages** `[]object` *required*

Pages associated with this conversation item.

```json CEL theme={null}
$result_object_key[*].pages
```

```json Example theme={null}
[
{
"id": null,
"member_id": null,
"resolved": null,
"resolved_at": "2025-10-31T08:22:10Z",
"resolved_by_member_id": null
}
]
```

**pages.map(x, x.id)** `[]string` *required*

`ID` Mapped array of: Unique identifier for the page.

```json CEL theme={null}
$result_object_key[*].pages.map(x, x.id)
```

```json Example theme={null}
[
null
]
```

**pages.map(x, x.member\_id)** `[]string` *required*

`ID` Mapped array of: Member ID associated with the page.

```json CEL theme={null}
$result_object_key[*].pages.map(x, x.member_id)
```

```json Example theme={null}
[
null
]
```

**pages.map(x, x.resolved)** `[]bool` *required*

Mapped array of: Whether the page has been resolved.

```json CEL theme={null}
$result_object_key[*].pages.map(x, x.resolved)
```

```json Example theme={null}
[
null
]
```

**pages.map(x, x.resolved\_at)** `[]timing.v1.Timestamp` *required*

Mapped array of: Timestamp when the page was resolved.

```json CEL theme={null}
$result_object_key[*].pages.map(x, x.resolved_at)
```

```json Example theme={null}
[
"2025-10-31T08:22:10Z"
]
```

**pages.map(x, x.resolved\_by\_member\_id)** `[]string` *required*

`ID` Mapped array of: Member ID who resolved the page.

```json CEL theme={null}
$result_object_key[*].pages.map(x, x.resolved_by_member_id)
```

```json Example theme={null}
[
null
]
```

**request\_id** `string`

`ID` Request ID associated with this conversation item.

```json CEL theme={null}
$result_object_key[*].request_id
```

```json Example theme={null}
null
```

**text** `string`

Text content of the conversation item.

```json CEL theme={null}
$result_object_key[*].text
```

```json Example theme={null}
"Hello, how can I help you today?"
```

**contact** `object`

The contact (for the associated contact\_id) for this conversation item

```json CEL theme={null}
$result_object_key[*].contact
```

```json Example theme={null}
{
"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** `string`

`ID` Unique identifier for the contact in the Spruce system.

```json CEL theme={null}
$result_object_key[*].contact.id
```

```json Example theme={null}
"entity_0E5QDGJC03000"
```

**contact.api\_url** `string`

API URL for this contact.

```json CEL theme={null}
$result_object_key[*].contact.api_url
```

```json Example theme={null}
"https://api.sprucehealth.com/v1/contacts/contact_12345"
```

**contact.app\_url** `string`

App URL for this contact.

```json CEL theme={null}
$result_object_key[*].contact.app_url
```

```json Example theme={null}
"https://app.sprucehealth.com/contacts/contact_12345"
```

**contact.can\_delete** `bool`

Whether this contact can be deleted.

```json CEL theme={null}
$result_object_key[*].contact.can_delete
```

```json Example theme={null}
null
```

**contact.can\_edit** `bool`

Whether this contact can be edited.

```json CEL theme={null}
$result_object_key[*].contact.can_edit
```

```json Example theme={null}
null
```

**contact.category** `spruce.v1.ContactCategory`

Contact category.

```json CEL theme={null}
$result_object_key[*].contact.category
```

```json Example theme={null}
spruce.v1.ContactCategory.CONTACT_CATEGORY_PATIENT
spruce.v1.ContactCategory.CONTACT_CATEGORY_PROFESSIONAL
spruce.v1.ContactCategory.CONTACT_CATEGORY_CLINIC
```

**contact.company\_name** `string`

`PII` Company name associated with the contact.

```json CEL theme={null}
$result_object_key[*].contact.company_name
```

```json Example theme={null}
"ACME Healthcare"
```

**contact.created\_at** `timing.v1.Timestamp`

Timestamp when the contact was created.

```json CEL theme={null}
$result_object_key[*].contact.created_at
```

```json Example theme={null}
"2023-11-13T17:42:17Z"
```

**contact.custom\_contact\_fields** `[]object`

Custom contact fields defined by the organization.

```json CEL theme={null}
$result_object_key[*].contact.custom_contact_fields
```

```json Example theme={null}
[
{
"id": "entityCustomField_0E5QDGJC03000",
"name": "Insurance Provider",
"value": "Blue Cross Blue Shield"
}
]
```

**contact.custom\_contact\_fields.map(x, x.id)** `[]string` *required*

`ID` Mapped array of: Unique identifier for the custom field.

```json CEL theme={null}
$result_object_key[*].contact.custom_contact_fields.map(x, x.id)
```

```json Example theme={null}
[
"entityCustomField_0E5QDGJC03000"
]
```

**contact.custom\_contact\_fields.map(x, x.name)** `[]string` *required*

Mapped array of: Name of the custom field.

```json CEL theme={null}
$result_object_key[*].contact.custom_contact_fields.map(x, x.name)
```

```json Example theme={null}
[
"Insurance Provider"
]
```

**contact.custom\_contact\_fields.map(x, x.value)** `[]string` *required*

`PII` Mapped array of: Value of the custom field.

```json CEL theme={null}
$result_object_key[*].contact.custom_contact_fields.map(x, x.value)
```

```json Example theme={null}
[
"Blue Cross Blue Shield"
]
```

**contact.date\_of\_birth** `values.v1.Date`

`HI` Date of birth

```json CEL theme={null}
$result_object_key[*].contact.date_of_birth
```

```json Example theme={null}
"1990-01-15"
```

**contact.display\_name** `string`

`PII` Display name for the contact.

```json CEL theme={null}
$result_object_key[*].contact.display_name
```

```json Example theme={null}
"John Doe"
```

**contact.email\_addresses** `[]object`

Email addresses associated with the contact.

```json CEL theme={null}
$result_object_key[*].contact.email_addresses
```

```json Example theme={null}
[
{
"id": "entityContact_26RRC7PQ6JG00",
"label": "primary",
"value": "john.doe@example.com"
}
]
```

**contact.email\_addresses.map(x, x.id)** `[]string` *required*

`ID` Mapped array of: Unique identifier for the email address.

```json CEL theme={null}
$result_object_key[*].contact.email_addresses.map(x, x.id)
```

```json Example theme={null}
[
"entityContact_26RRC7PQ6JG00"
]
```

**contact.email\_addresses.map(x, x.label)** `[]string` *required*

Mapped array of: Label for the email address.

```json CEL theme={null}
$result_object_key[*].contact.email_addresses.map(x, x.label)
```

```json Example theme={null}
[
"primary"
]
```

**contact.email\_addresses.map(x, x.value)** `[]string` *required*

`PII` Mapped array of: Email address value.

```json CEL theme={null}
$result_object_key[*].contact.email_addresses.map(x, x.value)
```

```json Example theme={null}
[
"john.doe@example.com"
]
```

**contact.last\_name** `string`

`PII` Family name (last name) of the contact.

```json CEL theme={null}
$result_object_key[*].contact.last_name
```

```json Example theme={null}
"Doe"
```

**contact.fax\_numbers** `[]object`

Fax numbers associated with the contact.

```json CEL theme={null}
$result_object_key[*].contact.fax_numbers
```

```json Example theme={null}
[
{
"display_value": "(555) 123-4567",
"id": "entityContact_26RRC7PQ6JG00",
"label": "mobile",
"value": null
}
]
```

**contact.fax\_numbers.map(x, x.id)** `[]string` *required*

`ID` Mapped array of: Unique identifier for the phone number.

```json CEL theme={null}
$result_object_key[*].contact.fax_numbers.map(x, x.id)
```

```json Example theme={null}
[
"entityContact_26RRC7PQ6JG00"
]
```

**contact.fax\_numbers.map(x, x.label)** `[]string` *required*

Mapped array of: Label for the phone number.

```json CEL theme={null}
$result_object_key[*].contact.fax_numbers.map(x, x.label)
```

```json Example theme={null}
[
"mobile"
]
```

**contact.fax\_numbers.map(x, x.value)** `[]string` *required*

Mapped array of: Phone number value.

```json CEL theme={null}
$result_object_key[*].contact.fax_numbers.map(x, x.value)
```

```json Example theme={null}
[
null
]
```

**contact.fax\_numbers.map(x, x.display\_value)** `[]string` *required*

Mapped array of: Formatted display value for the phone number.

```json CEL theme={null}
$result_object_key[*].contact.fax_numbers.map(x, x.display_value)
```

```json Example theme={null}
[
"(555) 123-4567"
]
```

**contact.gender** `string`

`HI` Gender of the contact.

```json CEL theme={null}
$result_object_key[*].contact.gender
```

```json Example theme={null}
"male"
```

**contact.gender\_detail** `string`

`HI` Additional gender details.

```json CEL theme={null}
$result_object_key[*].contact.gender_detail
```

```json Example theme={null}
null
```

**contact.first\_name** `string`

`PII` Given name (first name) of the contact.

```json CEL theme={null}
$result_object_key[*].contact.first_name
```

```json Example theme={null}
"John"
```

**contact.has\_account** `bool`

Whether the contact has a Spruce account.

```json CEL theme={null}
$result_object_key[*].contact.has_account
```

```json Example theme={null}
null
```

**contact.has\_pending\_invite** `bool`

Whether the contact has a pending invitation to Spruce.

```json CEL theme={null}
$result_object_key[*].contact.has_pending_invite
```

```json Example theme={null}
null
```

**contact.integration\_links** `[]object`

Links to third-party integrations.

```json CEL theme={null}
$result_object_key[*].contact.integration_links
```

```json Example theme={null}
[
{
"contact_id": "entity_0E5QDGJC03000",
"external_id": "ext_12345",
"integration_type": "epic",
"url": "https://hint.com/patient/100031277"
}
]
```

**contact.integration\_links.map(x, x.contact\_id)** `[]string` *required*

`ID` Mapped array of: Contact ID in Spruce.

```json CEL theme={null}
$result_object_key[*].contact.integration_links.map(x, x.contact_id)
```

```json Example theme={null}
[
"entity_0E5QDGJC03000"
]
```

**contact.integration\_links.map(x, x.external\_id)** `[]string` *required*

`ID` Mapped array of: External system identifier.

```json CEL theme={null}
$result_object_key[*].contact.integration_links.map(x, x.external_id)
```

```json Example theme={null}
[
"ext_12345"
]
```

**contact.integration\_links.map(x, x.integration\_type)** `[]string` *required*

Mapped array of: Type of integration.

```json CEL theme={null}
$result_object_key[*].contact.integration_links.map(x, x.integration_type)
```

```json Example theme={null}
[
"epic"
]
```

**contact.integration\_links.map(x, x.url)** `[]string` *required*

`ID` `PII` Mapped array of: URL to the external system.

```json CEL theme={null}
$result_object_key[*].contact.integration_links.map(x, x.url)
```

```json Example theme={null}
[
"https://hint.com/patient/100031277"
]
```

**contact.internal\_member\_ids** `[]string`

`ID` Internal member IDs associated with this contact.

```json CEL theme={null}
$result_object_key[*].contact.internal_member_ids
```

```json Example theme={null}
[]
```

**contact.middle\_name** `string`

`PII` Middle name of the contact.

```json CEL theme={null}
$result_object_key[*].contact.middle_name
```

```json Example theme={null}
"Smith"
```

**contact.object** `string`

Object type identifier.

```json CEL theme={null}
$result_object_key[*].contact.object
```

```json Example theme={null}
"contact"
```

**contact.organization\_contact\_fields** `[]object`

Organization-specific contact fields.

```json CEL theme={null}
$result_object_key[*].contact.organization_contact_fields
```

```json Example theme={null}
[
{
"id": "managedCustomField_0E5QDGJC03000",
"name": "Patient ID",
"value": "PT12345"
}
]
```

**contact.organization\_contact\_fields.map(x, x.id)** `[]string` *required*

`ID` Mapped array of: Unique identifier for the organization field.

```json CEL theme={null}
$result_object_key[*].contact.organization_contact_fields.map(x, x.id)
```

```json Example theme={null}
[
"managedCustomField_0E5QDGJC03000"
]
```

**contact.organization\_contact\_fields.map(x, x.name)** `[]string` *required*

Mapped array of: Name of the organization field.

```json CEL theme={null}
$result_object_key[*].contact.organization_contact_fields.map(x, x.name)
```

```json Example theme={null}
[
"Patient ID"
]
```

**contact.organization\_contact\_fields.map(x, x.value)** `[]string` *required*

`ID` Mapped array of: Value of the organization field.

```json CEL theme={null}
$result_object_key[*].contact.organization_contact_fields.map(x, x.value)
```

```json Example theme={null}
[
"PT12345"
]
```

**contact.phone\_numbers** `[]object`

Phone numbers associated with the contact.

```json CEL theme={null}
$result_object_key[*].contact.phone_numbers
```

```json Example theme={null}
[
{
"display_value": "(555) 123-4567",
"id": "entityContact_26RRC7PQ6JG00",
"label": "mobile",
"value": null
}
]
```

**contact.phone\_numbers.map(x, x.id)** `[]string` *required*

`ID` Mapped array of: Unique identifier for the phone number.

```json CEL theme={null}
$result_object_key[*].contact.phone_numbers.map(x, x.id)
```

```json Example theme={null}
[
"entityContact_26RRC7PQ6JG00"
]
```

**contact.phone\_numbers.map(x, x.label)** `[]string` *required*

Mapped array of: Label for the phone number.

```json CEL theme={null}
$result_object_key[*].contact.phone_numbers.map(x, x.label)
```

```json Example theme={null}
[
"mobile"
]
```

**contact.phone\_numbers.map(x, x.value)** `[]string` *required*

Mapped array of: Phone number value.

```json CEL theme={null}
$result_object_key[*].contact.phone_numbers.map(x, x.value)
```

```json Example theme={null}
[
null
]
```

**contact.phone\_numbers.map(x, x.display\_value)** `[]string` *required*

Mapped array of: Formatted display value for the phone number.

```json CEL theme={null}
$result_object_key[*].contact.phone_numbers.map(x, x.display_value)
```

```json Example theme={null}
[
"(555) 123-4567"
]
```

**contact.pronouns** `string`

`PII` Preferred pronouns of the contact.

```json CEL theme={null}
$result_object_key[*].contact.pronouns
```

```json Example theme={null}
"he/him"
```

**contact.tags** `[]object`

Tags associated with the contact.

```json CEL theme={null}
$result_object_key[*].contact.tags
```

```json Example theme={null}
[
{
"id": "tag_0E5QDGJC03000",
"value": "high-priority"
}
]
```

**contact.tags.map(x, x.id)** `[]string` *required*

`ID` Mapped array of: Unique identifier for the tag.

```json CEL theme={null}
$result_object_key[*].contact.tags.map(x, x.id)
```

```json Example theme={null}
[
"tag_0E5QDGJC03000"
]
```

**contact.tags.map(x, x.value)** `[]string` *required*

Mapped array of: Tag value.

```json CEL theme={null}
$result_object_key[*].contact.tags.map(x, x.value)
```

```json Example theme={null}
[
"high-priority"
]
```

**contact.deleted\_contact\_ids** `[]string`

`PII` Prior contact IDs merged into this Contact (note: they are deleted post-merge)

```json CEL theme={null}
$result_object_key[*].contact.deleted_contact_ids
```

```json Example theme={null}
[
"entity_0E5QDGJC03001"
]
```

**external\_participant** `object`

External participant in the conversation.

```json CEL theme={null}
$result_object_key[*].external_participant
```

```json Example theme={null}
{
"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"
}
}
}
```

**external\_participant.contact** `string`

`ID` Contact ID of the external participant.

```json CEL theme={null}
$result_object_key[*].external_participant.contact
```

```json Example theme={null}
null
```

**external\_participant.display\_names** `[]string`

`PII` Display names for the external participant.

```json CEL theme={null}
$result_object_key[*].external_participant.display_names
```

```json Example theme={null}
"John Doe"
```

**external\_participant.endpoint** `object`

Communication endpoint for the participant.

```json CEL theme={null}
$result_object_key[*].external_participant.endpoint
```

```json Example theme={null}
{
"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"
}
}
```

**external\_participant.endpoint.channel** `string`

Communication channel type.

```json CEL theme={null}
$result_object_key[*].external_participant.endpoint.channel
```

```json Example theme={null}
"sms"
```

**external\_participant.endpoint.display\_value** `string`

Human-readable display value.

```json CEL theme={null}
$result_object_key[*].external_participant.endpoint.display_value
```

```json Example theme={null}
"(555) 123-4567"
```

**external\_participant.endpoint.endpoint\_id** `string`

`ID` Unique identifier for the endpoint.

```json CEL theme={null}
$result_object_key[*].external_participant.endpoint.endpoint_id
```

```json Example theme={null}
null
```

**external\_participant.endpoint.is\_internal** `bool`

Whether this is an internal endpoint.

```json CEL theme={null}
$result_object_key[*].external_participant.endpoint.is_internal
```

```json Example theme={null}
null
```

**external\_participant.endpoint.labels** `[]string`

Labels associated with the endpoint.

```json CEL theme={null}
$result_object_key[*].external_participant.endpoint.labels
```

```json Example theme={null}
"mobile"
```

**external\_participant.endpoint.object** `string`

Object type identifier.

```json CEL theme={null}
$result_object_key[*].external_participant.endpoint.object
```

```json Example theme={null}
"endpoint"
```

**external\_participant.endpoint.raw\_value** `object`

Raw endpoint value with type-specific data.

```json CEL theme={null}
$result_object_key[*].external_participant.endpoint.raw_value
```

```json Example theme={null}
{
"email": "patient@example.com",
"phone": "+15551231234",
"value": "secure_channel_id"
}
```

**external\_participant.endpoint.raw\_value.email** `string`

`PII` Email address value.

```json CEL theme={null}
$result_object_key[*].external_participant.endpoint.raw_value.email
```

```json Example theme={null}
"patient@example.com"
```

**external\_participant.endpoint.raw\_value.phone** `string`

`PII` Phone number value.

```json CEL theme={null}
$result_object_key[*].external_participant.endpoint.raw_value.phone
```

```json Example theme={null}
"+15551231234"
```

**external\_participant.endpoint.raw\_value.value** `string`

`PII` Secure channel identifier.

```json CEL theme={null}
$result_object_key[*].external_participant.endpoint.raw_value.value
```

```json Example theme={null}
"secure_channel_id"
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.