4. Start Event Forms

You can define form properties directly on the Start Event to collect data before the process starts.

How It Works

  • If a process has form properties on its Start Event, clicking "Start" shows a form page
  • User fills in the form and submits
  • Process starts with the submitted values as process variables
  • If no start form properties exist, the process starts immediately (no form shown)

Example

<startEvent id="start" flowable:initiator="initiator">
    <extensionElements>
        <activiti:formProperty id="projectName" name="Project Name" type="string" required="true"/>
        <activiti:formProperty id="priority" name="Priority" type="enum" required="true">
            <activiti:value id="high" name="High Priority"/>
            <activiti:value id="medium" name="Medium Priority"/>
            <activiti:value id="low" name="Low Priority"/>
        </activiti:formProperty>
        <activiti:formProperty id="description" name="Description" type="string">
            <activiti:value id="type" name="textarea"/>
        </activiti:formProperty>
    </extensionElements>
</startEvent>

Note: All form property types supported in User Tasks (string, long, boolean, date, enum, file) also work in Start Event forms.