
Sent SendMessage
CertifiedSend a message with Sent
Sent SendMessage
Send a message with Sent
Sends text or a Sent template to one or more E.164 recipients. The task enforces mutually exclusive text/template content and uses an idempotency key so transient retries cannot duplicate a completed send.
type: io.kestra.plugin.sent.messages.SendMessageExamples
Validate a text message without delivery
id: sent_text_sandbox
namespace: company.messaging
inputs:
- id: recipient
type: STRING
tasks:
- id: send_message
type: io.kestra.plugin.sent.messages.SendMessage
apiKey: "{{ secret('SENT_API_KEY') }}"
to:
- "{{ inputs.recipient }}"
channels:
- sent
- sms
text: "Your test notification is ready."
sandbox: true
Validate a template message without delivery
id: sent_template_sandbox
namespace: company.messaging
inputs:
- id: recipient
type: STRING
tasks:
- id: send_template
type: io.kestra.plugin.sent.messages.SendMessage
apiKey: "{{ secret('SENT_API_KEY') }}"
to:
- "{{ inputs.recipient }}"
template:
name: order_update
parameters:
order_number: "TEST-123"
sandbox: true
Properties
apiKey *string
Sent API key
API key sent in the x-api-key header. Store it as a Kestra secret.
to *array
Recipients
One or more destination phone numbers in E.164 format.
assets
Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.
io.kestra.core.models.assets.AssetsDeclaration
IGNOREFAILWARNAsset failure behavior
Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.
Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.
The assets consumed as inputs.
io.kestra.core.models.assets.AssetIdentifier
1The assets produced as outputs.
io.kestra.plugin.ee.assets.Dataset
1150{}1150io.kestra.plugin.ee.assets.File
1150{}1150io.kestra.plugin.ee.assets.Table
1150{}1150io.kestra.plugin.ee.assets.VM
1150{}1150io.kestra.core.models.assets.External
1150{}1150io.kestra.core.models.assets.Custom
11501Custom asset type
{}1150baseUrl string
https://api.sent.dm/v3Sent API base URL
Sent API v3 origin. Keep the default in production. Custom HTTPS origins are intended for controlled proxies; plain HTTP is accepted only for loopback test servers.
channels array
["sent"]Channels
Ordered Sent channel fallback list: sent, sms, whatsapp, and/or rcs.
connectTimeout string
PT10SConnection timeout
Maximum time allowed to establish the Sent API connection.
idempotencyKey string
sent_{{ taskrun.id }}Idempotency key
Stable key for this logical send. Sent caches completed mutation responses for 24 hours. The default sent_{{ taskrun.id }} reuses the cached response when the same task run is deliberately re-sent; use a new key for an intentional new send.
initialRetryInterval string
PT1SInitial retry interval
Initial exponential-backoff delay for retry-safe transient failures.
maxAttempts integerstring
3Maximum request attempts
Total attempts for retry-safe calls. GET requests are retry-safe; mutations retry only when an idempotency key is present.
maxRetryInterval string
PT30SMaximum retry interval
Upper bound for exponential backoff and provider Retry-After delays.
profileId string
Sender Profile ID
Optional Sender Profile UUID for x-profile-id scoping with an organization API key. Profile API keys must leave this unset.
readTimeout string
PT30SRead timeout
Maximum idle time while reading a Sent API response.
sandbox booleanstring
falseSandbox mode
When true, Sent validates and simulates the send without delivering a production message.
template
Template
Sent template reference and optional parameters. Set exactly one of text or template.
io.kestra.plugin.sent.messages.SendMessage-MessageTemplate
Template ID
Sent template UUID. Mutually exclusive with name.
Template name
Sent template name. Mutually exclusive with id.
Template parameters
Template placeholder values. Avoid placing unnecessary personal data in workflow logs or labels.
text string
Text
Plain message text. Set exactly one of text or template.
Outputs
data object
Sent response data
Provider resource data from the successful v3 response envelope.
idempotentReplayed boolean
Idempotent replay
Whether Sent returned a cached response for a previously completed idempotent request.
requestId string
Sent request ID
Provider request identifier for support and correlation.
sandbox boolean
Sandbox response
Whether Sent confirmed that the mutation was simulated without side effects.