Single orchestrator
One workflow handles intake through record creation: webhook receipt, deduplication, gating, enrichment, scoring, and write-out. The raw payload is archived before anything parses it, so any window can be replayed.
I built and operate a single 92-node orchestrator that turns third-party incident webhooks into qualified, contactable opportunities inside a CRM. Ownership resolution for trusts and LLCs, enrichment in cost order, a versioned severity model, and structured record creation, in four to eight seconds per record.
The client sells a service that has to reach a property owner within days of a loss. Incident feeds arrive as webhooks, hundreds a day, and most of them are not worth a phone call: a smoking oven, an extinguished rubbish fire, a smoke investigation with no source found.
The expensive mistakes sit at both ends. Enrich everything and you pay for thousands of lookups on incidents nobody would ever work. Filter too hard and you drop the working attic fire that would have been the best deal of the month.
Ownership is the other half of the problem. A property held by a trust or an LLC usually still has a human behind it, and a naive read of the owner record throws those away. When I started, that was the single largest source of missed opportunity, and it was invisible because the records were never created.
One workflow handles intake through record creation: webhook receipt, deduplication, gating, enrichment, scoring, and write-out. The raw payload is archived before anything parses it, so any window can be replayed.
Owner records are normalized before classification, so properties held by trusts and LLCs with a human behind them are kept rather than discarded. Abbreviation handling covers the forms that actually appear in county data, including the ones that look like noise.
Property data, phone validation, and email discovery run in ascending cost order, and only on records that already cleared the gates. Nothing calls a paid endpoint speculatively.
A model reads the dispatch narrative and returns a severity score from 0 to 100 with a written rationale. The rationale is the audit trail: a rep can see why a record was ranked where it was.
The model runs last. Every gate that can be decided from structured data is decided before a token is spent. That ordering holds data and model spend to about two cents a record, against the dollar or more it would cost to enrich and score everything that arrives.
Ownership abbreviations are where the money was. The classifier was discarding properties held in trusts because the abbreviation forms were not covered. Fixing the normalization and backfilling the skipped records moved conversion further than any prompt work did.
Raw payloads are archived before parsing. When a vendor changes a field shape I reprocess the affected window instead of reconstructing what happened from logs and memory.
Selectivity beat volume. Monthly record creation fell by roughly half while deals per month roughly tripled. Reps ignore a queue that is mostly noise, and no amount of additional volume fixes that.
I built the monitoring before anyone asked for it. Per-run cost, per-vendor call counts, field-mapping gaps, and error classification surface in a small app rather than living in my head.
Record to deal conversion improved roughly five times between March and June, and held through July. It moved because the pipeline became more selective: tighter ownership resolution, a rewritten severity model, and a backfill of everything the old gates had wrongly skipped.
I checked whether the recent cohorts were flattering themselves by being recent. They are not. Records under 60 days old convert at roughly four times the rate of the 60 to 120 day cohort. The newer records win despite having had less time to close, which is the opposite of what a timing artifact looks like.
The next moves are clear: revenue attribution back to the source record, a second severity model trained on closed outcomes rather than the dispatch narrative alone, and per-region cost ceilings.
For focused AI systems architecture or production workflow work, write directly. I take on limited, non-conflicting fractional builds.