Skip to main content

Changelog

See what's new with Windmill.

Watch latest Windmill weekly keynotes

Weekly keynotes are hosted on Discord and Youtube on Friday at 5:45 pm CET+1.

See the Windmill roadmap and what's coming next

Roadmap

24 posts tagged with "Flow editor"

View All Tags

AI Flow Chat

AI ChatWindmill AIFlow editorv1.495.0

The flow builder includes an integrated AI chat panel that lets you create and modify flows using natural language. Just describe what you want to achieve, and the AI will build the flow for you, step by step.

New features

  • Uses scripts from your workspace and the Windmill Hub or generates new ones when needed
  • Updates flow inputs and connects steps automatically using context from the flow
  • Sets up loops and branches with suitable iterator expressions and conditions based on the flow data

The inline script editor in the flow editor now also includes a diff toggle to quickly check the diff between the changes made and the deployed version.

New features

  • Added a diff toggle in inline script editor

Triggers and captures

Flow editorCode editorv1.445.1

Capture triggers inputs from test mode.

New features

  • Capture and record webhook trigger calls in Test mode
  • Reuse captured trigger inputs for testing
  • Update flow input schema directly from captured test data
  • Support for different argument types (numbers, strings)
  • Easy deployment and testing with saved arguments

Approve or reject flow steps directly from Slack with support for form inputs.

New features

  • Interactive approval/rejection buttons directly in Slack messages
  • Form inputs displayed as Slack modals
  • Support for dynamic form options and default values
  • Multiple approval requests can be sent to different Slack channels
  • Available in both Python and TypeScript clients

Introducing the Quick Access Menu—a streamlined solution that centralizes all key features previously scattered across side panels. Now, you can benefit from the full potential of search, enhanced by intuitive filters, all in one place.

New features

  • Powerful Searchbar: Instantly locate flows, scripts, flow logic, or generate new AI scripts.
  • Smart Filters: Easily explore components from both the Hub and your Workspace.
  • Keyboard Navigation: Quickly select components.

You can now edit directly the YAML of flows within the flow editor.

New features

  • Edit flow metadata.
  • Edit steps ids.
  • Edit steps options.
  • Edit steps code.

On approval steps, a new toggle to continue flow execution on disapproval of approval step. If set, instead of failing the flow will bubble up the error and continue.

New features

  • New toggle to continue flow execution after disapproval.
  • Would allow to put a branchone right after to handle both cases separately.
  • New toggle to continue flow execution after disapproval.
  • If any disapproval/timeout event is received, the resume payload will be similar to every error result in Winmdill, an object containing an `error` field which you can use to distinguish between approvals and disapproval/timeouts.

Email triggers

Script editorFlow editorv1.376.0

Scripts and flows can now be triggered by the delivery of an email.

New features

  • Enable scripts and flows to be triggered by incoming emails via SMTP.
  • Provide unique email addresses for script and flow triggers, which deliver email content in both raw and parsed formats to the user scripts.

Windmill now pre-bundles TypeScript (Bun) scripts using Bun bundler and caches them on S3 and locally at deployment time. Furthermore, if a Bun script is run while not being pre-bundled, it will be re-bundled. This will increase stability and optimize (in some cases with 60% improvement) the execution time and the memory consumption, in particular for scripts with many/heavy imports and relative imports.

We also did improvements for non-deployed scripts using better caching strategies for the dependency cache. You cannot do any faster than running a pre-bundled script aside from having the script being already running which is what dedicated workers are made for. This makes Windmill the fastest platform to run TypeScript.

However, in very rare cases (< 1%), this might break existing bun scripts that are incompatible with being bundled. If you notice such issue for a particular script after the upgrade, add //nobundling to the top of the script.

New features

  • TypeScript Bun scripts are automatically pre-bundled.
  • Cold start improvement.
  • Memory usage improvement.

Improved the flow status viewer readability.

New features

  • Improved dark mode theme.
  • You can now pick the iteration to view from directly in the graph.
  • For branchall, branchone, while loop and forloops, the status of the branch/iteration is now displayed in the top node. For instance, for branchone, it will also allow you to know which branch was picked.
  • Now the color of the forloop itself corresponds to the entire forloop status and not the iteration. The iteration status is in the "Do one iteration" block.
  • The forloop detail page now lists every iteration status, even if you have a thousand one without having to load them all.
  • The nodes such as forloop and branchall that collect multiple results now show separately the collection of the results of all subflows and the result of the selected branch/iteration.

Flow versioning

Flow editorScript editorApp editorv1.357.0

Flows now have versions just like scripts and apps.

New features

  • Versions for flows.
  • Redeploy Scripts, Flows, Apps from past version.
  • Fork Scripts, Flows, Apps from past version.
  • Deployment message for Scripts and Flows.

