F01LIVESales·tier 1

Quote Follow-Up Cadence (6-Touch)

Six-touch automated follow-up after a quote is sent (d2 / d5 / d10 / d21 / d45 / d90). Email always fires; WA fires on d0/d5/d10 if mobile_no present.

Trigger
sale.order stage=Sent + cron daily 08:00
KPI / result
AED 800K-1.2M / 90 days
Audit log pattern
flow-01-cadence-*.jsonl
Queued for build  ·  Week 2 (Tue-Thu)

Runbook wires in priority order. Estimated 4h to ship.

Brain spec exists. This page becomes a full runbook (decision tree, trigger, ICP filter, Odoo objects, build steps, success metrics) when this flow comes up in the queue.

Health  ·  30-day
accept-rate
waiting for audit JSONL data
NO DATA YET
0 events / 30d
~/ivan-ops/audit/flow-01-*.jsonl
§ 01 · Decision tree

Flowchart in plain English

§ 02 · Suppression gates

Nine hard checks before any send fires

#GatePurposeRule
1kill_switchGlobal halt; file-based~/ivan-ops/flow-flags/flow-01.disabled exists; halt
2quote_stateOnly state='sent' quotes eligiblesale.order.state == 'sent'
3validity_dateQuote must not be expiredvalidity_date >= today
4cadence_pausedAuto-pause on customer reply / supersession / DNCx_cadence_paused == False
5touch_capMax 6 touchesx_touch_count < 6
6customer_replyHalt cadence on inbound message since last touchno inbound mail.message > x_last_touch_date
7dncHonour partner-level Do Not Contactres.partner.x_dnc == False
8email_bouncedSkip if email bouncedres.partner.x_email_bounced == False
9business_dayGCC weekend awareness per partner.x_countryweekday(today) not in country_weekend_set
§ 03 · Email templates

Live from Odoo mail.template

Bodies fetched live from Odoo at render time. Merge fields rendered with sample values (Sarah Khalil / The Westin Mina Seyahi).

DAY 2touch 1/6Day 2 · Confirm Receipt
odoo #84
fetching live from Odoo...
DAY 5touch 2/6Day 5 · Recent Install
odoo #85
fetching live from Odoo...
DAY 10touch 3/6Day 10 · Decision Check
odoo #86
fetching live from Odoo...
DAY 21touch 4/6Day 21 · Timeline Confirm
odoo #87
fetching live from Odoo...
DAY 45touch 5/6Day 45 · Still Relevant
odoo #88
fetching live from Odoo...
DAY 90touch 6/6Day 90 · Close-Out + Future
odoo #89
fetching live from Odoo...
§ 04 · WhatsApp templates

From Odoo WhatsApp module; Meta-pending

Body lookup wires when Odoo whatsapp.template + Meta WABA are linked. For now, names + intent only.

quote_followup_day0
UTILITY
Confirm receipt with name + project
PENDING META APPROVAL
quote_followup_day5
MARKETING
Recent install photo + walkthrough offer
PENDING META APPROVAL
quote_followup_day10
UTILITY
Lead-time pressure with order-by date
PENDING META APPROVAL
large_quote_alert_ivanINTERNAL
UTILITY
Internal: AED 100K+ alert to Ivan
PENDING META APPROVAL
reply_alert_yazanINTERNAL
UTILITY
Internal: customer reply alert to Yazan
PENDING META APPROVAL
§ 05 · Drive assets

Photo library; segment-matched

§ 06 · Audit log

Last 30 days of sends + skips

Audit feed connector wires in v0.1. Reads ~/ivan-ops/audit/flow-NN-*.jsonl.