The elements of a process drawing and their properties.
| Node | Properties |
|---|---|
| start | trigger: form | criterion | schedule | event |
| screen | screen; role; active_for; on_timeout; variables_in; variables_out; email; notify |
| decision | expression; default arrow |
| split · join | branches; join: all | first |
| wait | until: date | clock | event; timeout |
| notify | channel; recipients; template; buttons |
| write_back | handler; operation; mapping; on_error: retry(n) | hold | route(role) |
| sub_process | app; version; wait: true |
| end | outcome code |
An arrow has a source node, a target node and an optional criterion. A decision node takes the first arrow whose criterion holds, then its default arrow. A loop is an arrow to an earlier node; a note is usually required on the way.
lanes: [customer_or_agent, service_agent, assessor, system] nodes: start (customer_or_agent) trigger: form S01 S01 lookup (service_agent) screen S01, active_for 1 working_day covered? (service_agent) decision S03 assess (assessor) screen S03, active_for 1 working_day → escalate(service_manager) order (system) write_back dh_service_order.create, on_error retry(3) arrows: start → S01 S01 → covered? covered? → order when coverage == 'covered' covered? → S03 assess when coverage == 'assess' S03 assess → order when app.decision == 'approve'