Workflows is a system for creating and running multi-step data modification processes on participant registries. It is designed for live event operations — race expos, conferences, sports venues — where staff need a quick, guided, mobile-friendly tool to look up participants and update their records on the spot.
The system is split into two main applications:
Every workflow is built from up to four sequential steps. Not all steps are required — you can skip or auto-resolve some depending on your use case.
1. Query The search screen. The operator enters a value (bib number, name, barcode scan) to find one or more participants in the registry. You can configure multiple search fields combined with AND/OR logic, enable barcode scanning, and set auto-submit so the workflow advances as soon as a match is found.
Query step — the operator searches for a participant
2. Select If the query returns more than one result, the operator sees a list and picks one (or several, if the workflow allows multiple selection). You choose which fields appear in the list view vs. a detail view, and which ones are visually emphasized.
Select step — the operator picks from the results
3. Action The actual data modification. This is where values get written. Fields can be manual (the operator types or scans a value) or automatic (the system fills in a timestamp, the current operator's name, or a fixed value). Input types include text, number, date, select dropdown, and photo capture.
Action step — the operator enters new data
4. Confirmation An optional review screen. The operator sees the original and new values side by side and must approve before the operation is committed. You can also configure an auto-skip timer so the confirmation disappears after a set number of seconds.
Confirmation step — review before saving
Each workflow is assigned a PIN that operators enter to open it. Optionally, you can enable authentication, which requires operators to log in and ties every operation to a named user — useful for audit trails.
If a competition has multiple events (e.g., 10K and Half Marathon), a workflow can be scoped to a single event so operators only see the relevant participants.
Workflows can operate in two data modes, each designed for a different use case:
Local mode — The Execution App downloads the entire participant database when the workflow loads and stores it in the browser (IndexedDB). Searches are instant because they run against in-memory data. Changes are queued locally and synchronized with the server in the background. This mode works even without internet access after the initial load — devices can go offline and sync later. Connected devices also share updates in real time through a mesh network. Local mode is ideal for on-site staff operating in controlled environments (expos, checkpoints, registration desks). Important: because the full database is downloaded to the device, local mode should only be used on trusted, authorized devices. A privacy warning is shown in the Configuration Panel to remind you of potential data protection implications (GDPR, LOPD).
Remote mode — The Execution App does not download participant data. Instead, every search query is sent directly to the server and results come back on demand. No participant records are stored on the device. The typical use case is sharing a workflow URL directly with participants — for example, so they can check their inscription data, view their race results, or fill in their own profile information. Since the workflow link is distributed publicly to the participants themselves, remote mode ensures that private data from the full participant database is never transferred to end-user devices.
When to use which mode:
| Local | Remote | |
|---|---|---|
| Audience | On-site staff, volunteers, operators | Participants themselves, public access |
| Data on device | Full participant database | None — fetched per query |
| Offline support | Yes, after initial load | No — requires constant connection |
| Search speed | Instant (local) | Depends on network latency |
| Privacy | All data is downloaded to the device | Only queried records are returned |
The first thing you must choose when creating a workflow is its data mode. This is a fundamental decision that determines how participant data is handled. Two clickable cards are presented:
The rest of the configuration form only appears after selecting a mode. See Data Modes: Local & Remote for a detailed comparison.
| Field | Description |
|---|---|
| Name | A descriptive name for the workflow (e.g., "Bib Pickup", "Check-in 10K"). |
| PIN | The numeric code operators will enter to access this workflow. |
| Authentication | If enabled, operators must log in before using the workflow. Only available in local mode — remote workflows have no operator. |
| Event | Optionally restrict the workflow to a single event within the competition. |
Add one or more search fields. For each field, you configure:
equals for exact match or contains for partial match.You also set the query mode — OR (match any field) or AND (match all fields).
Define which participant fields are visible when the operator picks from a list of results:
Define the fields that will be modified:
For each action field:
$timestamp for the current date/time, $currentUser for the logged-in operator).When an action field is configured as automatic or dynamic, the operator sees it pre-filled and disabled — the resolved value is visible but cannot be edited. For manual fields, if the participant already has a value in that field, it is shown as a placeholder so the operator knows the current state. Picture fields display the participant's existing photo as a thumbnail.
Fields left blank by the operator are ignored — only fields with an actual value are saved. This means operators can skip optional fields without overwriting existing data with empty values.
The confirmation screen only shows fields that have actually changed — if a field's new value is the same as the old one, it is hidden from the review. Photo fields are displayed as thumbnails that can be tapped to open a full-screen preview.
Once saved, you can:
In local mode, the full participant database is downloaded on first load. If connectivity drops, pending operations are stored locally and retried automatically when the connection is restored. The status bar at the top shows how many participants are loaded and the sync status with the server.
In remote mode, each search is sent to the server in real time. No data is pre-loaded, so the workflow requires a network connection throughout. The status bar reflects the connection state rather than a local data count.
Each step transition is animated with a smooth fade effect, providing clear visual feedback as the workflow progresses.
The system ships with nine pre-configured samples that demonstrate common patterns. You can try each one directly from the links below.
Scenario: An operator at the expo needs to assign a timing chip number to a participant.
| Step | Configuration |
|---|---|
| Query | Search by bib (scannable, auto-submit). |
| Select | Single selection. Shows bib (emphasized), name, and surname. |
| Action | One manual field: chip number (number input, range 1–99999). Participant details visible. |
| Confirm | Enabled. Shows bib, name, and chip for review. |
Scenario: A fast, scan-and-go check-in at the entrance. The operator scans a barcode; the system records the timestamp and who performed the check-in.
| Step | Configuration |
|---|---|
| Query | Search by ticket number (scannable, auto-submit). |
| Select | Single selection. Shows bib, name, surname. |
| Action | Two auto fields: checkin = $timestamp, operator = $currentUser. No manual input needed. |
| Confirm | Disabled — the check-in happens instantly. |
Authentication is enabled so every check-in is tied to a named operator.
Scenario: Capture a participant's photo at the expo for ID badges or results galleries.
| Step | Configuration |
|---|---|
| Query | Search by bib (scannable, auto-submit). |
| Select | Single selection. Shows bib, name, surname. |
| Action | One manual field: photo (picture input). |
| Confirm | Enabled. Shows bib, name, and the captured photo. |
Beyond the built-in samples, here are workflows you can design for other scenarios:
Scenario: Control entry to restricted zones (VIP area, press room, athletes-only zones) at an event venue.
| Step | Suggested Configuration |
|---|---|
| Query | Search by credential ID or QR code (scannable, auto-submit). |
| Select | Single selection. Show name, credential type, and authorized zones. |
| Action | Auto fields: accessTimestamp = $timestamp, gateOperator = $currentUser, zone = static value (e.g., "VIP"). |
| Confirm | Disabled for fast throughput, or enabled for high-security zones. |
Enable authentication so every access event is attributed to a gate operator. Scope the workflow to a specific event if different events have different restricted zones.
Scenario: At registration or check-in, participants need to provide or update missing profile data — emergency contact, T-shirt size, medical info — before they can compete.
| Step | Suggested Configuration |
|---|---|
| Query | Search by bib or name. |
| Select | Single selection. Show bib, name, and a "profile status" field (emphasized) to quickly spot incomplete profiles. |
| Action | Multiple manual fields: emergency contact (text, phone mask), T-shirt size (select dropdown: S/M/L/XL), medical conditions (text), blood type (select dropdown). |
| Confirm | Enabled, with all updated fields displayed for the participant to verify. |
Scenario: Track who has picked up their race kit, timing chip, or other materials.
| Step | Suggested Configuration |
|---|---|
| Query | Search by bib (scannable, auto-submit) or by name. |
| Select | Single selection. Show bib, name, kit status. |
| Action | Auto fields: kitPickedUp = static "true", pickupTimestamp = $timestamp, pickupOperator = $currentUser. |
| Confirm | Disabled for speed. |
Scenario: A participant wants to switch from the 10K to the 5K, or change their age category, at the expo desk.
| Step | Suggested Configuration |
|---|---|
| Query | Search by bib or name. |
| Select | Single selection. Show current event, category, bib, name (event and category emphasized). |
| Action | Manual fields: new event (select dropdown populated from the competition's events), new category (select dropdown). |
| Confirm | Enabled — the operator and participant review the change together. |
Scenario: During a race, medical staff need to tag a participant with an incident report (arrived at medical tent, treatment given, status).
| Step | Suggested Configuration |
|---|---|
| Query | Search by bib (scannable). |
| Select | Single selection. Show bib, name, emergency contact, blood type. |
| Action | Manual fields: incident type (select: dehydration/injury/cardiac/other), treatment (text), severity (select: green/yellow/red). Auto fields: medicalTimestamp = $timestamp, medic = $currentUser. |
| Confirm | Enabled — verify the medical record before saving. |
Scenario: At a large event, coordinators assign tasks or zones to registered volunteers.
| Step | Suggested Configuration |
|---|---|
| Query | Search by volunteer ID or name. |
| Select | Multiple selection enabled (assign the same task to a group). Show name, current assignment, availability. |
| Action | Manual fields: zone assignment (select dropdown), shift (select: morning/afternoon/full day). Auto field: assignedBy = $currentUser. |
| Confirm | Enabled — review the full batch assignment before committing. |
Scenario: Share a link with participants so they can look up their own registration details — bib number, event, category, start time — without exposing the full database.
| Step | Suggested Configuration |
|---|---|
| Data Mode | Remote — no data is stored on the participant's device. |
| Query | Search by bib number (number input) or email (email mask). No scanning, no auto-submit — let the participant type at their own pace. |
| Select | Single selection. Show bib, name, surname, event. |
| Action | No action fields — set participant details to visible so the participant sees their full registration. |
| Confirm | Disabled — there is nothing to modify. |
This workflow is read-only: it lets participants verify their data without modifying anything. Ideal for embedding in a pre-race email or posting on social media.
Scenario: Before race day, participants need to fill in missing profile information — phone number, emergency contact, T-shirt size — from their own device.
| Step | Suggested Configuration |
|---|---|
| Data Mode | Remote — the participant accesses the workflow from their personal device. |
| Query | Search by ID document (DNI mask) or registration confirmation number. |
| Select | Single selection. Show bib, name, surname. |
| Action | Manual fields: phone (phone mask), emergency contact (phone mask), T-shirt size (select dropdown: XS/S/M/L/XL/XXL). Participant details visible so they can see their current data. |
| Confirm | Enabled — the participant reviews their changes before submitting. |
Distribute the workflow link via email after registration. Participants complete their profile at home, reducing queues at the expo.
$currentUser dynamic value lets you record exactly who performed each operation./test/:sampleName) to familiarize operators before going live.