The round-robin rep assignment in the hot lead path is a useful detail - that’s the step that usually stays manual even in mature CRM setups. One thing to consider: if step 2 pulls a live website snapshot for AI scoring, the freshness of that data matters. If the company updates their pricing page or rebrands, a stale snapshot can skew the budget/urgency read. A small cache layer (store the URL + last-fetched timestamp in Airtable, re-scrape only if older than X days) keeps scoring accurate without hitting the scraper on every inbound lead.
Good point, and it’s the kind of thing that only shows up once you’re running this on real volume — right now every inbound lead triggers a fresh scrape, so a company that updates their pricing page mid-week could get scored on stale context without any way to notice.
The cache-with-timestamp approach in Airtable is a clean fix — cheap to check, and it caps how often you’re hitting the site instead of scraping on every single lead. Adding that to the next revision alongside the dedupe fixes from the other threads.
Coming from an operations background, I always find the handoff points more interesting than the automation itself.
Capturing a lead is easy. Making sure the right person receives it quickly, nobody owns the same lead twice, and priorities remain consistent as volume increases is usually where things become complicated.
I’m particularly curious how you’re handling duplicate detection, lead ownership conflicts and score recalibration over time.
The combination of scoring, routing and nurture inside a single workflow feels much closer to how operational teams actually work than treating those as isolated automations.
Appreciate the operations lens — you’re pointing at exactly the parts that are hardest to get right, and honestly the current version leans simple on all three:
Duplicate detection: right now every webhook hit creates a new Airtable record with no check against existing email/company. The real fix is a lookup step before “Log Lead” — if a match exists, update that record instead of creating a new one, and skip re-triggering the hot-lead branch if it’s already been routed once.
Lead ownership: rep assignment is a flat random round-robin with no memory of prior assignment. So a re-submitted lead could land with a different rep than before. Same fix as above — look up by email first, and if already assigned, route back to the existing owner instead of reassigning.
Score recalibration: none currently. The AI score is computed once at intake and never revisited, so a lead sitting in nurture for 3 weeks still shows its day-0 score. I’d handle that through the weekly schedule trigger that’s already in there — instead of just reporting stats, have it re-run scoring on anything still “in nurture” and bump the tier if it’s shifted.
None of that’s in the build today — it’s tuned for the clean single-source case, not the messier reality you’re describing. Good excuse to go add proper dedup/ownership logic though.
Update: went ahead and built these in. Dedup is now handled with an Airtable lookup-by-email before anything gets created, ownership conflicts route back to the existing rep instead of reassigning, and there’s a second weekly trigger that recalibrates the score on anything still sitting in nurture based on days-since-created. Workflow’s up to 31 nodes now. Thanks again for the push — this is a meaningfully better version because of it.