Workflow types

The four workflow shapes in Maintella and when to use each.

Workflow Types

Maintella supports several kinds of workflows that differ in how a task is created, who runs it, what identity is required, and where the resulting task is recorded. Although they share a single Workflow model, two boolean flags — self_startable and user_workflow — combine to define four distinct operational shapes.

Use case overview: A facility-management organization runs Filter Replacement as a regular assigned workflow for scheduled maintenance, Monthly Visual Inspection as a self-startable workflow for on-site contractors, and Report an Issue as a user workflow available behind a public QR code on every asset.


At a Glance

Typeself_startableuser_workflowIdentity requiredTask lands in
Maintenance (assigned)falsefalseField engineer (assigned)Maintenance log
Self-startabletruefalseField engineer (self)Maintenance log
User workflow (anonymous)falsetrueNone (silently recorded)Feedback log
User workflow + self-starttruetrueNone (silently recorded)Feedback log

Both flags are independent and can be edited per workflow in the workflow editor; the state (draft / published) and any required-tools / required-parts fields apply identically to all types.


Maintenance Workflows (Default)

A maintenance workflow is the basic, assignment-only form: both flags off, the workflow exists in the catalog, and tasks are only created when a remote engineer or admin explicitly assigns one to a named field engineer.

Characteristics

  • Both flags self_startable and user_workflow are false
  • A task only exists once an admin creates it via the Assign Task flow
  • An access key is issued to the assignee’s email (or delivered as a link) and is bound to that single task
  • The assignee’s identity is mandatory — they are recorded both as the started-by and completed-by field engineer
  • The resulting task is part of the Maintenance Log for the asset
  • The workflow does not appear in the on-asset Start a New Task list, and cannot be wired to a short URL

When to use

  • Scheduled or planned work that needs traceable accountability
  • Anything where a specific named technician must be on the hook
  • Work that should appear in regulatory or service-history reports
  • Sensitive workflows that should not be discoverable to anyone who happens to land on the asset page

Example: A remote dispatcher creates a “Quarterly Generator Service” task for Generator #4, assigns it to a contractor by email, and the contractor receives a time-bound access link.

Note: Self-startable maintenance workflows can also be explicitly assigned from Assign Task. User workflows cannot — they are launched via short URLs or on-asset visitor flows only. What the maintenance variant adds is the constraint that only admin assignment can produce a task, so the workflow is invisible until that happens.


Self-Startable Workflows

A self-startable workflow lets a field engineer who already has access to an asset start work without waiting for a remote dispatcher. It is the “unassigned” form of a maintenance workflow: the workflow exists, is published, and is visible to anyone holding an access key to the asset — but no specific task has been carved out and assigned in advance.

See Self-Startable Workflows for the full feature reference.

Characteristics

  • self_startable: true, user_workflow: false
  • Surfaces in the Start a New Task list on the asset page for any field engineer who arrives there with a valid access key, regardless of how that access key was obtained:
    • A time-bound access key issued via an admin task assignment (or an admin-delivered access link)
    • A permanent access key created when an engineer scans an asset’s QR code (short URL)
  • Field engineer identity is required — they must be enrolled (have a field_engineer_id) before they can self-start. The first time they hit an asset they’re prompted to fill in their profile.
  • Each self-start creates a new task; the existing access key is reused (no extra access key is issued for the new task), and the task’s expiry follows the access key’s expiry.
  • Lands in the Maintenance Log alongside assigned tasks; both assigned by and assigned to show the engineer’s email.

When to use

  • Routine inspections that any qualified on-site technician can run
  • Reactive work where waiting for assignment is wasteful
  • Anything that benefits from a one-tap start once the technician is in front of the asset

Example: A contractor on Building A has a 48-hour access link from a previous task assignment. While on site they notice another asset needs a filter swap, scan its QR code (which gives them a permanent access key), and start the published Filter Replacement self-startable workflow themselves. Both tasks show up in the maintenance log self-assigned to them.


User Workflows (Anonymous / Public)

User workflows are intended for end users — visitors, customers, on-site staff, prospects — and are designed to run without any identity collection. They power feedback flows, public CTAs, and self-demo experiences.

Characteristics

  • user_workflow: true
  • Identity is never requested. The frontend skips its profile-collection modal entirely for these tasks.
  • If the visitor happens to already be enrolled as a field engineer (e.g. a service tech opening a public link from their phone), their field_engineer_id is silently recorded with the task. No prompt, no friction.
  • Tasks created from a user workflow land in the Feedback Log — a per-asset tab on the admin asset details page — and are filtered out of the Maintenance Log everywhere (admin tasks list, admin asset Task Activity, user-side Task History).
  • Each public scan creates a new task; visitors can submit the same workflow many times.
  • After completion, anonymous submitters see a Thank You page instead of being routed back into the regular post-task flow (which would prompt them to create a field-engineer profile).
  • Validation guarantees: a user workflow can only be wired to a short URL if it is published and belongs to the same organization. Maintenance workflows cannot be wired to short URLs at all.