OneOf inputs

Script editorFlow editorv1.347.0

Added new type of input `oneOf@, that displays an option between multiple objects.

New features

  • OneOf support in TypeScript scripts and their auto-generated UIs.
  • OneOf support in flow inputs and their auto-generated UIs.
  • OneOf support in any UI-built schema

Windmill now automatically tracks relative imports in Bun and Python such that if you update a common dependency and update its imports, it will now re-trigger deployment and lockfile computation of all the scripts that depend on it (it was working for Python but not Bun before).

Windmill can now also track such imports in inline scripts of flows and will surgically update the inline lockfiles of those flows if the relative imports change.

New features

  • Automatic re-trigger of deployment and lockfile computation of all the scripts that depend on Bun script.
  • When doing `wmill sync pull`, the wmill-lock.yaml will now automatically be updated, avoiding re-triggering lockfile computation for all files, only the ones that have changed from last sync.
  • Flows inline lockfile can now be updated locally using `wmill flow generate-locks`, which is the equivalent of `wmill script generate-metadata --lock-only` but for flows` inline scripts.

Concurrency limit observability

Concurrency limitsScript editorFlow editorv1.331.0

Obversability around concurrent jobs has been improved from the Runs menu.

New features

  • Filter jobs by their Concurrency Key.
  • Graphical view can be set to Concurrency (instead of Duration by default), allowing to see the number of concurrent jobs at a given time.

Jobs labels

RunsScript editorFlow editorv1.316.0

Labels allow to add static or dynamic tags to jobs with property "wm_labels" followed by an array of strings (e.g. return {"wm_labels":["showcase_labels", "another_label"]}

New features

  • Runs are tagged with labels.
  • For scripts and flows.
  • Labels can be filtered from Runs menu.
  • Jobs support multiple labels.
  • In Runs menu, click on a Label to filter by it.

When enabled, the flow will continue to the next step after going through all the retries (if any) even if this step fails.

New features

  • The flow will continue to the next step after going through all the retries (if any) even if this step fails.
  • This enables to process the error in a branch one for instance.
  • By default, each step is set to "Stop on error and propagate error up".

While loops execute a sequence of code indefinitely until the user cancels or a step set to Early stop stops.

New features

  • The loop will continue to run until canceled, either manually or with an Early stop for step or loop.
  • Skip failure mode.
  • Test and iteration.

Improved the experience with approval steps.

New features

  • You can now remove the deny button from approval page to force more complex patterns using forms with enums processed in ulterior steps.
  • Now approval steps resume forms at any level will be displayed at the top-level, regardless of their depths.
  • We have updated the default template and there is a new field description to add very clear instructions which support the whole range of of rich display rendering.

Map support in Rich display rendering.

New features

  • Display a map from lat and long.
  • Marker with specific location and colors.
  • Example: `return { "map": { lat: 40, lon: 0, zoom: 3, markers: [{lat: 50.6, lon: 3.1, title: "Home", radius: 5, color: "yellow", strokeWidth: 3, strokeColor: "Black"}]}`

Markdown support in descriptions

Script editorFlow editorResourcesv1.298.0

We now support GH flavored markdown for description of scripts, flows, resources.

New features

  • Markdown support for scripts descriptions.
  • Markdown support for flows descriptions.
  • Markdown support for resources descriptions.

You can set and retrieve a value given a key from any step of flow and it will be available from within the flow globally.

New features

  • Set custom flow states from any step.
  • Retrieve custom flow states from any step.
  • Supported in TypeScript and Python.

Workflows as code

Script editorFlow editorv1.284.0

Flows are not the only way to write distributed programs that execute distinct jobs. Another approach is to write a program that defines the jobs and their dependencies, and then execute that program. This is known as workflows as code.

New features

  • Define workflows as code in a single script intuitive and lightweight syntax.
  • Support for Python.
  • Support for TypeScript.

Flow & metadata copilot

Windmill AIFlow editorScript editorv1.270.0

The Flow & metadata copilot is an assistant powered by an OpenAI resource that simplifies your script & flows building experience by population fields (summaries, descriptions, step input expressions) automatically based on context and prompts.

New features

  • Fills summary of script & flow steps.
  • Links flow step inputs to previous steps results.
  • Fills flow loops iterator expressions from context.
  • Completes branches predicate expressions from prompts.
  • Defines CRON schedules from prompts.

Rich results render

Script editorFlow editorv1.251.1

Added rich results render for arrays of objects and markdown in scripts and flows.

New features

  • Support for arrays of objects.
  • Download as CSV and JSON.
  • Pagination.
  • Hide/show columns.
  • Search and filter.
  • Support for markdown.