L
Leaphealth - OSDocs

Node reference overview

All 15 journey node types at a glance, plus the building blocks many node panels share: naming, skipping, backdating, waiting and task recipients.

A journey is built from steps called nodes. Each node type does one job: wait, send a message, raise a task, book an appointment, collect a signature, and so on. This section has one page per node type. This overview lists all 15 types and explains the building blocks that appear in many node panels. Each building block is explained once here, and the node pages link back to it.

This reference is for the administrators and implementation staff who design journeys. For the canvas itself, connecting steps and publishing, see The builder canvas and how connections work and Publishing and validation rules.

The 15 node types

The palette on the left of the builder groups nodes into Flow, Actions, Aide and End. Each card on the canvas shows the node's name, a subtitle with its type and code name (for example Pause · Wait), and a short summary of its settings.

Node

Code name

Group

What it does

Can host an AI Aide

Start

Trigger

Flow

The entry point. Exactly one per journey. Patients arrive through Entry rules.

No

Pause

Wait

Flow

Holds the patient until a time, an event, or whichever comes first.

No

Routine

Repeat

Flow

Fires again and again on a schedule or on events, and tracks streaks and goals.

No

Gather

Join

Flow

Joins parallel branches back together. The only node meant for several incoming branches.

No

Reach

Send

Actions

Sends WhatsApp or email messages from approved templates.

Yes

Capture

Form

Actions

Sends a form, or waits for form answers and routes on them.

Yes

Sign

DocumentSign

Actions

Collects legal e-signatures on a PDF document.

No

Engage

Task

Actions

Raises a task for staff, and can wait for their answer.

Yes

Appointment

Appointment

Actions

Books an appointment for the patient.

Yes

Connect

Handover

Actions

Hands the patient over to another journey, or starts one alongside.

Yes

Produce

Artifact

Actions

Runs an AI flow that produces a document for the patient record.

Yes

Involve

Link

Actions

Starts a journey for another person, such as a partner, and links the two journeys.

No

Tell

Signal

Actions

Sends a named signal to linked journeys.

No

AI Aide

Think

Aide

Not a step. Attaches to one action node and fills its inputs from an AI flow or team.

Not applicable

Close

End

End

Ends a branch or the whole journey with a named outcome.

No

Reading a node card

  • Needs setup means a required field is still empty.
  • Not configured means the node has never been edited.
  • n incoming branches — consider Gather appears on any node other than Gather that has several incoming connections. Parallel branches that meet should meet at a Gather.
  • Convergence point · n incoming branches appears on a Gather.
  • Action nodes that can host an AI Aide have an extra handle at the bottom for the dashed aide connector.

Two card hints can be wrong

A Gather card shows No timeout — publish will warn even when you have set a timeout in its panel. A Pause card shows No time branch (required) when the Pause waits only for events, although an event-only Pause is valid. Trust the panel, not the card, for these two hints.

Shared building blocks

Many panels reuse the same fields. The table shows where each block appears.

Node

Skip this step when…

If this step is already in the past

Waiting block

Staff task fields

Start

No

No

No

No

Pause

No

Yes

No

No

Routine

No

Yes (Advanced)

No

No

Gather

No

Yes

No

No

Reach

Yes

Yes

No

Centre for staff tasks

Capture

Yes (Advanced)

Yes (Advanced)

Yes

Lands with (role) and Centre for staff tasks

Sign

Yes (Advanced)

Yes (Advanced)

Yes

Coordinator recipient and Coordinator centre

Engage

Yes (Advanced)

Yes (Advanced)

Yes

Send it to and Centre

Appointment

Yes (Advanced)

Yes (Advanced)

No

No

Connect

Yes (Advanced)

Yes (Advanced)

No

No

Produce

Yes (Advanced)

Yes (Advanced)

Yes (always waits)

No

Involve

No

No

No

Role that gets the task

Tell

No

No

No

No

AI Aide

No

No

No

No

Close

No

No

No

No

Label and Notes

Every panel starts with Label and Notes.

  • Label is the step's name on the canvas. Names must be unique within the journey. When names are compared, capital letters do not count and a space counts the same as an underscore, so Intake Call and intake_call are the same name. If you reuse a name, saving the step shows Another node already uses this name — node names must be unique. Uniqueness matters because later steps read a step's results by its name.
  • Notes is free text for the people who maintain the journey. Patients and staff never see it.

Changes in the panel apply to the canvas when you select Save in the step dialog. If you close the dialog with unsaved edits, LeapHealthOS asks Journey Node is Not Saved — You have unsaved changes, do you want to exit?

