On this page
Overview
Temporal is a durable execution platform that records application logic as Workflows and manages retries and resumption across failures or restarts. It lets teams express order processing and long-running business procedures in code without building their own state machine.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Best fit
Before adoption
What to verify before adoption
This repository contains Temporal Server; Workflow implementations require a supported SDK. Production operation also requires deliberate persistence, availability, encryption, and monitoring design. GitHub and the v1.32.0 LICENSE report MIT. The pinned Go SDK 1.49.0 used by this guide requires Go 1.26 or later.
Official sources
- [1]temporalio/temporal README at v1.32.0(2026-10-05)
- [2]Temporal official documentation(2026-10-05)
- [3]Temporal fixed version source(2026-10-05)
- [4]temporalio/temporal LICENSE at v1.32.0(2026-10-05)
- [5]temporalio/temporal GitHub metadata(2026-10-05)
- [6]Temporal Go SDK v1.49.0 go.mod(2026-10-05)
- [7]Temporal Go SDK testsuite v1.49.0 API(2026-10-05)
Supplemental curator note
It fits long-running business operations that need observable history and retries. Verify deterministic Workflow behavior in the SDK test environment before moving to a local development server.
Try it in 3 steps
- 1
Create a pinned SDK test project
Requires Go 1.26 or later and Git. Create a temporary module pinned to Temporal Go SDK 1.49.0 and testify 1.10.0.
demo=$(mktemp -d "${TMPDIR:-/tmp}/temporal-workflow.XXXXXX") && cd "$demo" && go mod init example.com/temporal-demo && go get go.temporal.io/sdk@v1.49.0 && go get github.com/stretchr/testify@v1.10.0 - 2
Write a Workflow with a timer
Write a Workflow that waits one hour in Workflow time and returns a named greeting, plus its test.
printf '%s\n' 'package demo' 'import (' ' "fmt"' ' "testing"' ' "time"' ' "github.com/stretchr/testify/require"' ' "go.temporal.io/sdk/testsuite"' ' "go.temporal.io/sdk/workflow"' ')' 'func Greeting(ctx workflow.Context, name string) (string,error) {' ' _ = workflow.Sleep(ctx, time.Hour)' ' return fmt.Sprintf("Hello %s", name), nil' '}' 'func TestGreeting(t *testing.T) {' ' var suite testsuite.WorkflowTestSuite' ' env := suite.NewTestWorkflowEnvironment()' ' env.ExecuteWorkflow(Greeting, "Ada")' ' require.True(t, env.IsWorkflowCompleted())' ' require.NoError(t, env.GetWorkflowError())' ' var result string' ' require.NoError(t, env.GetWorkflowResult(&result))' ' require.Equal(t, "Hello Ada", result)' '}' > workflow_test.go - 3
Verify the result without a server
Run the SDK test environment, which advances virtual time and requires completion with Hello Ada. No Temporal Server or external service is started.
go test -run TestGreeting -v
Growth
Growth trends · Last 30 days
23,476 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 130
- Open PRs
- 472
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- workflows
- workflow-engine
- workflow-automation
- workflow-management
- workflow-management-system
- distributed-systems
- golang
- service-bus
- service-fabric
- microservices-architecture
- microservice-framework
- microservice-orchestration
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Donetick2,616 Stars
1 shared tag(s) · 1 shared category(s) · Same language
a self-hosted chore manager connecting recurring assignments with NFC, Home Assistant, notifications, and APIs
Go - Notifuse2,233 Stars
1 shared tag(s) · 1 shared category(s) · Same language
unify newsletters, transactional email, automation, and web analytics on a self-hosted PostgreSQL messaging platform
Go - Probo1,423 Stars
1 shared tag(s) · 1 shared category(s) · Same language
operate risks, controls, vendors, privacy, and audits through web, MCP, CLI, and GraphQL in a self-hosted GRC stack
Go - n8n206,681 Stars
1 shared tag(s) · 1 shared category(s)
Connect visual workflows, code, AI agents, and human approvals in one automation runtime
TypeScript - Dagu4,261 Stars
3 shared tag(s) · 1 shared category(s) · Same language
add scheduling, retries, human tasks, and MCP around existing scripts with YAML DAGs
Go - Argo Workflows17,021 Stars
2 shared tag(s) · 1 shared category(s) · Same language
orchestrate container tasks on Kubernetes as DAGs or steps for batch, ML, data, and automation workflows
Go
Report incorrect information
Tell us if any listing information is incorrect or outdated.