> For the complete documentation index, see [llms.txt](https://docs.seliom.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.seliom.com/getting-started/start-exploring/creating-our-process-on-seliom.md).

# Creating our process on Seliom

Head over to the [Processes](https://app.seliom.com/app/processes) page and click on **Add new process**. Give your process a meaningful name such as **Time-off Requests**.&#x20;

After your process is created, click on it to view it.

## :writing\_hand: Documenting our process

The first step in Seliom is to write a description of your process for others to understand. We provide a powerful **text editor** to make this easy for you.

![Seliom's document editor](/files/-MUTNkL9Ffr0HRUAxeqo)

## &#x20; :rocket: Automating our process

Head over to the **Workflow** tab and then click on **New workflow.** You will now see the *Workflow Editor***.**

![Seliom's workflow editor](/files/-MUTOiVAd_EK2IxDPlte)

You can drag and drop nodes from the left sidebar onto the canvas and connect them however you like!

![What you draw is what you get!](/files/-MUTWgWzMosf2fBtEYzI)

Our final process will look like this in the editor:

![Drag and drop the nodes to create a workflow like this one](/files/-MUT_X9S-Al-3q1whyXx)

Now that we have drawn our process, let's **configure it**.&#x20;

Double click on a node to open its settings. Different types of nodes have different settings that you can adjust:

![Double click on a node to configure it](/files/-MUTXLDhTm6RJGqvV4I0)

### :sparkler: Configuring the Start Node

The **Start** task represents the first task required to start this process. You can only have one start task per process. They are represented by a yellow node.&#x20;

In our example, we are going to create a form in the **start node** that asks for a *start date* and an *end date* for our time-off requests.

Double click on the node and configure it the following way:

* In the **Basic Details** tab, give it a name such as **Time-off Request.**
* In the **Start Settings** tab, indicate the team members who can create time-off requests.&#x20;
  * For this demo, make sure to add at least yourself!
* Head over to the **Form Editor** tab, and click on **Add Element.** You can create different form elements that request the information you need to start a process. For this demo, make sure to have:
  * A *date* element, called **Start Date**, with a *Field ID* of **start\_date.**
  * A *date* element, called **End Date**, with a *Field ID* of ***end*****\_date.**

![This is how you design forms in Seliom](/files/-MUUEhA1tkixEdQDO50G)

{% hint style="info" %}
The **Field ID** is an identifier for your form element. You can reference form elements in other tasks and robots to create powerful business applications.
{% endhint %}

### :raised\_hands: Configuring Task Nodes

**Tasks** are represented by blue nodes and indicate something that needs to be done manually by a team member. The most important configuration options for tasks are:

* The **form editor,** used to indicate the data that must be provided in each task. This is the same as in the *Start* node.
* The **task owners**, where we indicate who is responsible for performing each task.

For this example, we only have one **Task** called **Update company calendar.** This is the task that **Clark** must perform when **Lois** approves a Time-off request. Let's go ahead and configure it:

Double click on the task and head over to the **Task Owners** tab.&#x20;

* In the **People** section, you should indicate that **Clark** is the person who should perform this task.

![Make sure to add Clark to the People section](/files/-MUUIBAb0BIXKoz7sJJq)

For this task, we are going to leave the **Form Editor** empty, as we don't require **Clark** to provide any data.

{% hint style="info" %}
The **form editor** and **task owners** tabs offer a lot of custom options. Explore them to learn more.
{% endhint %}

### :large\_blue\_diamond: Configuring Decision Nodes

**Decision** nodes help us create conditions in our processes. For example, if a request is *approved* we might want our process to go a different way than if it was *not approved*.

We only have one decision node in our process called **Approved?**. This is a task that is assigned to **Lois** when a time-off request is created.&#x20;

Double click on the decision node to configure it.&#x20;

* In the **Decision Makers** tab, select **Lois** as the person in charge of making the decision.
* In the **Decision Options** tab, you can see the different options that the person making this decision could select. By default, we always provide *Approved* and *Not Approve&#x64;**.*** You can leave this options as they appear.

{% hint style="info" %}
Decision nodes offer advanced automation options with formulas. We are skipping this for now.
{% endhint %}

### :robot: Configuring Robot Nodes

**Robots** (represented by purple nodes), are automatic tasks that do not require human intervention. They can be used to send emails, wait until a specific date, or connect to external systems. In this example, we are using 2 **email robots:**

* When **Lois** denies a request, the **Notify Requestor** robot sends an email to the requestor letting him know.
* When **Lois** approves a request, the **Notify requestor of approval** robot sends a similar email to the requestor letting him know.

The process for configuring both robots is very similar:

* First we double click on the Robot node.
* Then we click on the **Robot Settings** tab. We select **Email Robot** under Seliom Robots.
* Under **Recipients**, we click on **Add Recipient,** and from the dropdown we select **Previous Task Owner**. We then select the *Start* task, called **Time-off Request**.
* The rest of the fields are optional. We recommend adding a *Sender's name* and the following *Body* to your email:

```
The time-off request from {start_date} to {end_date} has been approved. 
```

![Example of an email robot](/files/-MUUSp-wMkWusj46bL3B)

{% hint style="info" %}
You can see we are referencing in our robot the *start\_date* and *end\_date* **Field ID** from a previous form in our process.
{% endhint %}

### :jigsaw: Finishing our automation

Now that all the steps in our workflow have been configured, we just need to click on the **Automate** button in our canvas. This will validate our process to ensure there are no errors.&#x20;

If any warnings or errors pop up, correct them and try again. Otherwise, click on **Submit.**

{% hint style="warning" %}
You should notice a warning regarding the **Update company calendar** task, as we did not fill out its form. You can safely ignore it.
{% endhint %}

![Click on Automate to publish your process](/files/-MUUZQ4LU0Ee2-CNCxCQ)

Now that our process has been automated, let's see it in action:

{% content-ref url="/pages/-MUUZjtmouNKrvOH5NqC" %}
[Launching our process](/getting-started/start-exploring/launching-our-process.md)
{% endcontent-ref %}