Skip this step when…

Skip this step when… is a condition builder. When the journey reaches the step, the condition is checked. If it is true, the step does nothing (no message, task or booking) and finishes at once with the outcome skipped.

Each row has a Field, an Operator and a Value. Rows are joined with AND or OR. Use Add condition and Remove condition to change the rows.

Field offered

What it checks

Patient id

The patient's id.

Initial · field name

A value the patient was enrolled with (an initiation field of this journey).

Step name · a field it wrote

A result written by an earlier step. Complete the path after the dot.

Package payment pending

Whether a payment is still pending on the patient's package (yes or no).

Package balance due (paise)

The amount still due on the package, in paise.

You can also type your own field path. Operators are ==, !=, >, >=, <, <=, exists and not exists. Values such as true, false, numbers and null are read as those types, not as text.

Routing a skipped step. A skipped step still follows its plain connections (those with no outcome and no condition). Connections bound to an outcome are not followed. To send skipped patients somewhere specific, mark a connection as the default, or add a connection with the condition row Completed outcome == skipped (type skipped in Value).

Involve and Tell

The Involve and Tell panels do not offer Skip this step when… yet.

If this step is already in the past

Some steps wait for a moment in time: a Pause waiting until two days before an appointment, a Routine's next moment, a time limit counted from an earlier date. Sometimes that moment has already passed when the step starts, for example when a patient enrols the day before their appointment. The If this step is already in the past field decides what happens then.

Option

What happens when the moment has already passed

Follow the journey

Uses the journey's own choice. The panel shows it above the field as Follows the journey: …. New journeys use Skip it.

Skip it

The past moment is ignored. A Pause that waits only on time finishes at once down its time path. A Pause that also waits for events keeps waiting for the events only.

Move it to now

The moment is moved to now. If the wait was "after" a date, the full wait is counted from now instead.

Run it anyway

The moment keeps its past time, so it happens straight away.

The journey-wide choice is the field If a step is already in the past when a patient enters in Journey settings. See Waiting, time limits and reminders.

The Waiting block

Capture, Sign, Engage and Produce have a Waiting card. It decides whether the journey waits on the step or moves on at once, and what happens if nobody responds.

Field

What it does

Waits for

A fixed sentence that says what this step waits for.

Wait here or move on

Wait here holds the patient on this step. Move on at once lets the journey continue straight away (The journey goes on at once. Nothing is waited for on this step.). Produce always waits.

Time limit

Amount and unit (minutes, hours, days); on Produce it is Time limit (seconds). Required when the step waits (A step that waits needs a time limit. Without one it could wait for ever.), except on Sign, where an empty limit uses the clinic default. The helper says what it is counted from.

Reminder before the limit

How long before the limit to send a reminder. Must be shorter than the limit (The reminder must come before the time limit.). Empty uses the clinic default. Produce sends no reminder.

At the limit

The path the journey takes when the limit runs out. On Capture you name it in Path taken at the limit; on the other nodes it is fixed. Connect that path on the canvas.

Open work when the journey moves on

What happens to this step's open tasks when the journey moves past it: Clinic default, Keep it open, Cancel it, or Hand it to operations. Operations is the role named in Settings ▸ Journeys. Produce raises no tasks, so it has no choice here.

If a saved limit does not divide evenly into the chosen unit, the panel shows Saved as …. Enter an amount to replace it.

Node

Waits for

Counted from

Reminder

