Access is invite-only during beta. Once invited, create a key to personalize these examples. Production sending requires a separate review.
Send emails with Inngest
Install the Inngest adapter and call sendEmail inside step.run.
sendEmail wraps cluster send in step.run. Inngest retries the step. A 429 with error throttled is the hourly throttle or 24-hour cap. The adapter becomes RetryAfterError and waits before retrying. Do not retry that send immediately. Permanent errors become NonRetriableError.
clusterId is required. This client posts to POST /api/v1/teams/:teamId/clusters/:clusterId/sends. Pass idempotencyKey from event.id so a replayed step does not double-send.
Node 18 or later. Open pull requests on postshiba/sdks.
Webhooks
HMAC-SHA256 of {timestamp}.{rawBody} against X-Capsule-Signature with a sha256= prefix. X-Capsule-Timestamp must be within 300 seconds. Each event is sent as postshiba/email.event.
Errors and throttling
Failed responses throw PostShibaHttpError with status, code, and retryable. sendEmail maps those onto Inngest errors before they leave the step.
A 429 with error throttled means the cluster hit its hourly throttle or its 24-hour cap. This adapter waits before retrying. Do not retry that send immediately.
See Errors.