> For the complete documentation index, see [llms.txt](https://program-user-docs.preignition.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://program-user-docs.preignition.org/release-notes/process-builder.md).

# Process Builder

Preignition contained a Process Engine since early version of the application. However editing processes was difficult and demanded a deep knowledge of the application's internal logic.

The new process builder aims at changing this and provide an easy way to adjust processes according to client's need.

## Overall

Processes are configured through 2 main views: `Compose` and `Access`. Certain type of specialized processes like Selections have additional views (e.g. `Selection`, `Batch` and `Campaign`).

![Process builder overall view. The active View is 'Apply to Program' state](/files/U354THpt8ADFRIEkN9ip)

## Composition

A process is build in the `Compose` view, which comprises three sections. On the top, a visualization of nodes and transitions - automatically drawn from process definition. On the left, a tree grid indicating the structure of the process. Finally on the left, a section displaying the active item (node, transition or action).

Users can add / remove process items from the tree grid (via a context menu).

![Expanded Process Tree Grid, with a context menu](/files/zu67ydS6Eh6C7IOl5U4e)

### States, Transitions, actions

Preignition Process Engine is a custom implementation of a[ Finite State Machine](https://en.wikipedia.org/wiki/Finite-state_machine). Hence a process has to transition from one state to another in to perform different actions.

Actions are triggered whenever a state is activated. For the time being, users can set 4 different type of actions: send an email, display a message in a user's bulletin board, create a survey, and make and automatic transition.

Some type of actions require further settings. For instance, an email template has to be set when the type of action is "send an email".

![Choosing a type of action](/files/LqoXjn2OY1gUI5SxWRgU)

### Process Validation

The app checks whether a process is valid. The user is informed in case of missing elements (like missing transition, missing email template, ...). An invalid process cannot be published.

![Example of an invalid process](/files/kSAD0gDazu1R8RRyGt9K)

## Access

Like other Preignition resources, processes have an owner and can share different type of access (edit, view).

![Process Access page.](/files/Im9AxB9booYNmsp9h3bc)

## Selection Process

Selection processes are specialized type of processes, aimed at defining and controlling how a business is accepted to a program. A business applies to a program by accessing a link associated to a selection process.

Additional information can be set for those type of processes.

### Selection page

This view allows to add human readable `aliases` for a selection process, or define a user who will be the default `steward` for businesses applying to the program.

It is also possible to describe the program so that businesses starting the selection process are well informed.

![Setting aliases and steward to a selection process](/files/xohQXFwwYdEWnLoXAXp6)

![Presentation of a program - displayed to businesses applying.](/files/SseGdYLBiycCubNxZt2L)

### Batches

Multiple batches can be defined for a selection process. This allows to group businesses according to their respective application dates. Only one batch is active at a give time. Batches can also have starting and ending dates so as to only allow business to apply within defined time frames.

![One active batch starting from a certain date, without closing date.](/files/mbs1INA9T3R2fjtW190w)

### Campaign

It is useful to be able to trace how a business got access to a certain program. Campaign are added for this purpose. A campaign is a specific link attached to a selection process, allowing to know how a business interacted with a program.

For instance, a `campaign` link can be distributed to a partner relaying program communication. Alternatively, a different `campaign` link can be shared on twitter and other social media / email campaign.

![Example of one link to be shared with a specific partner.](/files/31qKwxmaUUAO3Oz7oAfL)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://program-user-docs.preignition.org/release-notes/process-builder.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
