
Twilio Messaging TwilioExecution
CertifiedSend execution summary via Twilio
Twilio Messaging TwilioExecution
Send execution summary via Twilio
Uses the bundled template to send execution status, flow metadata, and a UI link through Twilio Notify. Intended for Flow-triggered alerts; for errors handlers, use TwilioAlert instead.
type: io.kestra.plugin.twilio.notify.TwilioExecutionExamples
Send a Twilio notification on a failed flow execution.
id: failure_alert
namespace: company.team
tasks:
- id: send_alert
type: io.kestra.plugin.twilio.notify.TwilioExecution
url: "{{ secret('TWILIO_NOTIFICATION_URL') }}" # format: https://notify.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Notifications
accountSID: "{{ secret('TWILIO_ACCOUNT_SID') }}"
authToken: "{{ secret('TWILIO_AUTH_TOKEN') }}"
identity: 0000001
executionId: "{{trigger.executionId}}"
triggers:
- id: failed_prod_workflows
type: io.kestra.plugin.core.trigger.Flow
conditions:
- type: io.kestra.plugin.core.condition.ExecutionStatus
in:
- FAILED
- WARNING
- type: io.kestra.plugin.core.condition.ExecutionNamespace
namespace: prod
prefix: true
Installation
Our standard Docker images already include this plugin. If you use a -slim image or another setup, install it with the following command:
kestractl plugins get io.kestra.plugin:plugin-twilio --compatible-for $KESTRA_VERSION For kestractl, use your Kestra version with --compatible-for, or specify an exact plugin version.
For Kestra CLI, replace LATEST with a specific version or version range to pin the plugin version.
Properties
accountSID *string
1Twilio Account SID
Used with authToken for HTTP basic authentication
authToken *string
1Twilio Auth Token
Secret token paired with the Account SID; store as a secret
url *string
1Twilio Notify service URL
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
{}1150body string
Notification body override
Optional string merged into the payload as Body; rendered with flow variables
customFields object
Custom fields
Key-value pairs appended to the notification body, one key: value line each
customMessage string
Custom message
Optional message appended to the notification body after the execution summary
executionId string
{{ execution.id }}Execution ID
Defaults to the current execution ID using an expression
identity string
Recipient identity
Notify identity used to target specific devices when provided
options
Options
Optional HTTP client overrides for timeouts, charset, and headers
io.kestra.plugin.twilio.AbstractTwilioConnection-RequestOptions
Connect timeout
Time allowed to establish the HTTP connection before failing
PT0SConnection pool idle timeout
Deprecated, this option has no effect: Kestra's HTTP client does not support a connection pool idle timeout.
UTF-8Default request charset
Charset applied to requests when not specified; defaults to UTF-8
java.nio.charset.Charset
HTTP headers
HTTP headers to include in the request
10485760Max response size
Deprecated, this option has no effect: Kestra's HTTP client does not limit the response size.
PT5MRead idle timeout
How long a read connection may stay idle before closing; defaults to 5m
PT10SRead timeout
Deprecated, this option has no effect: Kestra's HTTP client has no separate read timeout. Use readIdleTimeout instead.
payload string
Notify payload body
Raw JSON payload sent to Twilio; overrides templated fields when provided
tag string
Recipient tag
Notify tag used to target user groups
templateRenderMap object
Template variables
Key-value map rendered before applying the message template