chesterdocs

#Start a process

A plain start event lets a person start the process by hand, optionally with a form, and lets another process or the API start it with data.

#Who can start a process

flowchart LR
  P["A person<br/>(Execution app)"] -- "needs Manual start" --> S(("Start event"))
  C["Another process<br/>(call activity)"] --> S
  A["The API"] --> S
  W["A webhook<br/>or static URL"] --> M(("Message<br/>start event"))
  S --> R["The process runs"]
  M --> R
Start event Status Started by
Plain start event ✅ A person in the Execution app — once Manual start is on — another process, or the API
Message start event ✅ An incoming webhook or request
Timer start event ⚠️ Deploys, but never fires. Nothing starts the process when the time comes
Signal, conditional, error and escalation start events ⚠️ Deploy, but nothing triggers them
Compensation start event ⚠️ Runs like a plain start event

⚠️ A timer start event shows a Timer group with a Type — date, duration or cycle — and a Value. Nothing reads them. To run a process on a schedule, have an external system call it.

#Let a person start the process

  1. Select the start event and open the Manual start group.
  2. Switch it on with the toggle in the group's header.
  3. Optionally pick a Form. Without one, the person fills in the fields of the input schema instead; without an input schema, the process starts straight away.
  4. With a form, map its answers onto the input-schema fields — one expression per field, typically formData.<field>.

The person starts the process from a process catalog in the Execution app. That needs a production deployment; a development deployment cannot be started from there.

⚠️ A start event without Manual start is not offered to people. Another process and the API can still start it.

#Several start events

A process may have more than one start event. Every run begins at exactly one of them:

  • A person who can choose between several manual starts is asked which one to use, by name.
  • A calling process names the start event it wants.
  • Otherwise the first plain start event is used.

#The data a start event provides

What the process was started with is stored under the start event's id — for example StartEvent_1.orderId — and the person who started it under __INITIATOR. A process started by another process receives the values the calling step mapped. See Work with process data.

⚠️ The data is checked against the input schema only when a person starts the process through a start form.

#What validation checks

Nothing is required on a plain start event. A process without a start event, one with several plain start events, and a start event with an incoming flow each get a warning.