AMQP Trigger

AMQP Trigger

Certified

Poll AMQP queue into batch executions

Polls the queue every 60 seconds by default, consumes until maxRecords or maxDuration, and launches one execution per batch with payloads stored at trigger.uri. Set at least one stop condition; deprecated url is kept for backward compatibility—use host/port/virtualHost instead.

yaml
type: io.kestra.plugin.amqp.Trigger
yaml
id: amqp_trigger
namespace: company.team

tasks:
  - id: trigger
    type: io.kestra.plugin.amqp.Trigger
    host: localhost
    port: 5672
    username: guest
    password: "{{ secret('AMQP_PASSWORD') }}"
    virtualHost: /my_vhost
    maxRecords: 2
    queue: amqpTrigger.queue
Properties

Broker host

Hostname or IP of the RabbitMQ broker; required unless using the deprecated url.

Queue name to consume

AMQP queue to read from; required and must already exist.

DefaultSTRING
Possible Values
STRINGJSON

Payload serde format

Controls how message bodies are read and written; use STRING for raw text or JSON for structured data. Defaults to STRING.

Defaultfalse

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

Defaultfalse

Automatic acknowledgment

When true, the broker acknowledges messages as soon as they are delivered. When false, the trigger ACKs after processing and NACKs on failure.

DefaultKestra

Consumer tag

Client-supplied consumer tag used for tracing and cancellations; defaults to Kestra in tasks and triggers.

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 duration

Soft cap on run time; checked roughly every 100 ms so actual runtime can slightly exceed this value. Required when maxRecords is not set.

Maximum records

Soft cap on messages consumed before stopping; evaluated after each ACKed message. Required when maxDuration is not set.

Password

Password for the connection; required when the broker enforces authentication.

Default5672

Broker port

TCP port for AMQP connections; defaults to 5672.

SubTypestring
Possible Values
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTED

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

Username

Username for the connection; uses broker default (often guest) when not set.

Default/

Virtual host

Broker virtual host path; defaults to /.

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.

Total messages consumed

Count of messages acknowledged before the stop condition was reached.

Formaturi

URI of file storing consumed messages

Internal storage path to the ION-serialized batch returned as taskrun.outputs.uri or trigger.uri.