Every outward supplier message is wrapped by renderEmail({ brand: 'tenant' }) and sent through sendCustomerEmail, which uses the org's configured channel with a fallback. The supplier sees the builder, not the software.
Also called: white label supplier email · my logo on the order · who does the supplier see
- 1renderEmail resolves the tenant's brand from the org id, server-side
- 2sendCustomerEmail runs the org's send cascade
- 3A 503 is returned when no channel is configured at all, so the UI can offer the integration guidance; a 502 means a real send failure
- 4The same wrapper is used by the claim route
The send route records what it replaced: 'Previously the Estimates → Order tab sent this client-side through GHL conversations ONLY, with a mailto: fallback — so when a tenant's GHL wasn't connected (or its send failed) the supplier silently received nothing.' The branding rule is stated plainly in the claim route: 'the supplier is the builder's counterparty, not ours.'
- A silent send failure when one integration is not connected
- Software branding on a message to the builder's own supplier
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →