Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.senderkit.com/llms.txt

Use this file to discover all available pages before exploring further.

Delivery in SenderKit has two layers. A channel is the kind of message — email, SMS, or push. A provider is the service that actually delivers it — Postmark, Twilio, APNs, and so on. You build templates against channels; SenderKit routes each send to the right provider behind a single interface.

Channels

SenderKit supports three channels:
  • email
  • sms
  • push
A template targets exactly one channel, fixed when it’s created. A send goes out on that channel; for raw sends you name the channel explicitly.

Providers

You connect your own provider accounts in the dashboard. SenderKit supports:
ChannelProviders
emailPostmark, SendGrid, Amazon SES, Mailgun, SparkPost
smsTwilio, Amazon SNS, Vonage, MessageBird
pushAPNs, FCM, Expo
Credentials are encrypted at rest. Each channel has one default connection, and a template can override that default to use a specific connection.

How a send picks a provider

You don’t choose a provider per send — SenderKit resolves one for you:
  1. The template’s provider override, if it has one.
  2. Otherwise, the workspace default for the channel.
  3. If neither is configured (in live mode), the send fails with provider_not_configured.
Provider failover is not available yet — it’s planned. Today, if the chosen provider rejects a message, SenderKit retries the same connection a few times and then marks the message failed. It does not automatically fall back to a different provider.
In test mode, no provider is called at all — SenderKit short-circuits delivery, so an unconfigured channel still “sends” fine while you’re developing.

Sending

How a send is dispatched to a provider.

Messages

Which provider handled a message, and what happened.