An overview of Wizarion and how to get started.
Een overzicht van Wizarion en hoe je aan de slag gaat.
Wizarion is a visual editor that lets you build step-by-step wizards. You draw a flowchart of nodes and connections, and the tool generates a standalone Electron application that the end user can run — without any installation.
Wizarion is een visuele editor waarmee je stap-voor-stap wizards bouwt. Je tekent een stroomdiagram van nodes en verbindingen, en de tool genereert een zelfstandige Electron-applicatie die de eindgebruiker kan uitvoeren — zonder installatie.
Click once on a line to select it (the line turns red). Then press Delete to remove it. Or double-click the line to delete it directly.
Klik éénmalig op een lijn om die te selecteren (lijn wordt rood). Druk daarna op Delete om te verwijderen. Of dubbelklik de lijn voor direct verwijderen.
Multiple incoming connections to the same node are allowed. This is useful for complex wizards where multiple branches converge on a single shared next step.
Meerdere inkomende verbindingen naar dezelfde node zijn toegestaan. Dit is handig voor complexe wizards waarbij meerdere takken samenkomen op één gedeelde vervolgstap.
There are 8 types of nodes. Each node has its own color and purpose in the wizard.
Er zijn 8 soorten nodes. Elke node heeft een eigen kleur en doel in de wizard.
Shows a text or information page with a "Next" button. Use this for introductions, explanations or intermediate steps.
Toont een tekst- of informatiepagina met een "Volgende"-knop. Gebruik dit voor introducties, uitleg of tussenstappen.
Collects user input via fields (text, number, path, checkbox). The entered values are available as variables in later nodes.
Verzamelt invoer van de gebruiker via velden (tekst, getal, pad, checkbox). De ingevulde waarden zijn beschikbaar als variabelen in latere nodes.
Asks a Yes/No question. The outcome determines which branch the wizard follows. Has two outputs: Yes (green) and No (red).
Stelt een Ja/Nee-vraag. De uitkomst bepaalt welke tak de wizard vervolgt. Heeft twee uitgangen: Ja (groen) en Nee (rood).
Shows multiple choices. Each option has its own output at the bottom of the node. Add options in the properties panel.
Toont meerdere keuzes. Elke optie heeft een eigen uitgang onderaan de node. Voeg opties toe in het eigenschappenvenster.
Checkbox list: the user selects one or more items. The selected items are available as a variable.
Checkboxlijst: de gebruiker selecteert een of meerdere items. De geselecteerde items zijn beschikbaar als variabele.
Calls a REST API (GET/POST/PUT/DELETE). The result is available as a variable. Runs automatically when this step is reached.
Roept een REST API aan (GET/POST/PUT/DELETE). Het resultaat is beschikbaar als variabele. Wordt automatisch uitgevoerd bij het bereiken van deze stap.
Runs JavaScript or Python code. Has access to all variables you link via the variable list. Use fs, path and require in JavaScript.
Voert JavaScript- of Python-code uit. Heeft toegang tot alle variabelen die je koppelt via de variabelenlijst. Gebruik fs, path en require in JavaScript.
Closes the wizard. Can close the app, restart the wizard, or jump to the first choice step.
Sluit de wizard af. Kan de app afsluiten, de wizard herstarten of naar de eerste keuzestap springen.
Click the Text node to open the properties panel on the right. Scroll down and click + Upload image. Choose a PNG, JPG, GIF, SVG or WebP file. The image is stored as Base64 inside the .wizgen file so it always travels with the wizard. Under Position you choose whether the image appears above or below the text. Use ↑ Replace to swap it out, or × Remove to delete it.
Klik op de Text-node om het eigenschappenvenster rechts te openen. Scroll naar beneden en klik op + Afbeelding uploaden. Kies een PNG, JPG, GIF, SVG of WebP bestand. De afbeelding wordt als Base64 opgeslagen in het .wizgen bestand zodat hij altijd meekomt. Bij Positie kies je of de afbeelding boven of onder de tekst staat. Met ↑ Vervangen wissel je hem uit, met × Verwijder haal je hem weg.
The wizard always follows the connection from the current node to the next. Boolean and Multiple choice nodes split the flow based on the user's choice. API and Generate nodes run automatically when the step is reached.
De wizard volgt altijd de verbinding van de huidige node naar de volgende. Boolean- en Meerkeuze-nodes splitsen de stroom op basis van de keuze van de gebruiker. API- en Genereer-nodes worden automatisch uitgevoerd bij het bereiken van de stap.
Learn how to use variables and run code inside your wizard.
Leer hoe je variabelen gebruikt en code uitvoert in je wizard.
Every node that collects input stores values in the wizard state. In a Generate node you link those values via the variable list to alias names that you use in your code.
Elke node die invoer verzamelt slaat waarden op in de wizard-state. In een Genereer-node koppel je die waarden via de variabelenlijst aan alias-namen die je in je code gebruikt.
In the properties panel of a Generate node you see the variable list. Add a row, choose the state key and give it an alias. In your code you then use variables.yourAlias.
In het eigenschappenvenster van een Genereer-node zie je de variabelenlijst. Voeg een rij toe, kies de state-sleutel en geef een alias. In je code gebruik je dan variables.jouwAlias.
// Example: sourcePath is linked via variableMapping const src = variables.sourcePath; const dst = variables.targetPath;
In a Generate node (JavaScript) the following Node.js modules are available:
In een Genereer-node (JavaScript) zijn de volgende Node.js modules beschikbaar:
fs — file system (read, write, copy, delete)bestandssysteem (lezen, schrijven, kopiëren, verwijderen) path — path manipulation (join, basename, dirname, extname)padmanipulatie (join, basename, dirname, extname) require — load extra modules (e.g. require('os'))extra modules laden (bijv. require('os'))
Return a result value with return 'text'. This is shown as the result on screen.
Geef een resultaatwaarde terug met return 'tekst'. Dit wordt getoond als resultaat op het scherm.
// Example: create a folder
const newPath = path.join(variables.targetPath, 'output');
if (!fs.existsSync(newPath)) {
fs.mkdirSync(newPath, { recursive: true });
}
return 'Folder created: ' + newPath;
// Voorbeeld: map aanmaken
const nieuwePad = path.join(variables.doelPad, 'output');
if (!fs.existsSync(nieuwePad)) {
fs.mkdirSync(nieuwePad, { recursive: true });
}
return 'Map aangemaakt: ' + nieuwePad;
In Python code, the variables object is available as a Python dictionary. The output of print() is shown as the result.
Bij Python-code is het variables object beschikbaar als Python-dictionary. De uitvoer van print() wordt als resultaat getoond.
import os, shutil
src = variables['sourcePath']
dst = variables['targetPath']
shutil.copytree(src, dst)
print('Copied to: ' + dst)
Generate a standalone Windows application from your wizard.
Genereer een zelfstandige Windows-applicatie vanuit je wizard.
Via the ↗ Export button on the right of the menu bar you generate a standalone Electron application. You choose an output folder on your computer. The wizard is placed there as a folder with an .exe that can be started directly — no installation required.
Via de knop ↗ Exporteer rechts in de menubalk genereer je een zelfstandige Electron-applicatie. Je kiest een uitvoermap op je computer. De wizard wordt daarin geplaatst als een map met een .exe die direct te starten is — geen installatie nodig.
No Node.js or other software required. Double-click Wizarion.exe and it works directly on any Windows PC.
Geen Node.js of andere software nodig. Dubbelklik op Wizarion.exe en het werkt direct op elke Windows pc.
The PC you export on must have Node.js installed. Wizarion uses this in the background to build the wizard app. The first export takes longer (~80 MB download), after that it's faster due to caching.
Op de pc waarop je exporteert moet Node.js geïnstalleerd zijn. Wizarion gebruikt dit op de achtergrond om de wizard app te bouwen. De eerste export duurt langer (~80 MB download), daarna gaat het sneller door caching.
The exported wizard itself does not need Node.js on the end user's PC — it also starts by just double-clicking. Exception: if the wizard contains Python code, Python must be installed on the end user's machine.
De geëxporteerde wizard zelf heeft geen Node.js nodig op de pc van de eindgebruiker — die start ook gewoon via dubbelklikken. Uitzondering: als de wizard Python-code bevat, moet Python wél geïnstalleerd zijn bij de eindgebruiker.
After exporting, a subfolder will appear in the chosen folder. Inside is the .exe that the end user starts.
Na het exporteren staat er in de gekozen map een submap. Daarin staat de .exe die de eindgebruiker start.
Wizards are saved as .wizgen files (JSON format). You can always reopen a project, make changes, and export again.
Wizards worden opgeslagen als .wizgen bestanden (JSON-formaat). Je kunt een project altijd opnieuw openen, aanpassen en opnieuw exporteren.
Host multiple wizards as a web dashboard on your network.
Host meerdere wizards als webdashboard op je netwerk.
A server project lets you host multiple wizards in a single web-based environment. Instead of exporting each wizard as a standalone .exe, Wizarion generates a Node.js/Express web server with a dashboard. Users open wizards directly in their browser — ideal for internal use on a company network where multiple users need to access the same wizards.
Met een server project kun je meerdere wizards samenbrengen in één webgebaseerde omgeving. In plaats van elke wizard als aparte .exe te exporteren, genereert Wizarion een Node.js/Express webserver met een dashboard. Gebruikers openen wizards direct in hun browser — ideaal voor intern gebruik op een bedrijfsnetwerk waar meerdere gebruikers dezelfde wizards moeten kunnen gebruiken.
Server projects require a full Wizarion license. In trial mode the options Create a server project and Open a server project are grayed out.
Server projecten vereisen een volledige Wizarion-licentie. In de proefversie zijn de opties Maak een server project en Open een server project uitgeschakeld (grijs).
When creating a server project, the Sandbox mode checkbox is enabled by default. It limits what wizard code is allowed to do once it runs on the exported server, which is useful when the server is shared with other users on the network.
Bij het aanmaken van een server project staat de checkbox Sandbox mode standaard aan. Dit beperkt wat wizard-code mag doen zodra die op de geëxporteerde server draait — handig als de server met andere gebruikers op het netwerk gedeeld wordt.
Wizards can only generate and download documents via plugin('word') and plugin('excel'). Generated files are always offered as a download to the user — any output folder typed or selected in the wizard is ignored, and nothing is written to the server's disk. Running Python code, executing other system commands, and the file-read/file-save endpoints are all disabled.
Wizards kunnen alleen documenten genereren en downloaden via plugin('word') en plugin('excel'). Gegenereerde bestanden worden altijd als download aan de gebruiker aangeboden — een opgegeven of gekozen uitvoermap in de wizard wordt genegeerd, en er wordt niets op de schijf van de server opgeslagen. Python-code, overige systeemcommando's en de bestand-lezen/opslaan-endpoints zijn uitgeschakeld.
The server behaves exactly as before: wizard code has full access to fs, require, Python execution, and the file-read/file-save endpoints, just like a standalone .exe wizard. Only enable this if you fully trust everyone who can reach the server.
De server gedraagt zich precies als voorheen: wizard-code heeft volledige toegang tot fs, require, Python-uitvoering en de bestand-lezen/opslaan-endpoints, net als een zelfstandige .exe-wizard. Schakel dit alleen uit als je iedereen die de server kan bereiken volledig vertrouwt.
Wizards that use require('path'), require('os') or require('fs') to build an output path for plugin('word'/'excel') continue to work unchanged in sandbox mode — the server transparently redirects the generated file to a download instead of writing it to that path.
Wizards die require('path'), require('os') of require('fs') gebruiken om een uitvoerpad te bouwen voor plugin('word'/'excel') blijven ongewijzigd werken in sandbox mode — de server stuurt het gegenereerde bestand transparant om naar een download in plaats van het op dat pad weg te schrijven.
After exporting, the server is ready in the chosen folder. Open a terminal in that folder and run:
Na het exporteren staat de server klaar in de gekozen map. Open een terminal in die map en voer uit:
npm install
npm start
The dashboard is then available at http://localhost:3847 (or your custom host). All users on the same network can reach the server via the host machine's IP address on port 3847.
Het dashboard is daarna bereikbaar op http://localhost:3847 (of je aangepaste host). Alle gebruikers op hetzelfde netwerk kunnen de server bereiken via het IP-adres van de hostmachine op poort 3847.
The machine that runs the server needs Node.js installed. End users who only access the dashboard in their browser do not need Node.js.
De machine waarop de server draait heeft Node.js nodig. Eindgebruikers die alleen het dashboard in hun browser openen hebben geen Node.js nodig.
Wizarion automatically copies all installed plugins (e.g. word, excel, python) to the plugins/ folder when exporting the server. Running npm install also installs the packages those plugins need (such as docx and exceljs). No extra configuration is required.
Wizarion kopieert automatisch alle geïnstalleerde plugins (bijv. word, excel, python) naar de map plugins/ bij het exporteren van de server. Het uitvoeren van npm install installeert ook de pakketten die deze plugins nodig hebben (zoals docx en exceljs). Er is geen extra configuratie nodig.
Every exported server folder also includes a Dockerfile and docker-compose.yml. These are optional — npm install & npm start keeps working exactly as described above. Use Docker only if you want to run the server in an isolated container, for example for extra security on top of sandbox mode.
Elke geëxporteerde servermap bevat ook een Dockerfile en docker-compose.yml. Deze zijn optioneel — npm install & npm start blijft precies werken zoals hierboven beschreven. Gebruik Docker alleen als je de server in een geïsoleerde container wilt draaien, bijvoorbeeld voor extra beveiliging naast sandbox mode.
docker compose up -d
The dashboard becomes available on the same port (3847) as before. Use docker compose logs -f to follow the logs and docker compose down to stop the server.
Het dashboard is daarna bereikbaar op dezelfde poort (3847) als voorheen. Gebruik docker compose logs -f om de logs te volgen en docker compose down om de server te stoppen.
Only the machine running the container needs Docker installed. End users who open the dashboard in their browser are not affected and need nothing extra.
Alleen de machine die de container draait heeft Docker nodig. Eindgebruikers die het dashboard in hun browser openen merken hier niets van en hebben niets extra nodig.
By default the container runs with a read-only filesystem (only /tmp is writable), which matches sandbox mode since generated files always go through a temporary download. If sandbox mode is OFF and a wizard uses the file-save/file-read endpoints, remove the read_only and tmpfs lines in docker-compose.yml — this is explained in comments in the file itself.
Standaard draait de container met een alleen-lezen bestandssysteem (alleen /tmp is schrijfbaar), wat past bij sandbox mode omdat gegenereerde bestanden altijd via een tijdelijke download gaan. Staat sandbox mode UIT en gebruikt een wizard de bestand-opslaan/lezen-endpoints, verwijder dan de regels read_only en tmpfs in docker-compose.yml — dit staat ook als toelichting in het bestand zelf.
Once the server project has been exported, you can add as many wizards as you want:
Zodra het server project geëxporteerd is, kun je zoveel wizards toevoegen als je wilt:
After exporting wizard 1, the canvas is still linked to that wizard. If you build wizard 2 without first clicking + New wizard, it will replace wizard 1 instead of being added as a new one.
Na het exporteren van wizard 1 is het canvas nog gekoppeld aan die wizard. Als je wizard 2 bouwt zonder eerst op + Nieuwe wizard te klikken, wordt wizard 1 overschreven in plaats van een nieuwe toegevoegd.
Go to File → Open a server project and select the .wizserver file in the server folder. Wizarion reloads the project state (name, wizard list, export path) and prepares the NodeBar so you can immediately load and edit wizards.
Ga naar Bestand → Open een server project en kies het .wizserver bestand in de servermap. Wizarion laadt de projectstatus terug (naam, wizardlijst, exportpad) en zet de NodeBar klaar zodat je direct wizards kunt laden en bewerken.
The .wizserver file is located in the root of the exported server folder, right next to server.js.
Het .wizserver bestand staat in de root van de geëxporteerde servermap, direct naast server.js.
Wizards running in the browser behave the same as standalone .exe wizards — the same nodes, variables, JavaScript, and Python code all work. The difference is that instead of Electron IPC calls, the server handles code execution via HTTP endpoints. JavaScript code runs server-side in a sandbox; Python is executed via the server machine's Python installation.
Wizards die in de browser draaien gedragen zich hetzelfde als zelfstandige .exe-wizards — dezelfde nodes, variabelen, JavaScript en Python-code werken allemaal. Het verschil is dat in plaats van Electron IPC-aanroepen de server de code-uitvoering afhandelt via HTTP-endpoints. JavaScript-code wordt server-side uitgevoerd in een sandbox; Python wordt uitgevoerd via de Python-installatie van de servermachine.
Because browsers cannot open a native folder picker dialog, a text input overlay appears instead. Users type the folder or file path manually.
Omdat browsers geen native mapkiezerdialoog kunnen openen, verschijnt er een tekstinvoer overlay. Gebruikers typen het map- of bestandspad handmatig in.