Kestra tasks for interacting with Temporal workflow orchestration via the official Java SDK.
| Task | Purpose |
|---|---|
Trigger |
Start a new Temporal workflow execution |
Signal |
Send a signal to a running workflow |
Query |
Query a running workflow and return the result as JSON |
Wait |
Poll until a workflow reaches a terminal state |
Schedule |
Create or update a Temporal schedule |
All tasks share common connection properties:
| Property | Description |
|---|---|
endpoint |
host:port of the Temporal frontend (e.g. localhost:7233) |
namespace |
Temporal namespace (default: default) |
apiKey |
Bearer API key for Temporal Cloud; enables TLS automatically |
clientCert / clientKey |
PEM-encoded mTLS client certificate and key |
caCert |
PEM-encoded CA certificate for mTLS server verification |
apiKey and mTLS properties are mutually exclusive.
id: order_processing
namespace: company.team
tasks:
- id: trigger
type: io.kestra.plugin.temporal.workflow.Trigger
endpoint: "localhost:7233"
workflowType: "OrderWorkflow"
taskQueue: "order-queue"
workflowId: "order-{{ execution.id }}"
input:
- '{"orderId": "ORD-123"}'
- id: approve
type: io.kestra.plugin.temporal.workflow.Signal
endpoint: "localhost:7233"
workflowId: "{{ outputs.trigger.workflowId }}"
signalName: "approve"
- id: wait
type: io.kestra.plugin.temporal.workflow.Wait
endpoint: "localhost:7233"
workflowId: "{{ outputs.trigger.workflowId }}"
runId: "{{ outputs.trigger.runId }}"
pollInterval: "PT5S"
waitTimeout: "PT1H"Schedule tests require a real Temporal server. To run them:
docker compose -f docker-compose-ci.yml up -d
./gradlew test -Dtemporal.integration.enabled=trueApache 2.0 (c) Kestra Technologies