
AMQP Trigger
CertifiedPoll AMQP queue into batch executions
AMQP Trigger
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.
type: io.kestra.plugin.amqp.TriggerExamples
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
host *Requiredstring
Broker host
Hostname or IP of the RabbitMQ broker; required unless using the deprecated url.
queue *Requiredstring
Queue name to consume
AMQP queue to read from; required and must already exist.
serdeType *Requiredstring
STRINGSTRINGJSONPayload serde format
Controls how message bodies are read and written; use STRING for raw text or JSON for structured data. Defaults to STRING.
allowConcurrent Non-dynamicboolean
falseSpecifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.
autoAck booleanstring
falseAutomatic acknowledgment
When true, the broker acknowledges messages as soon as they are delivered. When false, the trigger ACKs after processing and NACKs on failure.
consumerTag string
KestraConsumer tag
Client-supplied consumer tag used for tracing and cancellations; defaults to Kestra in tasks and triggers.
interval Non-dynamicstring
PT1MdurationInterval 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.
maxDuration string
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.
maxRecords integerstring
Maximum records
Soft cap on messages consumed before stopping; evaluated after each ACKed message. Required when maxDuration is not set.
password string
Password
Password for the connection; required when the broker enforces authentication.
port string
5672Broker port
TCP port for AMQP connections; defaults to 5672.
stopAfter Non-dynamicarray
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTEDList of execution states after which a trigger should be stopped (a.k.a. disabled).
username string
Username
Username for the connection; uses broker default (often guest) when not set.
virtualHost string
/Virtual host
Broker virtual host path; defaults to /.
when string
trueA 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.
Outputs
count integer
Total messages consumed
Count of messages acknowledged before the stop condition was reached.
uri string
uriURI of file storing consumed messages
Internal storage path to the ION-serialized batch returned as taskrun.outputs.uri or trigger.uri.