ConceptFor engineers

Activity model and lifecycle

What an activity is in Navi, the types it supports, the states it moves through, and where validation happens.

An activity is a single task a stakeholder completes in a care flow: a form, a checklist, a message to acknowledge, or a custom extension action.

Activities are orchestrated by the backend and rendered by the embedded portal. The host app displays activities; the care flow decides which ones exist and what happens next.

Supported activity types

Navi renders forms, checklists, message acknowledgments, and activities produced by custom extensions.

Lifecycle: build against events, not polling

An activity moves through states as the stakeholder works on it, from becoming available, through in-progress, to complete. Navi emits an event at each transition, which is how the host app reacts. See Events emitted by Navi for the full event reference.

The care flow can create and expire activities with no input from the stakeholder, so a UI that assumes a fixed list will drift.

Validation comes from the care flow, not the client

Validation happens where the activity is defined. A form's rules come from the care flow design, so Navi enforces the same rules everywhere the form appears.

There is no validation to reimplement in the client, and no way to override it from there. If a rule is wrong, change it in Studio.

Next steps

Next: Sessions and JWTs for how access is granted.

On this page