Skip to main content

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.

images/spruce.svg

Parameters

Action
Parameters
{
  "$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?"
    }
  ]
}
{
  "$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 a result object key to be specified which will nest the action’s result data inside the downstream data context in the Workflow. Here we demonstrate how to refer to this data using the prefix $result_object_key.
[]ConversationItem
Fetch Action Response Object