Path at the limit (as picked in the connection's Outcome)

Engage

A staff member of the chosen role to finish the task and give an answer

The moment the task is raised

The assignee or the role is told again through the task notifications

Nobody answered in time

Capture

The answers to the forms listed in the panel; the first decisive answer wins

The moment the step starts, or the Count from (optional) value

A form sent to the patient is sent again; a form raised as a task is brought up again

No-response fallback outcome (the name you enter)

Sign

Every signer to sign the document

Time limit counted from: Clinic default, The moment the step starts or The moment the link goes out

Every signer who has the link and has not signed gets it again

Expired unsigned

Produce

The AI flow to produce the document (always waits)

The moment the flow starts

None

Timed out

When you use an Engage step as the action of a journey schedule, the panel shows A step run by a scheduler never waits. and you cannot switch it to wait. Clinic defaults for reminders, open work, the signing time limit and the operations role are described in Notification, reminder and journey settings.

Staff task fields

Engage and the Sign coordinator use the same recipient fields. Capture (Lands with) and Involve (Role that gets the task) use a role picker only.

  • Send it to: A role, A specific person or A team.
  • Person (for a specific person) lists staff members. Required: Pick the staff member.
  • Team (for a team). Required: Pick the team. One member on duty at the task centre is picked by the team rule; the default member when nobody is on duty.
  • A role is always required (The task role is always required). When you pick a person or team, the role field is relabelled Role, if nobody can take it: the task goes to this role when the person is inactive or the team has nobody available.
  • Roles that have no permissions yet are marked (no permissions yet) and cannot be picked, because they cannot get tasks. Set their permissions first; see Roles and permissions.
  • A centre field picks The centre whose worklist this task appears in. It is labelled Centre on Engage, Centre for staff tasks on Reach and Capture, and Coordinator centre on Sign. Like other fields it can be fixed or worked out for each patient (see the next section), for example the patient's usual centre (most visits).

Where the tasks then appear, and how staff complete them, is covered in Where tasks come from and Working a task.

Field sources: Static, Expression, Resolver, AI

Fields that name a person, centre, doctor, appointment or value let you choose where the value comes from.

Source

Use it for

Static

A fixed text or number.

Expression

A value read from the journey when the step runs. Suggestions are grouped as Initiation fields, Node results, Patient (live read), Ready-made facts (read when the step runs) and Facts you type yourself (replace the words in capitals).

Resolver

A real record found for each patient: Resolves a real entity per instance — never a fixed id pasted into a textbox. You choose a strategy (for example the patient, a relative of the patient…, the patient's usual centre (most visits)), optional fallbacks (If that's not found, try…), and If nothing resolves: Skip this step or Fail the node.

AI

Filled by the AI Aide attached to this step. See AI Aide node.

If nothing resolves: Skip this step

Despite its label, Skip this step does not skip the whole step. The field is left empty and the step still runs. If the field is optional, the step goes ahead without it; if the step cannot work without it, the step fails. Choose Fail the node when you want a clear failure instead.

Ready-made facts include Package payment is pending (yes or no), Amount still due on the package (in paise), Days of medicine the patient has left at home, Type of bed or unit the patient occupies now and Number of open logistics requests of the patient. Patterns you complete yourself include stock.ITEM_CODE.on_hand, measure.MEASURE_KEY.latest, measure.MEASURE_KEY.count and measure.MEASURE_KEY.window.SECONDS.

Plain expression fields

Some fields are plain text boxes that hold an expression: Tell Values to send, Connect Bridge mappings, Produce Inputs and AI Aide Inputs. Start each expression with context., initial., nodes. or patient.. Anything else is used exactly as typed, as fixed text.

Outcomes and connections

When a step finishes, it records an outcome. To say which connection follows which outcome, hover over the connection and select the branch icon that appears (or the label already shown on the connection). In the editor you can pick an Outcome, add condition rows, or tick Default edge (fires when no condition matches), then select Apply. Plain connections (no outcome, no condition) all fire together, which starts parallel branches. The full rules are in The builder canvas and how connections work.

Node

What the edge editor offers

Pause

A Pause branch list: Time branch or Event n: … for each event branch. There is no Outcome list; to route on an outcome name you typed in the Pause panel, add a condition row Completed outcome == that name.

Routine

Outcome: Fired, Missed once, Goal missed, Goal achieved, Off track, Stalled, Exit condition met, Nothing to run on.

Gather

Outcome: met, timeout, impossible (impossible applies to K of N only).

Capture (when it waits for answers)

Outcome: each answer route (its label, or form name · route), each form's form name · Outcome when answered, and No-response fallback outcome.

Sign

Outcome: Everyone signed, Declined, Expired unsigned, Signing provider failed, Cancelled.

Engage (when it waits)

Outcome: each answer staff can give, as you typed it, plus Nobody answered in time.

Connect

Outcome: Admitted to the other journey, Already in that journey, Refused by its cooldown, Could not be admitted.

Produce

Outcome: Document produced, Document failed, Timed out.

Involve

Outcome: The other person is on their journey, Nobody to involve, A task asks staff to link them, Their journey refused the admission.

Reach, Appointment

No Outcome list. Use plain connections, or condition rows, for example Completed outcome == skipped.

Start, Tell

No Outcome list. Use plain connections, or condition rows on patient, enrolment or earlier-step fields.

Close

None; Close has no outgoing connections.

If a step fails when it runs (for example a required record cannot be found), staff can see the failure on the patient's run. See Running journeys and Health and insights.

journeysnodesjourney builderreference

Was this page helpful?

Last updated on

On this page