Skip to content
Recued
Menu
← Back to recipes

Last meaningful touch (D-139)

by recued-core v1

Vendor-agnostic Layer-1 silent producer wrapping the `last_meaningful_touch` topic per spec § A.9.1. Subscribes to bus events from BOTH connection.api.hubspot.deal AND connection.api.salesforce.opportunity updates; for each fired record reads any housekeeping-computed row via `enrichment-list` with the dynamic `{{context.event.payload.platform}}` scope and re-emits it through the recipe cycle. The substrate-side housekeeping engagement-aggregates code (D-139 P3 — `backend/server/src/housekeeping/engagement-aggregates/last-meaningful-touch.ts`) is the canonical compute path with the full Pass-4 evidence-quality fold (excludes tracking-pixel + workflow auto-logs via authorship NOT IN crm_automation/system_process; lifecycle filter point_in_time + completed only; direction-agnostic — any meaningful inbound or outbound counts). Recipe writes carry `authored_by_recipe_id` distinct from the housekeeping `system.housekeeping.<topic>` author so both rows coexist on the unique `(topic, scope, target_id, authored_by_recipe_id)` index without conflict. Honest-zero defaults per the value-schema invariant (last_touch_at = 0 paired with all-null vendor + entity + authorship + direction) when no housekeeping row exists yet — the value-schema validator enforces the pairing.

How it works 13 steps

Inspect the data fetches, transforms, gates, and output this recipe runs.

Data fetch
existing_rows ?
Process (12 steps)
last_touch_at default
Apply default
has_touch compare
Check if last touch at is greater than 0
vendor_raw default
Apply default
vendor ternary
Apply ternary
entity_raw default
Apply default
entity ternary
Apply ternary
authorship_raw default
Apply default
authorship ternary
Apply ternary
direction_raw default
Apply default
direction ternary
Apply ternary
upsert ?
card to_summary
Format results as a summary card

Trust & control

What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.

Where it runs

Device + server Runs on your device (browser) or your server.

Permissions it requires

Write enrichment dataRead your HubSpot connectionRead your Salesforce connection
Declared by the recipe — Recued grants these at install, where you review them before approving.

Data it touches

Warehousedata.enrichmentdata.connection

About

Tags

crmhubspotsalesforcedealengagementtouchreactivecross_vendor

Details

13 steps recipe_id: last-meaningful-touch-producer