Combination: user_workflow + self_startable

User workflows are commonly also marked self-startable. This makes them appear in the Start a New Task list for technicians as well, while still routing the resulting task to the Feedback Log when started — even if the technician is identified.

A user workflow reaches end users via a public short URL or on-asset visitor launch — not via Assign Task. Self-startable maintenance workflows can additionally be assigned to named field engineers. The user_workflow flag governs routing and identity; self_startable governs whether it shows up in the on-asset list.

When to use

  • Feedback channels: “Report a problem with this asset”
  • Public CTAs: “Contact us”, “Request a demo”
  • Usage logging where you don’t care who logged it: “Log usage hours”
  • Self-demo flows for prospects: “Try a payment-terminal replacement in Maintella”

Example: An EV-charger operator places a sticker that reads Issue with this charger? Scan to report. The QR resolves directly into the Report an Issue user workflow. The visitor fills a short form and submits; the result appears in the asset’s Feedback tab. If the same QR is scanned by an enrolled service engineer the report is still anonymous-public, but the engineer’s identity is recorded silently for audit.


How the Flags Compose

self_startableuser_workflowVisible in Assign Task?Visible in Start a New Task?Wireable to a short URL?Lands in
falsefalseyesnonoMaintenance
truefalseyesyesnoMaintenance
falsetruenonoyesFeedback
truetruenoyesyesFeedback

Notes:

  • Assign Task lists only published maintenance and self-startable workflows (user_workflow: false). User workflows are deployed via short URLs or visitor flows.
  • Only published user workflows can be wired to short URLs. Drafts are listed in the workflow picker with a warning so admins know they need to publish before they can deploy.
  • The Maintenance Log explicitly excludes feedback tasks; the Feedback tab includes feedback tasks from public scans, self-start, or other visitor flows.

Identity Rules in Detail

Workflow typeField engineer required at creation?Profile prompt shown to visitor?Identity stored on task
Maintenance (assigned)yes (assignee email)yes (when no profile yet)Assignee + started-by + completed-by
Self-startableyes (self)yes (when no profile yet)Self-assigned: assignee = started-by = completed-by
User workflownono — neverOptional; recorded silently if a profile already exists

The frontend tracks this via a session-scoped user-workflow access key set: once a launch happens for a user workflow, that access key is flagged for the rest of the session and the profile modal is suppressed even if the visitor navigates back to the asset.


Where Tasks Surface

SurfaceMaintenance tasksFeedback tasks
Admin → Tasks (default view)shownhidden
Admin → Tasks ?kind=feedbackhiddenshown
Admin → Asset details → Task Activity tabshownhidden
Admin → Asset details → Feedback tabhiddenshown
User-side (asset page) Open Tasks / Task Historyshownhidden

?kind=all on the admin tasks endpoint returns both. The Feedback tab is the canonical place to review user-workflow output for a specific asset.


Visual Indication in the UI

A small User Workflow badge marks user_workflow workflows wherever they could be confused with maintenance workflows:

  • Admin workflow list (workflows page)
  • Workflow picker in the Assign Task flow
  • User-side Start a New Task list on the asset page
  • Permanent access keys panel — when a QR-backed access key is wired to a specific user workflow, the access key heading shows the workflow name and the badge

The badge has an explanatory tooltip (“User workflow: anonymous public flow. Tasks appear in the Feedback tab.”) so admins can confirm what they are about to deploy.


Deploying Workflows on QR Stickers

Use Asset Permanent Access URLs to print and deploy codes:

  1. Publish the workflow (user workflows must be published before they can be wired to a short URL).
  2. Generate a batch in Admin → Asset Access URLs, optionally passing workflow_id to pre-assign a user workflow to every code (e.g. a batch of Send feedback about this place stickers).
  3. Export labels — CSV for external tools, or Download Batch PDF / per-row Download label PDF from the admin UI (async PDF generation).
  4. Claim each sticker to an asset on site (or claim via admin row actions). For maintenance-only access, leave the workflow unset so scanners land on the asset page and use self-startable workflows.
Deployment intentWorkflow flagsShort URL configuration
Technician picks work on siteself_startable: true, user_workflow: falseClaim to asset; no direct-launch workflow
Public feedback / CTA from QRuser_workflow: true (often self_startable too)Set published user workflow on URL or whole batch
Both audiences, same assetMix of workflow typesSeparate stickers or batches per intent


Last updated on May 28, 2026