Skip to main content

Workflow Composer

Overview

Workflow Composer is an AI-powered service from Diagrid that converts workflow diagrams into ready-to-run Dapr applications. It analyzes your diagrams and generates code in your chosen programming language using Dapr Workflows. Simply upload your workflow diagram, pick your language, and download a complete Dapr project that's ready to extend and run.

Getting started

  1. Create a workflow diagram using your preferred diagramming tool such as draw.io, tldraw.dev, Lucidchart, bpmn.io, or export an existing business process into BPMN format.
  2. Upload your diagram to Workflow Composer console.
  3. Select your programming language from the following: .NET, Java, Python, JavaScript, Go.
  4. Add optional instructions to customize the generated code (coming soon).
  5. Download the generated Dapr workflow project and browse the code in your IDE
  6. If you don't have it already, Download and install Dapr CLI
  7. Run the application locally with dapr run -f .

How It Works

When you upload a workflow diagram, our AI engine:

  • Analyzes and understands the workflow, the tasks, and their relationships to each other
  • Generates a complete Dapr workflow application in your selected language
  • Creates Dapr workflow activity placeholder for each task from your diagram
  • Produces build files, Dapr configuration files, and Dapr multi-app run to run the workflow locally

The generated code is ready to run with the Dapr CLI without additional configuration.

Supported Languages

  • .NET
  • Java
  • Python
  • JavaScript
  • Go

Supported Dapr Workflow Features

Unsupported Dapr Workflow Features

Currently, the following features are not available, but we are working to add them:

Diagram Notations

Here are examples from BPMN specification that Workflow Composer understands. You can use BPMN, or other generic notations by specifying and annotating the diagram with minimal information sufficient to generate the code. Try out a few diagrams and update the diagrams with more information until you get the desired code output.

BPMN Notations

NameDescription
ActivityRepresents a specific task performed by the system as part of the workflow. Examples: order, pay, submit, register.
FlowA directional connector between shapes in a process that represents the overall progression of how a process or process segment would be performed.
EventRepresents a trigger in the workflow. Events can initiate, interrupt, or conclude a process. Supported event types include:
Start – Marks the beginning of the workflow.
End – Marks the completion of the workflow.
Timer – Triggers based on a time condition (e.g., delay, interval).
External Message – Waits for an external message, such as user input.
GatewayRepresents decision points in the workflow:
Exclusive – One path based on conditions.
Inclusive – One or more paths may be taken.
Parallel – All paths are taken concurrently.
Text AnnotationAllows a modeler to provide additional information about elements in the diagram.

Running Your Generated Workflows Locally

The fastest way to test and extend the application is locally with Dapr CLI.

Prerequisites

  • Docker (for containerized deployment)
  • Dapr CLI installed and initialized on your machine
  • Language runtime for your selected language

Local Workflow Execution

  1. Extract the downloaded archive
  2. Navigate to the project directory
  3. Follow the instructions in the README file to build and run the project

Running Workflows with Diagrid Catalyst

If you want to provision the backing infrastructure on the cloud and get beautiful workflow visualization, you can run the applications with Diagrid Catalyst Free plan.

Prerequisites

  1. Sign up for Diagrid Catalyst
  2. Download and install Diagrid CLI (Dapr 1.14+)
  3. Follow the instructions in the README file to build the project
  4. Run with diagrid dev run -f <multi-app-run-file>
  5. View the workflow visualization in the Catalyst console

Quotas and Limits

To help you try out the service for free while preventing abuse and ensuring fair access, the following quotas apply:

  • Up to 5 workflow generations per user per day
  • A maximum of 10 activities per workflow

If you need higher limits, contact us to discuss your use case.