resumes Sep 24, 9:38 AM
{"firstname":"Daniel","lastname":"Lee","phone":"+16025550148","tags":"new;high_value;vip","reward_claimed_at":"2026-09-20T09:38:43Z"}{
"firstname": "Daniel",
"lastname": "Lee",
"phone": "+16025550148",
"tags": "new;high_value;vip",
"reward_claimed_at": "2026-09-20T09:38:43Z"
}{"id":"48213","properties":{"firstname":"Daniel","lastname":"Lee","tags":"new;high_value;vip","reward_claimed_at":"2026-09-20T09:38:43Z","lastmodifieddate":"2026-09-20T09:38:44.184Z"},"updatedAt":"2026-09-20T09:38:44.184Z","archived":false}{
"id": "48213",
"properties": {
"firstname": "Daniel",
"lastname": "Lee",
"tags": "new;high_value;vip",
"reward_claimed_at": "2026-09-20T09:38:43Z",
"lastmodifieddate": "2026-09-20T09:38:44.184Z"
},
"updatedAt": "2026-09-20T09:38:44.184Z",
"archived": false
}Distribution of events across the steps and exits of this flow.
Three surfaces and one link between them. Built to give the design conversation something concrete; none of it is a commitment to implementation.
Same row-card pattern as the existing Campaigns tab, one row per run, not per workflow — because a contact can re-enter, and each entry has its own version and outcome.
The log shape Test Mode already uses, rendered for a real run: one row per executed step, ordered, timestamped, with a per-node-type detail block. Steps not yet reached stay visible, greyed, so the whole path reads.
Clicking a step bar opens Step Contacts (At this step / Passed through / Exited here) as a 384px panel that pushes the chart rather than covering it. The chart header gets the one list a bar cannot carry: everyone who made it at least through the trigger.
Contacts › View › Logs › Workflows › {workflow} › run {instance_id}
← from Step Contacts row "View run"
← from the contact's own Workflows tab
→ back out via "View in Analytics" (workflow + version, the Sankey)
One object in two directions: aggregate → individual from the Sankey, individual → aggregate from the run header. "View in Analytics" lands on the same version the run executed, not the current one.