Events
- Active Campaign
- Acuity
- Athena
- Axle Health
- Butterfly Labs
- Calendly
- Customer.io
- Elation
- Feathery
- Formsort
- Healthie
- Hubspot
- IntakeQ
- Junction
- Morf
- Posthog
- Segment
Actions
- Active Campaign
- Athena
- Customer.io
- Elation
- Facebook
- Freshdesk
- Google
- Healthie
- Hubspot
- IntakeQ
- Intercom
- Mixpanel
- Morf
- Nextdoor
- Open Phone
- Segment
- Slack
- Spruce
- Stedi
- Stripe
- Tiktok
- Twilio
Track
Event payload details and trigger documentation for the Morf Track API
{
"event_data": {
"plan_purchased": "Comprehensive Wellness++",
"session_id": "13139112"
},
"event_id": "42b7133b-84db-436e-b721-7a63f2dde515",
"event_name": "join-button-clicked",
"occurred_at": "2025-01-02T03:04:05+06:00",
"profile_ids": {
"active_campaign": "51071",
"athena": "12312",
"axle_health": "0f472e61-138b-4bbe-b222-a5d254e2cdcd",
"butterfly_labs": "663dbc35-500b-47d3-9d42-4bc29a729a08",
"customer": "1ea83e74-1dd7-4569-b8d6-866a43680917",
"customer_io": "e2e9163e-2a48-4cd4-9c78-0f7477c55126",
"elation": "100121441215212",
"feathery": "a9560d4e-5e75-43c8-89f8-2245ec2bdfd4",
"formsort": "1ea83e74-1dd7-4569-b8d6-866a43680917",
"freshdesk": "410ad90d-805f-4be5-9942-5490259c3ed6",
"healthie": "43281",
"hubspot": "80478911765",
"intakeq": "8213",
"intercom": "6025231623163",
"junction": "51261b3f-de23-459e-9c82-ed97496e317e",
"open_phone": "67f8f19bccf2f4d79cd6357a",
"posthog": "a9560d4e-5e75-43c8-89f8-2245ec2bdfd4",
"recurly": "3658ba4c-085d-4995-9e36-25f0401007db",
"sana_benefits": "100031277",
"segment": "51261b3f-de23-459e-9c82-ed97496e317e",
"stripe": "cus_RpeF9OcJYBinL6"
},
"profile_properties": {
"date_of_birth": "2000-01-01",
"email_address": "johndoe@example.com",
"phone_number": "+15551234122"
},
"source_id": null,
"user_id": "d2aae7a5-b3b0-4bee-991b-695d501c91e5"
}
{
"event_data": "(Optional) Data associated with the event, *not* automatically stored on the Morf Profile",
"event_id": "(Optional) Unique identifier for the event (e.g. a UUID)",
"event_name": "(Required) Event name",
"occurred_at": "(Optional) Time the event occurred, if not provided - the time Morf receives the track event (RFC3339 ISO Format)",
"profile_ids": {
"active_campaign": "(Optional) An Active Campaign Contact ID",
"athena": "(Optional) An Athena Patient ID",
"axle_health": "(Optional) An Axle Health Patient ID",
"butterfly_labs": "(Optional) A Butterfly Labs Patient ID",
"customer": "(Optional) Any unique identifier in your organization",
"customer_io": "(Optional) A Customer.io Customer ID",
"elation": "(Optional) An Elation Patient ID",
"feathery": "(Optional) A user ID for a Feathery flow",
"formsort": "(Optional) A responder UUID for a Formsort flow",
"freshdesk": "(Optional) A Freshdesk Contact ID",
"healthie": "(Optional) A Healthie User (Patient) ID",
"hubspot": "(Optional) A Hubspot Contact ID",
"intakeq": "(Optional) An IntakeQ Patient ID",
"intercom": "(Optional) An Intercom Contact ID",
"junction": "(Optional) A Junction Patient ID",
"open_phone": "(Optional) An OpenPhone Contact ID",
"posthog": "(Optional) A PostHog Person ID",
"recurly": "(Optional) A Recurly Subscriber ID",
"sana_benefits": "(Optional) A Sana Benefits Patient ID",
"segment": "(Optional) A Segment Anonymous- or User- ID",
"stripe": "(Optional) A Stripe Customer ID"
},
"profile_properties": "(Optional) Property values to store on the Morf Profile",
"source_id": null,
"user_id": "(Required) Unique user ID. Note: this value will be stored as the active customer ID"
}
The Morf Track API is used to send structured event and profile data to Morf. These events are used to trigger workflows which automatically update profile properties for your customers (Morf Profiles).
An example payload and description of the payload fields is given on the right hand side.
Events
Triggering Webhook Types
Any event_name
is supported as an event type. For example, join-button-clicked
is a valid event name. There are no limitations on the character set or length of the event name, however we recommend using a short, descriptive name which is easy to understand and identify.
Requests
Submit a POST request to the Morf Track API endpoint (ask your customer success liaison for details of the endpoint to use or navigate to the Connect
tab of a Track workflow’s trigger node in the graph).
The POST request should include a JSON body with the data defined in the schema below. See the example and a description of the payload on the right hand side for details. We recommend setting the Content-Type: application/json
header if you wish.
If a field is marked (Optional)
, you can either send that field in the payload or not. Eliding the key is tolerated as is submitting null
as the value. These are treated equivalently.
Special Object Fields
Profile Properties (profile_properties
)
Profile properties are used to store data on a Morf Profile. Any field matching an existing Morf Profile Property type will be updated on the Morf Profile. For example, if the payload’s profile properties object contains a date_of_birth
field, the Morf Profile’s date_of_birth
property will be updated.
New scalar field values inside this object will be added to the Morf Profile as new properties. For example, if you sent a new field like favorite_color
with a value of blue
, the new Property type will be created and updated on the Morf Profile.
Event Data (event_data
)
Event data is used to store data associated with the event. This data is not automatically stored on the Morf Profile but is available to be accessed within a Morf Workflow.
Profile Ids (profile_ids
)
This object is used to store IDs from third party systems. The customer
field is used to store a unique identifier in your organization. The other fields are used to store IDs from other third party systems.
{
"event_data": {
"plan_purchased": "Comprehensive Wellness++",
"session_id": "13139112"
},
"event_id": "42b7133b-84db-436e-b721-7a63f2dde515",
"event_name": "join-button-clicked",
"occurred_at": "2025-01-02T03:04:05+06:00",
"profile_ids": {
"active_campaign": "51071",
"athena": "12312",
"axle_health": "0f472e61-138b-4bbe-b222-a5d254e2cdcd",
"butterfly_labs": "663dbc35-500b-47d3-9d42-4bc29a729a08",
"customer": "1ea83e74-1dd7-4569-b8d6-866a43680917",
"customer_io": "e2e9163e-2a48-4cd4-9c78-0f7477c55126",
"elation": "100121441215212",
"feathery": "a9560d4e-5e75-43c8-89f8-2245ec2bdfd4",
"formsort": "1ea83e74-1dd7-4569-b8d6-866a43680917",
"freshdesk": "410ad90d-805f-4be5-9942-5490259c3ed6",
"healthie": "43281",
"hubspot": "80478911765",
"intakeq": "8213",
"intercom": "6025231623163",
"junction": "51261b3f-de23-459e-9c82-ed97496e317e",
"open_phone": "67f8f19bccf2f4d79cd6357a",
"posthog": "a9560d4e-5e75-43c8-89f8-2245ec2bdfd4",
"recurly": "3658ba4c-085d-4995-9e36-25f0401007db",
"sana_benefits": "100031277",
"segment": "51261b3f-de23-459e-9c82-ed97496e317e",
"stripe": "cus_RpeF9OcJYBinL6"
},
"profile_properties": {
"date_of_birth": "2000-01-01",
"email_address": "johndoe@example.com",
"phone_number": "+15551234122"
},
"source_id": null,
"user_id": "d2aae7a5-b3b0-4bee-991b-695d501c91e5"
}
{
"event_data": "(Optional) Data associated with the event, *not* automatically stored on the Morf Profile",
"event_id": "(Optional) Unique identifier for the event (e.g. a UUID)",
"event_name": "(Required) Event name",
"occurred_at": "(Optional) Time the event occurred, if not provided - the time Morf receives the track event (RFC3339 ISO Format)",
"profile_ids": {
"active_campaign": "(Optional) An Active Campaign Contact ID",
"athena": "(Optional) An Athena Patient ID",
"axle_health": "(Optional) An Axle Health Patient ID",
"butterfly_labs": "(Optional) A Butterfly Labs Patient ID",
"customer": "(Optional) Any unique identifier in your organization",
"customer_io": "(Optional) A Customer.io Customer ID",
"elation": "(Optional) An Elation Patient ID",
"feathery": "(Optional) A user ID for a Feathery flow",
"formsort": "(Optional) A responder UUID for a Formsort flow",
"freshdesk": "(Optional) A Freshdesk Contact ID",
"healthie": "(Optional) A Healthie User (Patient) ID",
"hubspot": "(Optional) A Hubspot Contact ID",
"intakeq": "(Optional) An IntakeQ Patient ID",
"intercom": "(Optional) An Intercom Contact ID",
"junction": "(Optional) A Junction Patient ID",
"open_phone": "(Optional) An OpenPhone Contact ID",
"posthog": "(Optional) A PostHog Person ID",
"recurly": "(Optional) A Recurly Subscriber ID",
"sana_benefits": "(Optional) A Sana Benefits Patient ID",
"segment": "(Optional) A Segment Anonymous- or User- ID",
"stripe": "(Optional) A Stripe Customer ID"
},
"profile_properties": "(Optional) Property values to store on the Morf Profile",
"source_id": null,
"user_id": "(Required) Unique user ID. Note: this value will be stored as the active customer ID"
}
Schema Field Details
Hide fields
Hide fields
(Optional) Unique identifier for the event (e.g. a UUID)
event_id
"42b7133b-84db-436e-b721-7a63f2dde515"
(Required) Event name
event_name
"join-button-clicked"
ID
(Required) Unique user ID. Note: this value will be stored as the active customer ID
user_id
"d2aae7a5-b3b0-4bee-991b-695d501c91e5"
ID
(Optional) Profile IDs. Third party IDs to associate with the Profile.
profile_ids
{
"active_campaign": "51071",
"athena": "12312",
"axle_health": "0f472e61-138b-4bbe-b222-a5d254e2cdcd",
"butterfly_labs": "663dbc35-500b-47d3-9d42-4bc29a729a08",
"customer": "1ea83e74-1dd7-4569-b8d6-866a43680917",
"customer_io": "e2e9163e-2a48-4cd4-9c78-0f7477c55126",
"elation": "100121441215212",
"feathery": "a9560d4e-5e75-43c8-89f8-2245ec2bdfd4",
"formsort": "1ea83e74-1dd7-4569-b8d6-866a43680917",
"freshdesk": "410ad90d-805f-4be5-9942-5490259c3ed6",
"healthie": "43281",
"hubspot": "80478911765",
"intakeq": "8213",
"intercom": "6025231623163",
"junction": "51261b3f-de23-459e-9c82-ed97496e317e",
"open_phone": "67f8f19bccf2f4d79cd6357a",
"posthog": "a9560d4e-5e75-43c8-89f8-2245ec2bdfd4",
"recurly": "3658ba4c-085d-4995-9e36-25f0401007db",
"sana_benefits": "100031277",
"segment": "51261b3f-de23-459e-9c82-ed97496e317e",
"stripe": "cus_RpeF9OcJYBinL6"
}
(Optional) Any unique identifier in your organization
profile_ids.customer
"1ea83e74-1dd7-4569-b8d6-866a43680917"
(Optional) A responder UUID for a Formsort flow
profile_ids.formsort
"1ea83e74-1dd7-4569-b8d6-866a43680917"
(Optional) A Healthie User (Patient) ID
profile_ids.healthie
"43281"
(Optional) An Axle Health Patient ID
profile_ids.axle_health
"0f472e61-138b-4bbe-b222-a5d254e2cdcd"
(Optional) A Butterfly Labs Patient ID
profile_ids.butterfly_labs
"663dbc35-500b-47d3-9d42-4bc29a729a08"
(Optional) A Recurly Subscriber ID
profile_ids.recurly
"3658ba4c-085d-4995-9e36-25f0401007db"
(Optional) An Intercom Contact ID
profile_ids.intercom
"6025231623163"
(Optional) A Sana Benefits Patient ID
profile_ids.sana_benefits
"100031277"
(Optional) An Active Campaign Contact ID
profile_ids.active_campaign
"51071"
(Optional) A Junction Patient ID
profile_ids.junction
"51261b3f-de23-459e-9c82-ed97496e317e"
(Optional) A Segment Anonymous- or User- ID
profile_ids.segment
"51261b3f-de23-459e-9c82-ed97496e317e"
(Optional) An IntakeQ Patient ID
profile_ids.intakeq
"8213"
(Optional) A Customer.io Customer ID
profile_ids.customer_io
"e2e9163e-2a48-4cd4-9c78-0f7477c55126"
(Optional) A Freshdesk Contact ID
profile_ids.freshdesk
"410ad90d-805f-4be5-9942-5490259c3ed6"
(Optional) A Hubspot Contact ID
profile_ids.hubspot
"80478911765"
(Optional) A Stripe Customer ID
profile_ids.stripe
"cus_RpeF9OcJYBinL6"
(Optional) A user ID for a Feathery flow
profile_ids.feathery
"a9560d4e-5e75-43c8-89f8-2245ec2bdfd4"
(Optional) An OpenPhone Contact ID
profile_ids.open_phone
"67f8f19bccf2f4d79cd6357a"
(Optional) An Elation Patient ID
profile_ids.elation
"100121441215212"
(Optional) An Athena Patient ID
profile_ids.athena
"12312"
(Optional) A PostHog Person ID
profile_ids.posthog
"a9560d4e-5e75-43c8-89f8-2245ec2bdfd4"
HI
PII
(Optional) Property values to store on the Morf Profile
profile_properties
{
"date_of_birth": "2000-01-01",
"email_address": "johndoe@example.com",
"phone_number": "+15551234122"
}
HI
PII
(Optional) Data associated with the event, not automatically stored on the Morf Profile
event_data
{
"plan_purchased": "Comprehensive Wellness++",
"session_id": "13139112"
}
(Optional) Time the event occurred, if not provided - the time Morf receives the track event (RFC3339 ISO Format)
occurred_at
"2025-01-02T03:04:05+06:00"
Description coming soon
source_id
null
{
"event_data": {
"plan_purchased": "Comprehensive Wellness++",
"session_id": "13139112"
},
"event_id": "42b7133b-84db-436e-b721-7a63f2dde515",
"event_name": "join-button-clicked",
"occurred_at": "2025-01-02T03:04:05+06:00",
"profile_ids": {
"active_campaign": "51071",
"athena": "12312",
"axle_health": "0f472e61-138b-4bbe-b222-a5d254e2cdcd",
"butterfly_labs": "663dbc35-500b-47d3-9d42-4bc29a729a08",
"customer": "1ea83e74-1dd7-4569-b8d6-866a43680917",
"customer_io": "e2e9163e-2a48-4cd4-9c78-0f7477c55126",
"elation": "100121441215212",
"feathery": "a9560d4e-5e75-43c8-89f8-2245ec2bdfd4",
"formsort": "1ea83e74-1dd7-4569-b8d6-866a43680917",
"freshdesk": "410ad90d-805f-4be5-9942-5490259c3ed6",
"healthie": "43281",
"hubspot": "80478911765",
"intakeq": "8213",
"intercom": "6025231623163",
"junction": "51261b3f-de23-459e-9c82-ed97496e317e",
"open_phone": "67f8f19bccf2f4d79cd6357a",
"posthog": "a9560d4e-5e75-43c8-89f8-2245ec2bdfd4",
"recurly": "3658ba4c-085d-4995-9e36-25f0401007db",
"sana_benefits": "100031277",
"segment": "51261b3f-de23-459e-9c82-ed97496e317e",
"stripe": "cus_RpeF9OcJYBinL6"
},
"profile_properties": {
"date_of_birth": "2000-01-01",
"email_address": "johndoe@example.com",
"phone_number": "+15551234122"
},
"source_id": null,
"user_id": "d2aae7a5-b3b0-4bee-991b-695d501c91e5"
}
{
"event_data": "(Optional) Data associated with the event, *not* automatically stored on the Morf Profile",
"event_id": "(Optional) Unique identifier for the event (e.g. a UUID)",
"event_name": "(Required) Event name",
"occurred_at": "(Optional) Time the event occurred, if not provided - the time Morf receives the track event (RFC3339 ISO Format)",
"profile_ids": {
"active_campaign": "(Optional) An Active Campaign Contact ID",
"athena": "(Optional) An Athena Patient ID",
"axle_health": "(Optional) An Axle Health Patient ID",
"butterfly_labs": "(Optional) A Butterfly Labs Patient ID",
"customer": "(Optional) Any unique identifier in your organization",
"customer_io": "(Optional) A Customer.io Customer ID",
"elation": "(Optional) An Elation Patient ID",
"feathery": "(Optional) A user ID for a Feathery flow",
"formsort": "(Optional) A responder UUID for a Formsort flow",
"freshdesk": "(Optional) A Freshdesk Contact ID",
"healthie": "(Optional) A Healthie User (Patient) ID",
"hubspot": "(Optional) A Hubspot Contact ID",
"intakeq": "(Optional) An IntakeQ Patient ID",
"intercom": "(Optional) An Intercom Contact ID",
"junction": "(Optional) A Junction Patient ID",
"open_phone": "(Optional) An OpenPhone Contact ID",
"posthog": "(Optional) A PostHog Person ID",
"recurly": "(Optional) A Recurly Subscriber ID",
"sana_benefits": "(Optional) A Sana Benefits Patient ID",
"segment": "(Optional) A Segment Anonymous- or User- ID",
"stripe": "(Optional) A Stripe Customer ID"
},
"profile_properties": "(Optional) Property values to store on the Morf Profile",
"source_id": null,
"user_id": "(Required) Unique user ID. Note: this value will be stored as the active customer ID"
}