Temporal

Active
GitHub Go MIT

Description

Temporal is a distributed durable execution platform that turns agent workflows from ad-hoc scripts into observable production systems through automatic retries and state management.

Key Features

  • Durable workflow execution — workflows are event-sourced and resumable from any point after a crash
  • Automatic retries and timeouts — built-in configurable retry policies, timeouts, and exponential backoff
  • Multi-language SDKs — official SDKs for Go, Java, TypeScript, Python, .NET, PHP and more
  • Activity and child workflow composition — supports Activity, child workflows, Saga, and compensation patterns
  • Visualization and history replay — Web UI for inspecting workflow execution history, state, and call stacks
  • Cross-service transactions — Saga/Compensation patterns for distributed transaction consistency

Use Cases

💡 Reliably orchestrating multi-step LLM agent tasks in production with automatic timeout and rate-limit handling
💡 Defining long-running workflows as code that survive days or weeks of execution
💡 Calling external APIs from Activities with automatic retry on transient failures
💡 Composing multiple microservices as Sagas with automatic compensation for failed downstream calls
💡 Replaying any historical workflow execution via the Web UI to debug production issues

Strengths & Limitations

Strengths

  • Actively maintained, recent updates
  • High community interest (22.3k stars)
  • Permissive open-source license (MIT)

Categories

Quick Start

# Start a local Temporal dev server
brew install temporal
temporal server start-dev

# Install the Go SDK
go get go.temporal.io/sdk

# Define a workflow (workflow.go)
package workflow
import (
    "time"
    "go.temporal.io/sdk/workflow"
)
func GreetingWorkflow(ctx workflow.Context, name string) (string, error) {
    ao := workflow.ActivityOptions{StartToCloseTimeout: time.Second * 10}
    ctx = workflow.WithActivityOptions(ctx, ao)
    var result string
    err := workflow.ExecuteActivity(ctx, ComposeGreeting, name).Get(ctx, &result)
    return result, err
}

# Start a Worker and trigger a workflow execution
go run worker/main.go
temporal workflow start --task-queue greeting-tasks --type GreetingWorkflow --input '"World"'

Related Projects

Hatchet

7.7k · Go
Active A+

🪓 An orchestration engine for background tasks, AI agents, and durable workflows.

workfloworchestrationdurable-execution +1
  • · Durable Workflows — fault-tolerant long-running tasks with pause/resume, event waits, and automatic recovery from failure
  • · DAG Orchestration — build data pipelines and complex workflows with directed acyclic graph support
  • · Multi-Language SDKs — first-class support for Python, TypeScript, Go, and Ruby applications

Argo Workflows

16.9k · Go
Active A

Argo Workflows is an open-source, container-native workflow engine for Kubernetes that orchestrates parallel jobs and can be used to drive AI agent pipelines and multi-step tasks.

workflowkubernetesorchestration +1
  • · Container-native workflows — each step runs in its own container for isolation and reproducibility
  • · DAG and step orchestration with parallel branches, loops, exit hooks, and retries
  • · Multiple execution modes including container, script, Suspend/Resume, and resource templates

AutoKitteh

1.1k · Go
Stale B

AutoKitteh is a durable workflow automation platform for AI agents and integrations, with code-first workflows, long-running state, and deep observability.

workflowdurable-executionautomation +1
  • · Durable execution engine that survives crashes, restarts, and multi-day schedules
  • · Code-first workflows written in Python with versioning and type checking
  • · Native integration adapters for GitHub, Slack, Google Workspace, HTTP, and databases

Conductor

32.1k · Java
Active A+

An event-driven agentic orchestration platform providing a durable and highly resilient execution engine for applications and AI agents.

orchestrationworkflow-enginedistributed-systems +2
  • · Durable Execution — Every step persisted; survives crashes, restarts, and network failures with configurable retries
  • · Dynamic Workflows — Runtime-resolved dynamic forks, tasks, and sub-workflows; LLMs generate JSON workflow definitions
  • · AI Agent Orchestration — 14+ native LLM providers, MCP tool calling, function calling, and human-in-the-loop approval