> ## Documentation Index
> Fetch the complete documentation index at: https://docs.comforthub.app/llms.txt
> Use this file to discover all available pages before exploring further.

# How it all fits together

> The map of every system, what flows between them, and which way

Eight systems have a page here. Two of them, Zoho and Supabase, are the spine. Everything else hangs off Supabase, and Sentry watches it from outside.

```mermaid theme={null}
%%{init: {'flowchart': {'defaultRenderer': 'elk'}}}%%
flowchart LR
  subgraph office [The office]
    Z[Zoho CRM]
    WG[Widgets inside Zoho]
  end
  subgraph engine [The engine]
    S[(Supabase)]
  end
  subgraph field [The field]
    APP[7AM app]
  end
  subgraph money [Money]
    QB[QuickBooks]
    PAY[Pay page on Helcim]
    ST[Stripe]
  end
  subgraph reach [Reaching people]
    TW[Twilio phone and texts]
    RS[Resend email]
    PUSH[Push notifications]
  end
  subgraph watch [Watching]
    SEN[Sentry]
  end
  AS[The assistant]

  Z <-->|two-way sync, every mirrored module| S
  WG -->|writes Zoho fields| Z
  APP <-->|reads views, writes tables| S
  S -->|customers, items, invoices| QB
  PAY -->|paid| S
  PAY -->|payment, through Helcim's accounting link| QB
  ST -->|subscription events| S
  S <-->|calls, voicemail, texts| TW
  S -->|booking, invoice, receipt| RS
  S -->|appointments, approvals, messages| PUSH --> APP
  AS -->|proposals to approve| S
  S -->|crashes and conditions| SEN
  SEN -->|asks once a minute| S
```

## Reading the map

* **Zoho and Supabase mirror each other.** A change on either side crosses over within a minute. Which side wins for each field is fixed in advance; see [Who is the source of truth](/systems/who-is-the-source-of-truth).
* **The widgets are the screens inside Zoho**: the Service calendar, the sales scheduler, and the actions on a new lead. They write Zoho fields and the sync carries them over, so there is one door into the engine; the only thing they ask the engine for directly is the next work order name. See [the widgets](/reference/glossary).
* **The app talks only to Supabase.** It reads prepared views and writes a small set of tables. It never talks to Zoho or QuickBooks directly.
* **QuickBooks is told about invoices.** A payment taken on the pay page is recorded in Supabase, and Helcim's own accounting link writes it into QuickBooks; the engine does not.
* **Email goes out through one door**, and that door redirects every message to the owner's inbox until the allowlist is widened on purpose. See [Email safety](/handbook/running/email-safety).
* **Sentry watches from outside.** The engine sends it every crash and every condition the monitor opens; Sentry asks the engine once a minute whether a technician can still read their work; and Sentry, not the engine, emails the owner. See [Sentry](/systems/sentry).
* **The assistant proposes; it never sends.** It watches the owner's email, drafts a reply in his voice and pushes the draft to the app, where he approves it or does not. See [the assistant](/reference/glossary).

## The systems

<Columns cols={2}>
  <Card title="Zoho CRM" href="/systems/zoho-crm">The office's system of record.</Card>
  <Card title="The Supabase backend" href="/systems/supabase-backend">Database, sync, workers, monitor, functions.</Card>
  <Card title="The 7AM app" href="/systems/the-7am-app">The technicians' iPhone app.</Card>
  <Card title="QuickBooks" href="/systems/quickbooks">Customers, items, invoices, payments.</Card>
  <Card title="Stripe" href="/systems/stripe">Subscriptions only.</Card>
  <Card title="Twilio" href="/systems/twilio">The phone line and texts.</Card>
  <Card title="Resend" href="/systems/resend">Transactional email.</Card>
  <Card title="Sentry" href="/systems/sentry">Crashes, conditions, the uptime check, the emails.</Card>
</Columns>

## Related

* [How Comfort Hub runs](/handbook/the-business/how-comfort-hub-runs)
* [Who is the source of truth](/systems/who-is-the-source-of-truth)
* [Environments and secrets](/systems/environments-and-secrets)
