What you import
Day-1 7 a.m. cron + manual + force webhook → previous-month window → skip if report_id already sent → read Leads / Invoices / Ledger / Quotes / Inbox / Tasks → Code totals → gated memo → owner Gmail → Reports upsert.
n8n
One compiled note: jobs, money, reviews, next month.
Month-end is a Sunday rebuild. This file totals the tabs it can read and emails you a short memo on Day 1.
Before: you rebuild the month by hand. After: one owner email and a Reports tab row.
Day-1 7 a.m. cron + manual + force webhook → previous-month window → skip if report_id already sent → read Leads / Invoices / Ledger / Quotes / Inbox / Tasks → Code totals → gated memo → owner Gmail → Reports upsert.
n8n
n8n, Gmail, the Google Sheets tabs that already exist. OpenAI optional (template fallback).
25–40 minutes after those tabs exist.
Missing tab = no data, not invented totals. Landlord occupancy is a lead-status proxy, not a rent roll. No client SMS. Does not flip CRM status. Narrative lives here; the nightly board is WF28.
Calls booked, jobs closed, invoices open, reviews asked.
Same loop.
New patients, no-shows, reviews. Not a clinical quality report.
Consults, shows, memberships asked.
Appointments kept, no-shows, reviews.
Chairs filled, rebooks, reviews.
Intakes, engaged matters, aging invoices — high level.
Vacancies, on-time rent, open tickets.
Compile the month-end operator report (import this)
Video posting soon.
START-HERE.pdf page 1. Credentials. First live node. Email hello@ if a node name moved.
Preferred implementation partner is listed on Partners. Other approved shops later. We do not hold the file hostage.