Skip to content

kestra-io/plugin-temporal

Repository files navigation

Kestra workflow orchestrator

Kestra Temporal Plugin

Last Version License Github star

Kestra Temporal Plugin

Kestra tasks for interacting with Temporal workflow orchestration via the official Java SDK.

Tasks

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

Connection

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.

Example: trigger, signal, wait

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"

Integration tests

Schedule tests require a real Temporal server. To run them:

docker compose -f docker-compose-ci.yml up -d
./gradlew test -Dtemporal.integration.enabled=true

License

Apache 2.0 (c) Kestra Technologies

About

Temporal plugin for Kestra

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Generated from kestra-io/plugin-template