Creating a Workflow
This guide walks through building a workflow that checks license plate availability on a city's reservation website.
Prerequisites
- A registered account
- Familiarity with CSS selectors (browser DevTools → right-click → "Copy selector")
Step 1: Create a New Workflow
- Navigate to Workflows from the navigation bar
- Click Create Workflow
- Enter a name and select the target city
- Click Create — the builder canvas opens
The canvas starts with a Start node (showing the city's website URL) connected to an End node.
Step 2: Plan Your Flow
Before adding nodes, open the target city's reservation website in another tab. Identify the steps needed:
- Which fields need to be filled in? (letters, numbers, city, personal details)
- Are there dropdowns to select from?
- Which buttons need to be clicked?
- Are there any pages that load or redirects that happen?
- How do you know the plate is available vs. unavailable?
Step 3: Add Nodes
Drag nodes from the bottom palette onto the canvas. Common patterns:
Filling in a form field
Use a Type Text node:
- Set the
selectorto the input field's CSS selector - Set the
text— use template variables like{{plate.letters}}so the workflow works for any check
Clicking a button
Use a Click node with the button's CSS selector.
Selecting from a dropdown
Use a Select Option node:
- By text if you want to match the visible label (e.g., "Berlin")
- By value if you know the
valueattribute - By index for position-based selection
Waiting for page loads
Use a Wait node:
- Duration for a fixed delay (e.g., 2 seconds after clicking submit)
- For element to wait until a specific element appears (more reliable)
- For new tab if the site opens results in a new tab
Checking the result
Use a Conditional node to branch based on what appears on the page:
- exists — Check if a success/error message element is present
- textIncludes — Check if an element's text contains "available" or "reserved"
Connect the true output to an End node with outcome available, and the false output to an End node with outcome unavailable.
Step 4: Connect Nodes
Drag from an output handle (bottom of a node) to an input handle (top of another node). Each output can only connect to one input.
Step 5: Test the Workflow
- Click the Test button in the bottom palette
- Enter test values for letters and numbers
- Click Run Test
- Watch the nodes light up as they execute
- Review the outcome toast — Confirm if correct, Reject if not
TIP
You have a limited number of test executions per day. Use the city's website manually first to understand the flow before testing.
Step 6: Publish
After a successful test, click Publish in the toolbar. The workflow is now available for use with license plate checks.
Example: Simple Form Fill
A typical workflow for a city that has a simple form:
Start
→ Type Text (selector: "#letters", text: "{{plate.letters}}")
→ Type Text (selector: "#numbers", text: "{{plate.numbers}}")
→ Click (selector: "#submit-btn")
→ Wait (mode: For element, selector: ".result-message")
→ Conditional (operator: textIncludes, selector: ".result-message", value: "verfügbar")
→ true: End (outcome: available)
→ false: End (outcome: unavailable)Tips
- Use
Wait for elementinstead of fixed duration waits — it's more reliable and faster - Test with real plate numbers to see both the available and unavailable paths
- Check both branches of a Conditional node to make sure both outcomes are handled
- Use browser DevTools to find the right CSS selectors — right-click an element → Inspect → right-click the HTML → Copy → Copy selector