Azure Trigger

Azure Trigger

Certified

Poll Azure Service Bus for messages

Polling trigger that reads from a queue or topic subscription using connection string or Azure AD credentials. Polls every 60 seconds and stops each cycle when maxReceiveDuration elapses or no messages are returned.

yaml
type: io.kestra.plugin.azure.servicebus.Trigger
yaml
id: service_bus_listen
namespace: company.team

tasks:
  - id: log_messages
    type: io.kestra.plugin.core.log.Log
    message: "Received {{ trigger.count }} messages, stored at {{ trigger.uri }}."

triggers:
  - id: watch
    type: io.kestra.plugin.azure.servicebus.Trigger
    maxReceiveDuration: PT30S
    maxMessages: 100
    queueName: your-queue-name
    tenantId: "{{ secret('AZURE_TENANT_ID') }}"
    clientId: "{{ secret('AZURE_CLIENT_ID') }}"
    clientSecret: "{{ secret('AZURE_CLIENT_SECRET') }}"
Properties

Maximum time to wait for messages before returning; Consume defaults to PT10S and Trigger must provide a value

Defaultfalse

Specifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.

Client ID for the Azure app registration used with tenantId

Client secret for the Azure app registration; not needed when using pemCertificate

Connection string for the Service Bus namespace or entity; overrides client credential authentication

DefaultPT1M
Formatduration

Interval between polling.

The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S. See ISO_8601 Durations for more information of available interval values.

Maximum messages to consume before returning; leave empty for no cap

PEM certificate content for certificate-based authentication

Name of the Service Bus queue to connect to; queueName and topicName are mutually exclusive

Possible Values
PEEK_LOCKRECEIVE_AND_DELETE

Service Bus receive mode; defaults to PEEK_LOCK

DefaultSTRING
Possible Values
STRINGJSON

Serializer/deserializer for the message body; defaults to STRING

SubTypestring
Possible Values
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTED

List of execution states after which a trigger should be stopped (a.k.a. disabled).

Possible Values
NONEDEAD_LETTER_QUEUETRANSFER_DEAD_LETTER_QUEUE

SubQueue type to connect to (e.g., DEAD_LETTER_QUEUE)

Subscription name when connecting to a topic

Azure Active Directory tenant ID used when authenticating without a connection string

Name of the Service Bus topic to connect to; queueName and topicName are mutually exclusive

Defaulttrue

A condition that determines whether the trigger should run.

A Pebble expression evaluated at trigger time. The trigger fires only when the expression evaluates to a truthy value (true, a non-empty string, a non-zero number). Use this to gate trigger execution on dynamic runtime values such as execution labels, flow variables, or environment conditions.

Number of consumed rows

Formaturi

File URI containing consumed messages