{"id":13461627,"url":"https://github.com/serverlessworkflow/specification","last_synced_at":"2026-02-18T00:02:53.679Z","repository":{"id":37093803,"uuid":"264246502","full_name":"serverlessworkflow/specification","owner":"serverlessworkflow","description":"Contains the official specification for the Serverless Workflow Domain Specific Language. It provides detailed guidelines and standards for defining, executing, and managing workflows in serverless environments, ensuring consistency and interoperability across implementations.","archived":false,"fork":false,"pushed_at":"2026-01-12T17:55:55.000Z","size":35336,"stargazers_count":872,"open_issues_count":8,"forks_count":172,"subscribers_count":28,"default_branch":"main","last_synced_at":"2026-01-12T23:09:39.299Z","etag":null,"topics":["cncf","serverless","specification","workflow"],"latest_commit_sha":null,"homepage":"http://serverlessworkflow.io","language":"Gherkin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/serverlessworkflow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"contributing.md","funding":null,"license":"LICENSE","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":"MAINTAINERS.md","copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-05-15T16:40:28.000Z","updated_at":"2026-01-12T17:55:59.000Z","dependencies_parsed_at":"2023-12-26T13:36:59.188Z","dependency_job_id":"659794e2-e50e-450e-9d32-c2f49fa7c7e2","html_url":"https://github.com/serverlessworkflow/specification","commit_stats":null,"previous_names":["cncf/wg-serverless-workflow"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/serverlessworkflow/specification","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverlessworkflow%2Fspecification","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverlessworkflow%2Fspecification/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverlessworkflow%2Fspecification/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverlessworkflow%2Fspecification/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/serverlessworkflow","download_url":"https://codeload.github.com/serverlessworkflow/specification/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverlessworkflow%2Fspecification/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29563296,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T21:50:49.831Z","status":"ssl_error","status_checked_at":"2026-02-17T21:46:15.313Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cncf","serverless","specification","workflow"],"created_at":"2024-07-31T11:00:49.251Z","updated_at":"2026-02-18T00:02:53.661Z","avatar_url":"https://github.com/serverlessworkflow.png","language":"Gherkin","funding_links":[],"categories":["Makefile","TypeScript","Gherkin","workflow"],"sub_categories":[],"readme":"[![contributions Welcome](https://img.shields.io/badge/Contributions-Welcome-green.svg?style=flat)](https://github.com/serverlessworkflow/specification/issues)\n[![license](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/serverlessworkflow/specification/blob/master/LICENSE)\n[\u003cimg alt=\"GitHub Release\" src=\"https://img.shields.io/github/v/release/serverlessworkflow/specification?label=Release\"\u003e](https://github.com/serverlessworkflow/specification/releases/latest)\n\u003cbr\u003e\n[\u003cimg src=\"http://img.shields.io/badge/Website-blue?style=flat\u0026logo=google-chrome\u0026logoColor=white\"\u003e](https://serverlessworkflow.io/) \n[\u003cimg src=\"http://img.shields.io/badge/Slack-4A154B?style=flat\u0026logo=slack\u0026logoColor=white\"\u003e](https://cloud-native.slack.com/messages/serverless-workflow) \n[\u003cimg src=\"https://img.shields.io/badge/LinkedIn-blue?logo=linkedin\u0026logoColor=white\"\u003e](https://www.linkedin.com/company/serverless-workflow/)\n[\u003cimg src=\"https://img.shields.io/twitter/follow/CNCFWorkflow?style=social\"\u003e](https://twitter.com/CNCFWorkflow)\n\n## Table of Contents\n\n- [About](#about)\n- [Ecosystem](#ecosystem)\n  + [DSL](dsl.md)\n  + [CTK](/ctk/README.md)\n  + [SDKs](#sdks)\n  + [Runtimes](#runtimes)\n  + [Tooling](#Tooling)\n  + [Landscape](#cncf-landscape)\n- [Documentation](#documentation)\n- [Community](#community)\n  + [Communication](#communication)\n  + [Governance](#governance)\n  + [Code of Conduct](#code-of-conduct)\n  + [Weekly Meetings](#weekly-meetings)\n+ [Support](#support)\n  - [Adoption](#adoption)\n  - [Sponsoring](#sponsoring)\n\n## About\n\nServerless Workflow presents a vendor-neutral, open-source, and entirely community-driven ecosystem tailored for defining and executing DSL-based workflows in the realm of Serverless technology. \n\nThe Serverless Workflow DSL is a high-level language that reshapes the terrain of workflow creation, boasting a design that is ubiquitous, intuitive, imperative, and fluent. \n\nBid farewell to convoluted coding and platform dependencies—now, crafting powerful workflows is effortlessly within reach for everyone!\n\nKey features:\n\n- **Easy to Use**: Designed for universal understanding, Serverless Workflow DSL enables users to quickly grasp workflow concepts and create complex workflows effortlessly.\n- **Event Driven**: Seamlessly integrate events into workflows with support for various formats, including CloudEvents, allowing for event-driven workflow architectures.\n- **Service Oriented**: The Serverless Workflow DSL empowers developers to seamlessly integrate with service-oriented architectures, allowing them to define workflows that interact with various services over standard application protocols like HTTP, GRPC, OpenAPI, AxsyncAPI, and more.\n- **FaaS Centric**: Seamlessly invoke functions hosted on various platforms within workflows, promoting a function-as-a-service (FaaS) paradigm and enabling microservices architectures.\n- **Timely**: Define timeouts for workflows and tasks to manage execution duration effectively.\n- **Fault Tolerant**: Easily define error handling strategies to manage and recover from errors that may occur during workflow execution, ensuring robustness and reliability.\n- **Schedulable**: Schedule workflows using CRON expressions or trigger them based on events, providing control over workflow execution timing.\n- **Interoperable**: Integrates seamlessly with different services and resources.\n- **Robust**: Offers features such as conditional branching, event handling, and looping constructs.\n- **Scalable**: Promotes code reusability, maintainability, and scalability across different environments.\n\n## Ecosystem\n\nServerless Workflow ecosystem is hosted by the [Cloud Native Computing Foundation (CNCF)](https://www.cncf.io/) and was approved as a\nCloud Native Sandbox level project on July 14, 2020.\n\nIt encompasses a comprehensive suite of components and tools designed to facilitate the creation, management, and execution of serverless workflows. \n\n1. **[DSL](dsl.md) (Domain Specific Language)**: The core of the ecosystem, defining the fundamental syntax and semantics of Serverless Workflow specifications.\n\n2. **[CTK](/ctk/README.md) (Conformance Test Kit)**: A set of Gherkin features utilized for both conformance testing and Behavior Driven Design (BDD), ensuring compliance and facilitating testing across implementations.\n\n3. **[SDKs](#sdks) (Software Development Kits)**: These enable developers to interact with serverless workflows in various programming languages, providing functionalities such as reading, writing, building, and validating workflows.\n\n4. **[Runtimes](#runtimes)**: Dedicated environments for executing workflows defined using the Serverless Workflow DSL, ensuring seamless deployment and operation within diverse runtime environments.\n\n5. **[Tooling](#tooling)**: Additional utilities and resources tailored to enhance the development, debugging, and management of serverless workflows, streamlining the workflow lifecycle from creation to deployment and maintenance.\n\n### SDKs\n\nThe Serverless Workflow SDKs are essential tools designed to assist developers in consuming, parsing, validating, and testing their workflows utilizing the Serverless Workflow DSL.\n\nThese SDKs empower developers to seamlessly integrate serverless workflows into their applications, providing robust support for various programming languages. By offering comprehensive functionality, they streamline the development process and enhance workflow management.\n\nExplore our SDKs for different programming languages:\n\n- [.NET](https://github.com/serverlessworkflow/sdk-net)\n- [Go](https://github.com/serverlessworkflow/sdk-go)\n- [Java](https://github.com/serverlessworkflow/sdk-java)\n- [PHP](https://github.com/serverlessworkflow/sdk-php)\n- [Python](https://github.com/serverlessworkflow/sdk-python)\n- [Rust](https://github.com/serverlessworkflow/sdk-rust)\n- [TypeScript](https://github.com/serverlessworkflow/sdk-typescript)\n\nDon't see your favorite implementation on the list? Shout out to the community about it or, even better, contribute to the ecosystem with a new SDK!\n\nNo matter your preferred language, our SDKs provide the tools you need to leverage the power of serverless workflows effectively.\n\n### Runtimes\n\n| Name | About |\n| --- | --- |\n| [Apache KIE SonataFlow](https://sonataflow.org) | Apache KIE SonataFlow is a tool for building cloud-native workflow applications. You can use it to do the services and events orchestration and choreography. |\n| [Java SDK reference implementation](https://github.com/serverlessworkflow/sdk-java/tree/main/impl) | Full compliant Java implementation of the specification |\n| [Lemline](https://github.com/lemline/lemline) | Lemline is a highly scalable runtime running on top of your existing messaging infrastructure. |\n| [Synapse](https://github.com/serverlessworkflow/synapse) | Synapse is a scalable, cross-platform, fully customizable platform for managing and running Serverless Workflows. |\n\n### Tooling\n\nIn order to enhance developer experience with the Serverless Workflow DSL, we provide a [Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=serverlessworkflow.serverless-workflow-vscode-extension).\n\nThe sources of the extension can be found [here](https://github.com/serverlessworkflow/vscode-extension).\n\n### CNCF Landscape\n\nServerless Workflow project falls under the [CNCF \"App Definition and Development\"](https://landscape.cncf.io/card-mode?category=app-definition-and-development\u0026grouping=category) category.\n\nIt is a member project of the [CNCF Serverless Working Group](https://github.com/cncf/wg-serverless).\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://landscape.cncf.io/?category=application-definition-image-build\u0026grouping=category\" target=\"_blank\"\u003e\u003cimg src=\"media/landscape/cncf-landscape.png\" width=\"700px\" alt=\"CNCF Landscape\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Documentation\n\nThe documentation for Serverless Workflow includes:\n\n- [**DSL**](dsl.md): Documents the fundamentals aspects and concepts of the Serverless Workflow DSL.\n- [**DSL Reference**](dsl-reference.md): References all the definitions used by the Serverless Workflow DSL.\n- [**Comparison**](comparison.md): See how Serverless Workflow compares to other DSLs.\n- [**Examples**](./examples/README.md): A collection of practical examples demonstrating specific features and functionalities of Serverless Workflow.\n- [**Use Cases**](./use-cases/README.md): Detailed use cases illustrating how Serverless Workflow can be applied in various real-world scenarios.\n\n## Community\n\nWe have a growing community working together to build a community-driven and vendor-neutral\nworkflow ecosystem. Community contributions are welcome and much needed to foster project growth.\n\nSee [here](community/contributors.md) for the list of community members that have contributed to the specification.\n\nTo learn how to contribute to the specification please refer to ['how to contribute'](contributing.md).\n\nIf you have any copyright questions when contributing to a CNCF project like this one,\nreference the [Ownership of Copyrights in CNCF Project Contributions](https://github.com/cncf/foundation/blob/master/copyright-notices.md).\n  \n### Communication\n\n- Community Slack Channel: [https://slack.cncf.io/](https://slack.cncf.io/) -  #serverless-workflow\n- [Weekly project meetings](#weekly-meetings)\n- Project Maintainers Email: [cncf-serverlessws-maintainers](mailto:cncf-serverlessws-maintainers@lists.cncf.io)\n- Serverless WG Email: [cncf-wg-serverless](mailto:cncf-wg-serverless@lists.cncf.io)\n- Serverless WG Subscription: [https://lists.cncf.io/g/cncf-wg-serverless](https://lists.cncf.io/g/cncf-wg-serverless)\n\n### Governance\n\nThe Serverless Workflow Project Governance [document](governance.md) delineates the roles, procedures, and principles guiding the collaborative development and maintenance of the project. \n\nIt emphasizes adherence to the CNCF Code of Conduct, defines the responsibilities of maintainers, reviewers, and emeritus maintainers, outlines procedures for their addition and removal, and establishes guidelines for subprojects' inclusion and compliance.\n\nDecision-making processes are consensus-driven, facilitated through structured proposal and discussion mechanisms, with conflict resolution procedures prioritizing amicable resolution. \n\nOverall, the document reflects the project's commitment to transparency, accountability, and inclusive collaboration, fostering an environment conducive to sustained growth and innovation.\n\nSee the project's Governance Model [here](governance.md).\n\n### Code of Conduct\n\nAs contributors and maintainers of this project, and in the interest of fostering\nan open and welcoming community, we pledge to respect all people who contribute\nthrough reporting issues, posting feature requests, updating documentation,\nsubmitting pull requests or patches, and other activities.\n\nWe are committed to making participation in this project a harassment-free experience for\neveryone, regardless of level of experience, gender, gender identity and expression,\nsexual orientation, disability, personal appearance, body size, race, ethnicity, age,\nreligion, or nationality.\n\nSee the project's Code of Conduct [here](code-of-conduct.md).\n\n### Weekly Meetings\n\nThe Serverless Workflow team meets weekly, every Thursday at 9AM ET (USA Eastern Time).\n\nTo register for meetings please visit the [CNCF Community Calendar](https://tockify.com/cncf.public.events/monthly?search=serverless%20workflow).\n\nYou can register for individual meetings or for the entire series.\n\n## Support\n\n### Adoption\n\nIf you're using Serverless Workflow in your projects and would like to showcase your adoption, become an Adopter! By joining our community of adopters, you'll have the opportunity to share your experiences, contribute feedback, and collaborate with like-minded individuals and organizations leveraging Serverless Workflow to power their workflows.\n\n### Sponsoring\n\nAs an open-source project, Serverless Workflow relies on the support of sponsors to sustain its development and growth. \n\nBy becoming a sponsor, you'll not only demonstrate your commitment to advancing serverless technologies but also gain visibility within our vibrant community. \n\nSponsorship opportunities range from financial contributions to in-kind support, and every sponsorship makes a meaningful impact on the project's success and sustainability.\n\nSupport our project by [becoming a Sponsor](https://crowdfunding.lfx.linuxfoundation.org/projects/serverless-workflow).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserverlessworkflow%2Fspecification","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fserverlessworkflow%2Fspecification","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserverlessworkflow%2Fspecification/lists"}