Concepts

Providers

Resend and SendGrid sit behind a project; Send & Retain owns everything above.

A provider is the delivery backend for a project — Resend or SendGrid. You connect one per project. Send & Retain owns everything above the provider: templates, contacts, automations, suppression, unsubscribe, the message log, and metrics.

One abstraction

Feature code never talks to a provider directly — all sends go through one internal abstraction, so switching providers doesn't change how you use the API. The same POST /api/v1/emails works regardless of which provider backs the project.

Credentials

Provider API keys are per-project and entered only in the dashboard under Settings → Provider. They're validated against the provider and stored encrypted. They never travel through the API, chat, or MCP, and are never logged.

Domains and senders

Sending requires a verified domain and a sender on it. A from-address that doesn't resolve to a verified domain is rejected before send. See Connect a provider.

Webhooks

Each provider posts delivery events back to a per-project webhook, verified against the raw body (Svix HMAC for Resend, ECDSA for SendGrid). These drive message status and automatic suppression. See Webhooks.

On this page