Outbound
Outbound Resend (`@dsar/outbound-resend`)
Alpha
DSAR is currently in alpha. APIs, package surfaces, configuration, and documentation may change as the project evolves.
@dsar/outbound-resend provides built-in outbound DSAR notifications using the Resend API.
Package setup
Channel behavior
Notification generation remains mandatory; delivery channels execute independently:
- Webhook channel (
notificationWebhook) dispatches signed payloads. - Built-in email channel dispatches via
@dsar/outbound-resendwhen enabled. - Delivery outcomes are persisted as
pending,delivered,failed, orskipped.
Email enable/disable precedence
Built-in email enablement resolves in this order (last match wins):
notificationWebhook.disableBuiltInEmail(legacy global disable)outboundResend.enabled(global)outboundResend.tenants[tenantId].enabled(tenant override)outboundResend.tenants[tenantId].workspaces[workspaceId].enabled(workspace override)
Example config:
Recipient resolution order
Per event/request:
request.requestor.emailrequest.capture.subject.email- Workspace/tenant/global
outboundResend.fallbackRecipient
If no recipient resolves, the email attempt is recorded as skipped.
Retry and failure semantics
- Retriable channel failures follow
notificationWebhook.retryMaxAttemptsandretryDelayMs. skippedoutcomes do not retry.- Adapter errors are normalized to DSAR categories (
timeout,rate_limit,network,auth,validation,config,unknown).