Most multi-tenant SaaS apps that send email do it from one shared identity. There's a notifications@yourapp.com, every customer's mail flows through it, and the tenant is just a from_name you stamp on the subject line or a footer you swap out. That's fine until it isn't — until Tenant A's spam complaints drag down Tenant B's deliverability, until a reply from a customer lands in a single firehose inbox you now have to fan back out, until one tenant wants a stricter send cap than another and you realize you built none of that into the data model.
So let's not share. Let's give every tenant its own real mailbox — a dedicated Agent Account per customer, each with its own grant_id, its own send identity, its own policy and limits, grouped into its own workspace. Not one inbox with a thousand label hacks. A thousand inboxes, isolated by construction.
I work on the Nylas CLI, so the terminal commands below are the exact ones I reach for when I'm wiring this up. Every step gets the two-angle tour: the raw curl call and the nylas command that does the same thing.
Why per-tenant beats one shared sender
The shared-sender model fails along a few predictable seams. Per-tenant Agent Accounts close each one:







