- OCPPLab product
- Dashboard
- Virtual charger workflows
Virtual charger workflows
Chain OCPP steps, run them on your test machine, and pass or fail each step on the real CSMS reply.
A workflow is a saved chain of OCPP steps that a virtual charger on your test machine runs against your CSMS (Charging Station Management System), one after another. Each step passes or fails on the reply your CSMS sends, so a run tells you whether your CSMS handles the scenario.
Path: rail → Virtual charger → Workflows (/dashboard/virtual-charger/workflows).

Workflows — each row shows the protocol, last run result, duration, and run count.
Before you start
- Your organization's test machine is Ready on the OCPP version you want to test. Connect it in Test runs or in the workflow's Settings.
- RFID tags used in
AuthorizeorStartTransactionsteps are registered as Accepted in Authorizations.
Create a workflow
- Select Create workflow.
- Enter a Name. Identity is optional; leave it empty and OCPPLab generates one.
- Choose the OCPP version. It sets the message catalog for the steps.
- Add an optional Description and comma-separated Tags, then select Create workflow.
The new workflow opens on its canvas.
Build the steps

Workflow canvas — the node palette on the left, the step chain on the canvas, and Run workflow in the toolbar.
- The Nodes palette lists every charger-to-CSMS call for the workflow's OCPP version, plus the Start, Delay, and End flow steps. CSMS-to-charger commands are offered as Expect a CSMS command steps.
- Select + on a palette item to append it below the last step and link it. If the chain ends with End, the new step goes before it. A step you drag onto the canvas stays where you drop it and is not linked.
- Select a step to edit its JSON payload in the configuration panel.
- To write the steps as text, select OCSL in the toolbar, then Edit. Change the OCSL file and select Apply: the canvas is rebuilt from the file. If the file has a problem, the sheet lists each one with its line and column, and the canvas is not changed.
- Changes save automatically. The header shows Saving…, then Saved. If a save fails, a toast offers Retry.
Connect the test machine
Select Settings. A workflow runs on your organization's test machine, the same one Test runs uses. If none is connected, fill Connect a CSMS (saved CSMS, CSMS WebSocket URL with {identity}, security profile, OCPP version, chargers) and connect. The machine card then shows its status; runs can start once it reads Ready. Your organization has one test machine, shared with Test runs.
Delete workflow sits at the bottom of Settings. It asks for confirmation, then removes the workflow from the list so it can no longer be opened or run. While a run is in progress it stays off; stop the run or wait for it to finish.
Run it
Select Run workflow. The run is a test run of this workflow on the test machine: charger-cli runs the workflow's OCSL file with one of the machine's chargers. Run workflow stays off, and hovering or focusing it shows why, until:
- the test machine is Ready
- the machine runs the workflow's OCPP version
- your last change is saved (the run uses the saved workflow)
- the steps form one chain from Start (steps not linked into it, branches without a Condition, or loops are named)
- no other test run of your organization is in progress
Each step shows its result on its card:
| Result | Meaning |
|---|---|
| Passed | The step ran and its check held |
| Failed | The step failed; the card shows why (for example the CSMS refused it, or charger-cli refuses that step) |
| Not run | The run ended before the step, for example after an earlier failure or Stop run; the card shows why |
When the run ends, its result shows under the toolbar with View test run, which opens the run in Test runs. Stop run cancels the run.
Read the run console
Open the Run console from the toolbar. It shows the frames of the latest run, newest first. Reply rows carry the action they answer, and a refused reply (for example an Authorize answered Invalid) reads WARN. If a refresh fails, the console keeps the rows it already loaded and shows Run logs may be out of date with Retry.
Read the list
The Workflows list shows each workflow's last run result recorded before runs moved to the test machine, its Duration, and its run count. Runs on the test machine are listed in Test runs. A run recorded before steps were checked against the CSMS reply shows Unverified: select the info icon next to it for the reason, and run the workflow again to verify it.
Related
- Virtual charger playground — send one call before you build a chain
- Virtual charger logs — every frame across all lab chargers
- Virtual charger