Projected Surface

What you send is what the record says

Outbound stops being a side channel and becomes part of the operating record. Each message is projected from the same shared graph your job runs on, sent through Microsoft Graph sendMail, and logged with a content hash -- so what went out is provable, not buried in a vendor silo.

Why it matters

Email projected from your record

Email projected from your record

The Projected Email Surface turns outbound into a view of your operating record. The same project data that drives the web and chat surfaces renders the email -- role-aware, financial figures redacted to who may see them, rendered once per audience and sent to many. No second system to reconcile. No copy-paste of a number that drifts before it lands.

One graph, one send path

One shared, ledger-anchored graph feeds every channel through a single resolution pipeline -- Cascade, then preference, ABAC, and sensitivity, then render. Cadence is data, not a rented engine: gtm_sequence templates hold each step subject, body, and delay, and app.timer workers fire them on schedule and dedupe per recipient.

The work, split

What the agent does, what you decide

Agent does it

The agent resolves each recipient against the graph, renders once per audience group, and redacts any figure a role may not see. It dispatches the gtm_sequence on cadence through Graph sendMail, holds a send-rate limit, and dedupes so no one gets the same notice twice. The calm 80 percent runs without you touching it.

You decide

You step in for the message that carries weight -- the pay-app status, the draw notice, the change-order number sent to a counterparty. You approve a figure the record already settled, so it goes out as a number no one at the table can dispute. The send leaves a receipt: a content hash bound to the event and the recipient, recorded once.

How it works

From signal to recorded send

Project signal or cadence tick

Shared ledger-anchored graph

Resolve gtm_sequence step and ABAC role

Render once and redact by role

Consequential number

Agent sends via Graph sendMail

Human approves the figure

Content hash recorded and deduped

See email that stays on the record

Pick your seat -- contractor, lender, or community lead -- and watch a send project from the shared graph, redact by role, and leave its receipt. No marketing silo to wire up, no number to reconcile twice.