How It Works
When a browser visits the generated URL:- Browser Request: A user clicks the generated URL or their browser navigates to it
- Track Event Processing: Morf decodes the embedded track data and processes the analytics event
- Response: The browser receives either:
- A custom success page (if
Success Textwas provided) - A JSON response (if no
Success Textwas provided)
- A custom success page (if
Use Cases
- Email Marketing: Track email click-through events by embedding tracking URLs in email content
- Social Media: Monitor engagement from social media posts and campaigns
- Web Analytics: Track button clicks, form submissions, or other user interactions
- Customer Journeys: Capture touchpoints across different platforms and channels
Parameters
Hide parameters
Hide parameters
Custom message to display on the success page when someone visits the generated URL. If provided, users will see a branded HTML page with this text after the track event is processed. If not provided, a JSON response will be returned instead.
The name of the analytics event to trigger when the URL is accessed. This event will be processed through Morf’s Track API.
ID The unique identifier for the user associated with this track event. This value will be stored as the active customer ID.HI ID PII Property values to store on the Morf Profile when the track event is processed. These properties will be permanently updated on the user’s profile.HI ID PII Data associated with the event that will be available within Morf Workflows but is not automatically stored on the Morf Profile.Copy
Ask AI
{
"$result_object_key": {
"track_data": "A serialized morf_analytics.v1.Track protobuf message",
"url": "https://api.morf.healthcare/v1/track/link/d2aae7a5-b3b0-4bee-991b-695d501c91e5?success_text=hello%20world&track_data=ChQKEmpvaW4tYnV0dG9uLWNsaWNrZWQSJGQyYWFlN2E1LWIzYjAtNGJlZS05OTFiLTY5NWQ1MDFjOTFlNRo%3D"
}
}
Copy
Ask AI
{
"$result_object_key": {
"track_data": {
"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",
"boulevard": "(Optional) A Boulevard Client 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",
"medplum": "(Optional) A Medplum Patient ID",
"nextech": "(Optional) A Nextech 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",
"spruce": "(Optional) A Spruce Contact ID",
"stripe": "(Optional) A Stripe Customer ID",
"zoho": "(Optional) A Zoho Contact 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"
},
"url": "The url-encoded track event URL which when a browser request is made to will trigger the track event to fire in Morf"
}
}
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.
Hide fields
Hide fields
The url-encoded track event URL which when a browser request is made to will trigger the track event to fire in Morf
CEL
Copy
Ask AI
$result_object_key.url
Example
Copy
Ask AI
"https://api.morf.healthcare/v1/track/link/d2aae7a5-b3b0-4bee-991b-695d501c91e5?success_text=hello%20world&track_data=ChQKEmpvaW4tYnV0dG9uLWNsaWNrZWQSJGQyYWFlN2E1LWIzYjAtNGJlZS05OTFiLTY5NWQ1MDFjOTFlNRo%3D"
The track event data that was encoded into the URL
CEL
Copy
Ask AI
$result_object_key.track_data
Example
Copy
Ask AI
"A serialized morf_analytics.v1.Track protobuf message"
(Optional) Unique identifier for the event (e.g. a UUID)
CEL
Copy
Ask AI
$result_object_key.track_data.event_id
Example
Copy
Ask AI
"42b7133b-84db-436e-b721-7a63f2dde515"
(Required) Event name
CEL
Copy
Ask AI
$result_object_key.track_data.event_name
Example
Copy
Ask AI
"join-button-clicked"
ID (Required) Unique user ID. Note: this value will be stored as the active customer IDCEL
Copy
Ask AI
$result_object_key.track_data.user_id
Example
Copy
Ask AI
"d2aae7a5-b3b0-4bee-991b-695d501c91e5"
ID (Optional) Profile IDs. Third party IDs to associate with the Profile.CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids
Example
Copy
Ask AI
{
"active_campaign": "51071",
"athena": "12312",
"axle_health": "0f472e61-138b-4bbe-b222-a5d254e2cdcd",
"boulevard": "urn:blvd:Client:client123",
"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",
"medplum": "7daba5ae-708d-4d75-9d5a-4744cea5cdbe",
"nextech": "a9db751b-c154-4e75-8f9c-ae7dd89ddeec",
"open_phone": "67f8f19bccf2f4d79cd6357a",
"posthog": "a9560d4e-5e75-43c8-89f8-2245ec2bdfd4",
"recurly": "3658ba4c-085d-4995-9e36-25f0401007db",
"sana_benefits": "100031277",
"segment": "51261b3f-de23-459e-9c82-ed97496e317e",
"spruce": "entity_0E5QDGJC03000",
"stripe": "cus_RpeF9OcJYBinL6",
"zoho": "1234567890123456789"
}
(Optional) Any unique identifier in your organization
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.customer
Example
Copy
Ask AI
"1ea83e74-1dd7-4569-b8d6-866a43680917"
(Optional) A responder UUID for a Formsort flow
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.formsort
Example
Copy
Ask AI
"1ea83e74-1dd7-4569-b8d6-866a43680917"
(Optional) A Healthie User (Patient) ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.healthie
Example
Copy
Ask AI
"43281"
(Optional) An Axle Health Patient ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.axle_health
Example
Copy
Ask AI
"0f472e61-138b-4bbe-b222-a5d254e2cdcd"
(Optional) A Butterfly Labs Patient ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.butterfly_labs
Example
Copy
Ask AI
"663dbc35-500b-47d3-9d42-4bc29a729a08"
(Optional) A Recurly Subscriber ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.recurly
Example
Copy
Ask AI
"3658ba4c-085d-4995-9e36-25f0401007db"
(Optional) An Intercom Contact ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.intercom
Example
Copy
Ask AI
"6025231623163"
(Optional) A Sana Benefits Patient ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.sana_benefits
Example
Copy
Ask AI
"100031277"
(Optional) An Active Campaign Contact ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.active_campaign
Example
Copy
Ask AI
"51071"
(Optional) A Junction Patient ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.junction
Example
Copy
Ask AI
"51261b3f-de23-459e-9c82-ed97496e317e"
(Optional) A Segment Anonymous- or User- ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.segment
Example
Copy
Ask AI
"51261b3f-de23-459e-9c82-ed97496e317e"
(Optional) An IntakeQ Patient ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.intakeq
Example
Copy
Ask AI
"8213"
(Optional) A Customer.io Customer ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.customer_io
Example
Copy
Ask AI
"e2e9163e-2a48-4cd4-9c78-0f7477c55126"
(Optional) A Freshdesk Contact ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.freshdesk
Example
Copy
Ask AI
"410ad90d-805f-4be5-9942-5490259c3ed6"
(Optional) A Hubspot Contact ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.hubspot
Example
Copy
Ask AI
"80478911765"
(Optional) A Stripe Customer ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.stripe
Example
Copy
Ask AI
"cus_RpeF9OcJYBinL6"
(Optional) A user ID for a Feathery flow
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.feathery
Example
Copy
Ask AI
"a9560d4e-5e75-43c8-89f8-2245ec2bdfd4"
(Optional) An OpenPhone Contact ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.open_phone
Example
Copy
Ask AI
"67f8f19bccf2f4d79cd6357a"
(Optional) An Elation Patient ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.elation
Example
Copy
Ask AI
"100121441215212"
(Optional) An Athena Patient ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.athena
Example
Copy
Ask AI
"12312"
(Optional) A PostHog Person ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.posthog
Example
Copy
Ask AI
"a9560d4e-5e75-43c8-89f8-2245ec2bdfd4"
(Optional) A Nextech Patient ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.nextech
Example
Copy
Ask AI
"a9db751b-c154-4e75-8f9c-ae7dd89ddeec"
(Optional) A Medplum Patient ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.medplum
Example
Copy
Ask AI
"7daba5ae-708d-4d75-9d5a-4744cea5cdbe"
(Optional) A Spruce Contact ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.spruce
Example
Copy
Ask AI
"entity_0E5QDGJC03000"
(Optional) A Zoho Contact ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.zoho
Example
Copy
Ask AI
"1234567890123456789"
(Optional) A Boulevard Client ID
CEL
Copy
Ask AI
$result_object_key.track_data.profile_ids.boulevard
Example
Copy
Ask AI
"urn:blvd:Client:client123"
HI PII (Optional) Property values to store on the Morf ProfileCEL
Copy
Ask AI
$result_object_key.track_data.profile_properties
Example
Copy
Ask AI
{
"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 ProfileCEL
Copy
Ask AI
$result_object_key.track_data.event_data
Example
Copy
Ask AI
{
"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)
CEL
Copy
Ask AI
$result_object_key.track_data.occurred_at
Example
Copy
Ask AI
"2025-01-02T03:04:05+06:00"
Description coming soon
CEL
Copy
Ask AI
$result_object_key.track_data.source_id
Example
Copy
Ask AI
null
