Skip to main content
The Playground lets you simulate the execution of any workflow without sending a single message to Kafka or RabbitMQ. Devset runs the pipeline logic locally and shows you exactly what each stage would emit — headers, payload, and all — so you can validate your DSL, test expression logic, and preview payloads before pointing a workflow at a live broker. Open the Playground at http://localhost:8082/playground.

Running a Simulation

1

Choose your source

At the top of the Playground, select how you want to provide the workflow to simulate:
  • Saved workflow — open the dropdown and pick any workflow from your saved list in the Flow Builder.
  • Raw DSL JSON — paste a raw workflow DSL JSON object directly into the text area. This is useful for testing a workflow that you have not saved yet, or for simulating a DSL received from a teammate.
2

Click Preview

Click the Preview button. Devset sends the workflow DSL to the backend simulate endpoint, which runs the full pipeline logic without connecting to any broker.
3

Inspect the results

The results panel renders below the source selector with a stage strip and event log showing the full simulation output.

Reading the Results Panel

The results panel is the core of the Playground experience. It organises simulation output by pipeline stage.
1

Browse the stage strip

A horizontal stage strip at the top of the panel shows every pipeline stage in order. Each stage is represented as a pill labelled with its stage name and index. A Result pill at the end represents the final accumulated output.
2

Inspect a stage's emitted event

Click a stage pill to filter the event log to the events produced by that stage. Select any event in the log to see its full details:
  • Headers — the message headers computed for that stage.
  • Payload — the message body, rendered as formatted JSON.
Review these details to confirm that your field expressions, state references, and conditional logic are producing the values you expect.
Wait stages are skipped in Playground simulation. Because the simulator does not run against real time or a live broker, any stage configured with a wait/delay is executed immediately with a zero-duration wait. Keep this in mind when interpreting simulation results for workflows that use timing-dependent logic.

Playground vs. Workflow Runs

The Playground and Workflow Runs both execute your pipeline, but they serve different purposes:
PlaygroundWorkflow Runs
Sends real messagesNoYes
Requires a broker connectorNoYes
Shows emitted payloadsYesYes
Wait stages honouredNo (skipped)Yes
Use whenDeveloping and validating logicTesting against a live broker

When to Use the Playground

Test DSL Logic

Paste or load a workflow and immediately see whether your stage configurations and state transformations produce the right output.

Validate Expressions

Check that Function Studio expressions — FN calls like uuid(), REF lookups, WHEN conditionals — resolve to the expected values before running against a real broker.

Preview Payloads

Confirm the exact JSON shape of every emitted message before sending it to downstream consumers. Catch missing fields and type mismatches early.

Iterate Quickly

Because no broker connection is required, you can paste a revised DSL and click Preview as many times as you need without any external side effects.
When you are ready to move from simulation to live testing, copy the DSL from the source field, import it into the Flow Builder using the Import button in the Manage view, and then create a Workflow Run against your connector.