A type-safe, event-driven workflow orchestration library for building robust, distributed workflows in Go with compile-time safety and horizontal scaling.
Workflow is a Go library for building distributed, event-driven workflows as type-safe state machines. It solves the problem of creating reliable, scalable business logic pipelines—like order processing or user onboarding—by providing compile-time safety, automatic retries, and horizontal scaling out of the box.
Go developers building distributed systems, microservices, or business process automation that require reliable workflow orchestration with type safety and scalability.
Developers choose Workflow for its compile-time type safety using Go generics, infrastructure flexibility with pluggable adapters, and production-ready features like observability and exactly-once processing, all while avoiding the complexity of external orchestration engines.
The type-safe, event-driven workflow orchestration library that scales with your business. Build robust, distributed workflows in Go with compile-time safety, automatic retries, and horizontal scaling out of the box. Integrate with your existing tech stack using adapters 🚀
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages Go generics to catch errors at compile time, ensuring workflow state transitions and data types are validated before deployment, as demonstrated in the type-safe step definitions with IDE support.
Supports pluggable adapters for databases, message queues, and coordination services, allowing teams to start with in-memory components and scale to production systems like Kafka and SQL databases without vendor lock-in.
Includes production-ready monitoring with Prometheus metrics, a web UI for visualization, structured logging, and distributed tracing out of the box, reducing the need for additional setup.
Guarantees reliable execution via the transactional outbox pattern for durable events, preventing duplicate processing in distributed environments and enhancing fault tolerance.
Setting up production-ready adapters for databases and message queues requires additional configuration and dependency management, which can be cumbersome compared to all-in-one orchestration solutions.
Limited to Go developers and lacks multi-language support, making it unsuitable for polyglot microservices architectures that rely on other programming languages, unlike alternatives like Temporal.
Does not offer graphical workflow design tools or BPMN modeling, which may hinder collaboration with non-technical stakeholders accustomed to visual editors in tools like Camunda.
workflow is an open-source alternative to the following products:
Camunda is an open-source workflow and decision automation platform that helps organizations orchestrate business processes across people, systems, and devices.
Temporal is an open-source workflow orchestration platform that enables developers to build and run reliable applications using durable execution.
Zeebe is an open-source workflow engine for microservices orchestration, designed to be scalable and fault-tolerant.