> For the complete documentation index, see [llms.txt](https://docs.primeur.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.primeur.com/data-mover-1.20/workflow-templates/what-is-a-workflow-template.md).

# What is a workflow template

In Data Mover, a workflow template visually represents a business process as a diagram. It can be used in any contract and configured with specific variables to meet each actor's needs. Essentially, the **workflow template indicates the action to take after an event**, while **the contract specifies where to perform that action**.

Workflow templates utilize the **BPMN** (Business Process Model and Notation) standard, providing a visual flowchart representation to model business processes. This flexible design accommodates modifications based on specific parameters, allowing a single flowchart to be used in multiple contracts and to meet diverse partner needs and configurations.

The BPMN process execution lifecycle involves these key steps:

1. **Drawing the process in an editor**, which generates a BPMN representation as an XML file.
2. **Deploying the process**, which involves persisting the process on a database and installing it on the engine.
3. **Initiating the process definition by activating the engine**, using APIs or other methods. This results in the creation of a process instance that is fully handled by the engine.&#x20;

In a BPMN process, **service tasks are fundamental elements**. Essentially, a BPMN model represents a flowchart of a sequence of service tasks.

The **workflow template** designed with BPMN incorporates **three key features**:

1. [Triggers](/data-mover-1.20/workflow-templates/triggers.md): they represent the occurrence of a **specific event that initiates the workflow instance**.
2. [Service tasks](/data-mover-1.20/workflow-templates/service-tasks.md): they define the actions available in the BPMN designer and drawn in the workflow template.
3. [Variables](/data-mover-1.20/workflow-templates/variables.md): they allow the same workflow template to be reused. Workflow templates function differently depending on the variables given.

<figure><img src="https://3170459594-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FptDwkwGfIbMhLdRlTAmx%2Fuploads%2FkO681pnXg9VSsJx9kU9y%2Fimage.png?alt=media&amp;token=e39bd802-979a-4a82-a32b-662a63a3bdb9" alt="" width="563"><figcaption></figcaption></figure>

**Workflow templates are fundamental when defining contracts**. Different types of **workflow templates** exist:

* [System workflow templates](/data-mover-1.20/workflow-templates/system-workflow-templates.md). Provided by Primeur, these are mandatory for use in **input and output contracts**. Primeur offers customized support to design system templates that meet client-specific requirements.
* [Error handling workflow templates](/data-mover-1.20/workflow-templates/error-handling-workflow-templates.md). They are provided by Primeur and help manage errors that occur during contract execution.
* [User-designed workflow templates](/data-mover-1.20/workflow-templates/user-designed-workflow-templates.md). They are designed by the user and are used in **mediation contracts**. Refer to the [Create a user-designed workflow template](/data-mover-1.20/workflow-templates/user-designed-workflow-templates/create-a-user-designed-workflow-template.md) page to learn how to design a workflow template.&#x20;
