Included in uKore

StateFlow

Your processes, drawn and followed in every app.

Orders that go from draft to approved, tickets that are opened and closed, candidates moving through a hiring process. StateFlow shows you how your records move between states and lets you decide, without code, which changes are allowed, what must hold first and what the platform does afterwards.

It works in every uKore app: the ones from the marketplace and the ones you build.

In motion

This is what a flow looks like in uKore

The map with its cards and arrows, the rules panel of a state and the simulator: you draw an allowed change, review its rules and check a change before making it.

Animation recreated from the real product. Further down you have screenshots of the application.

Three pieces, one flow

  • Flow map

    Every state of a field, the allowed changes, the rules and live data: how many records are in each state and how long they spend there.

  • Simulator

    Pick a record and a target state and find out whether the change would go through, which check fails and what would happen afterwards, without touching anything.

  • State history

    Each record's journey: which states it went through, who moved it, when, how long it stayed in each one and which other records moved because of that change.

Configure without code

The flow is configured on the map itself

From Studio you open an entity and the map of its state field. Everything you change is saved on the spot and the map is redrawn. If something cannot be saved, you see why and nothing is lost.

Schematic illustration. Not a screenshot of the product.
  • Allowed changes

    Drag from one card to another to allow a change. From the Creation card you decide which state a record can be born in.

  • Permissions, reason and button

    Each change can require permissions, ask for a reason, show a button on the record with its label in English and Spanish, or be allowed only when the record meets some conditions.

  • Validations

    Before leaving or entering a state: required fields, a condition, a permission, or that all related records meet something. With the message you write.

  • Actions

    After the change or when a deadline passes: write fields with a value or a formula, request another transition, create a record or update a related one.

  • What to do if something fails

    Each action chooses: roll the change back, log it and continue, or run in the background.

  • Deadlines and colours

    Each state has its colour, its icon and a deadline in hours. If a record goes past it, the overdue-deadline actions run.

Real screenshots

Exactly as you will see it in your organization

Screenshot of the ticket flow map in uKore: the creation card and the states New, In progress, Waiting for customer, Resolved and Closed, joined by arrows with their icons.
The ticket flow map in a demo organization.
Screenshot of the uKore simulator: moving a ticket to Resolved would be rejected because a required field, the Owner, is empty.
The simulator warns that the ticket cannot move to Resolved: the Owner is missing.

Screenshots of the Spanish interface.

Day to day

For the people working with the records, everything is clearer

The state is changed as usual —from the record, by dragging the card on the board or with a button— and the flow accompanies every change.

  • 01State buttonsButtons such as Approve or Reject appear on the record, only those of the current state and only if you have permission. If there are unsaved changes, they are disabled so nothing is lost.
  • 02Everything missing, in one messageIf the change cannot be made, the record stays as it was and a single notice lists everything that is missing. On the board, the card goes back to its column.
  • 03A reason when neededIf the change asks for a reason, a window opens saying which change asks for it. The reason is kept in the history; if you cancel, nothing changes.
Schematic illustration. Not a screenshot of the product.

State history

The complete journey of each record

From the record you click State history and see one step per change: the state, who made it, when, how long it stayed there and the reason when one was asked for. Records that moved because of a change hang under the step that caused them.

  • The time of the current step keeps updating.
  • The raw log lists each change with date, field, source, target, user, time, reason and result.
  • You only see the chained records you have access to.

Safe by design

Rules are enforced on the server, for each organization

  • A single door

    From the record, the board or a button, every state change goes through the same engine on the server and leaves its line in the history.

  • No loops

    An action cannot write the state field itself. To chain changes, Request transition asks for the change and the engine makes it with all its checks.

  • Permissions respected

    The map, the simulator and the configuration are for administrators. Counts and the history only show what each person can see.

  • Protected templates

    In a marketplace app, the changes and rules that come with the template cannot be removed; you add your own on top.

  • Each organization, its own

    The configuration and the history live inside your organization and never mix with another one's.

  • Nothing is discarded without warning

    If something cannot be saved, you are told why. If you leave with pending changes, you are asked before they are discarded.

Export and import

Reuse a flow in another app

Export the flow to a file and import it into another app. Before applying it, uKore shows you which parts will be left out —states that do not exist there or actions reserved for whoever published the template— and changes nothing until you confirm.

What you can solve with a flow

  • Find out why an order cannot move to Approved by simulating it first.
  • See which records have been stuck in a state for days and open them with one click.
  • Find out who rejected a record and with what reason.
  • Fill in the approval date automatically on approval.
  • Close a resolved ticket on its own if nobody answers within 48 hours.
  • Require a solution and hours before a ticket can be marked as resolved.

Frequently asked questions

Does it cost extra?

It is not a separate module: state flows are part of the platform and work on any entity that has a state field.

Do I need to know how to code?

No. States, changes, validations and actions are configured on the map, choosing from lists. Conditions are built field by field.

Who can configure a flow?

The organization's administrators and owners. Other users see the buttons, the notices and the history of the records they have access to.

What happens if I configure nothing?

State changes work as usual. With strict mode unticked, any change is allowed and the arrows only add their permissions, reasons, buttons and rules.

Does it work with marketplace apps?

Yes. Apps can come with their own flow and you add your own changes and rules on top; what the template brings is respected.

Does the simulation change the record?

No. It touches neither the record nor its history: it uses the data the record has at that moment and tells you what would happen.

See your processes as you have never seen them

We will show you StateFlow on a real case from your company.