FAQ
What can a new account send to?
New accounts can send to managed *.primitive.email addresses, verified custom domains, organization member emails, and known external addresses that previously sent authenticated inbound mail. Broader external sending is enabled per organization with send_to_any_domain. See Sending Mail.
Do I need DNS to start?
No. Every account gets a managed *.primitive.email subdomain with MX and outbound records already published.
When should I add a custom domain?
Add a custom domain when recipients should see your brand in the address or when existing domain mail should route into Primitive. See Domains.
Should I use a Function or a webhook?
Use a Function when you want Primitive to host the inbound handler. Use a webhook when you already have application infrastructure that should receive signed events directly.
Are Functions cross-language?
Hosted Functions execute JavaScript, so Function handler examples are TypeScript/JavaScript. Application code can use the Node.js, Python, or Go SDKs.
Do I have to verify webhook signatures?
Yes for self-hosted webhooks. Anyone who discovers a webhook URL can POST to it. The high-level SDK receive helpers verify signatures automatically when you pass the webhook secret. See Signature Verification.
What happens if my webhook fails?
Primitive retries failed deliveries with backoff. The event id stays stable across retries. Return 2xx after accepting the event, including duplicate events you already processed.
Can I replay an inbound email?
Yes. Use the dashboard, primitive emails:replay-email-webhooks --id <email-id>, or POST /v1/emails/{id}/replay.
Where do agents start?
Start with /llms.txt, then /docs/llms.txt, then the relevant page-level markdown mirror such as /docs/quickstart.md or /docs/api.md.
Is PrimitiveMail the same product?
PrimitiveMail is the self-hosted SMTP inbox surface. Primitive is the hosted programmatic email infrastructure documented here. See PrimitiveMail if you need to operate your own mail server.