# Building the Workflow

A service must have a workflow. Onestop gives you a powerful workflow builder that allows you to add, update and delete steps in your workflow.&#x20;

Each step in your workflow is a task and is configured through various fields available, allowing you to build out a template for each and every task in your workflow.

By design, Onestop will always add a mandatory "Form Submission" step to your workflow that marks the beginning of a process. Currently, only form submissions can kickstart a workflow but we are working on expanding this functionality with time.

### Task Types

Onestop uses the BPMN paradigm to model workflows and consequently supports six types of nodes/steps you can add to a workflow:

1. User Task

   A user task is a task in the workflow process that must be executed by a user. A user can either be a human being or an AI bot. For more information on the supported user tasks in Onestop go to the [User Task types section](https://admin-docs.onestop.site/managing-services/building-the-workflow/user-task-types).&#x20;
2. Service Task

   A service task is a task that carries out an automated action and thus requires no user input or interaction. For more information on the supported automated actions in Onestop go to the [Service Task types section](https://admin-docs.onestop.site/managing-services/building-the-workflow/service-task-types).&#x20;
3. Split

   A Split task is a node in your workflow that makes a decision on the next path of the workflow based on various input. In Onestop, split nodes make decisions based on input from submission forms and/or task forms that have been filled in by users in previous steps. These conditions are called activation conditions in Onestop and will be discussed later. A split node with node activation conditions set will result in all outgoing paths of a workflow being enabled during the workflow process.
4. Merge

   A merge task is a node that merges different paths back to one shared path. The merge can be thought of as the opposite of a split.
5. Job

   A Job Task is a node that performs a scheduled task to be automatically executed at a specified time.
6. End

   An end node represents the last step in the workflow and marks the end of that workflow.
