
Camunda PublishMessage
CertifiedPublish a correlation message to a Camunda cluster
Camunda PublishMessage
Publish a correlation message to a Camunda cluster
Publishes a message that Camunda correlates against message subscriptions of running process instances,
or buffers for its time to live when nothing is waiting for it yet.
Leave correlationKey unset for a message that starts a process instance through a message start event.
type: io.kestra.plugin.camunda.PublishMessageExamples
Publish a payment confirmation for one order and log the message key.
id: publish_camunda_message
namespace: company.team
tasks:
- id: publish_message
type: io.kestra.plugin.camunda.PublishMessage
restAddress: "{{ secret('CAMUNDA_REST_ADDRESS') }}"
clientId: "{{ secret('CAMUNDA_CLIENT_ID') }}"
clientSecret: "{{ secret('CAMUNDA_CLIENT_SECRET') }}"
authorizationServerUrl: "{{ secret('CAMUNDA_AUTH_SERVER_URL') }}"
audience: "{{ secret('CAMUNDA_AUDIENCE') }}"
messageName: payment-received
correlationKey: order-123
variables:
amount: 99.99
- id: log_result
type: io.kestra.plugin.core.log.Log
message: "Published message with key {{ outputs.publish_message.messageKey }}"
Publish a message that starts a new process instance, with deduplication over 10 minutes.
id: start_camunda_process_by_message
namespace: company.team
tasks:
- id: publish_message
type: io.kestra.plugin.camunda.PublishMessage
restAddress: http://localhost:8080
messageName: order-created
messageId: "{{ execution.id }}"
timeToLive: PT10M
variables:
orderId: ORD-123
Properties
messageName *Requiredstring
Name of the message
Must match the message name of the BPMN message subscription.
audience string
OAuth2 audience
Required for OAuth2 against a self-managed cluster. The audience claim the identity provider must issue the token for, commonly zeebe-api. Derived from the cluster for Camunda SaaS, so leave it unset there.
clientId string
OAuth2 client ID
Set together with clientSecret and either authorizationServerUrl (self-managed) or clusterId (SaaS).
clientSecret string
OAuth2 client secret
Set together with clientId.
clusterId string
Camunda SaaS cluster ID
Switches the client to SaaS mode, where restAddress and grpcAddress are derived from the cluster ID and region.
correlationKey string
Correlation key of the message
Matched against the correlation key of waiting subscriptions. Leave unset to publish a message without a correlation key, as used by message start events.
grpcAddress string
gRPC gateway address of the Camunda cluster
For a self-managed cluster, for example http://localhost: 26500. Setting it without restAddress sends this task's commands over gRPC instead of REST.
messageId string
Unique ID used to deduplicate the message
Camunda rejects a second message with the same name, correlation key and ID while the first one is still buffered.
password string
Password for Basic authentication
Must be set together with username.
region string
Camunda SaaS region
For example bru-2. Only used with clusterId.
restAddress string
REST API base URL of the Camunda cluster
For a self-managed cluster, the orchestration cluster address, for example http://localhost: 8080. Commands use the REST API unless only grpcAddress is set.
tenantId string
Camunda tenant ID
Camunda's own multi-tenancy identifier, unrelated to the Kestra tenant the flow runs in.
Applied to every command this task sends. Defaults to <default>, which is the only tenant
on a cluster that does not have multi-tenancy enabled.
timeToLive string
How long Camunda buffers the message when no subscription matches yet
ISO-8601 duration. Defaults to the client default of one hour. PT0S discards the message when nothing is waiting for it.
transport string
RESTGRPCWhich API to send commands over
Defaults to gRPC on Camunda SaaS, and on a self-managed cluster to the API implied by
whichever address is set, falling back to REST when both or neither are.
SaaS defaults to gRPC because a default free-tier cluster answers 404 Not Found on the REST
base the client derives, while gRPC succeeds with the same credentials. Set REST to opt
back in if your cluster serves it.
username string
Username for Basic authentication
Must be set together with password. Mutually exclusive with the OAuth2 properties.
variables object
Variables to merge into the correlated process instance
Outputs
messageKey integer
Key assigned to the published message
tenantId string
Tenant the message belongs to