# Read Inputs

Now that we have the required *slots* and *triggers* configured, it is time to configure the actual workflow.

An ideal workflow for the *applyLeave* intent would be

1. Ensure startDate and endDate are available.
2. Ensure *leaveReason* is available.
3. Mark the leave using the available end-point
4. Response to User the action has been completed.

Let us begin creating the workflow.

## Configure Workflow

Every workflow configured might contain a varying number of steps depending on the intent. Irrespective of the logic involved, each of the workflow will begin with a *Start* Action and is terminated by an *End* action.

### Start Action

The *Start* Action marks the first step of the workflow. Every workflow defined has a single *Start* action. You can add the *Start* Action by dragging and dropping the action from the Action Panel to the Editor.

![Start Action](https://2566128011-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUn1oKrw7P8P5qiTjWXjv%2Fuploads%2FvG5Vj47qqIyVf1Y4uiXI%2Fdialog-workflow-Start-action.JPG?alt=media\&token=9f7aa2b9-eb12-4894-90dc-0bccbd17832d)

### Read Inputs

Once we have marked the first step of the workflow, as per the outline of workflow we created at the beginning of this document, the next step is to ensure the key parameters (slots) which are required by the intent are captured.

This can be ensured by adding an *Get* Action. The *Get* action accepts a single parameter, which points to the slot that needs to be read. You can add the *slotName* as shown in the figure below.

![Get Action](https://2566128011-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUn1oKrw7P8P5qiTjWXjv%2Fuploads%2FizDP1WEsQjzlevKZAyvC%2Fdialog-workflow-get-action.JPG?alt=media\&token=b74e50b9-b591-48c1-973a-715fe57137b0)

Drag 3 *Get* actions to the workflow editor and specify each of the slots we require in each of them. We will begin by collecting the *startDate*, followed by the *endDate* and *leaveReason*. You can mark the order by using the transition/relation lines as shown in the figure.

![Read Inputs](https://2566128011-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUn1oKrw7P8P5qiTjWXjv%2Fuploads%2FqfJ0fV3HGQRCgOCI0jNu%2Fdialog-workflow-editor-input-values.JPG?alt=media\&token=986b62d9-5104-4a51-a00e-f02e1471a594)

### Record Information

At this point, there are two options. The developer can design the workflow to make use of a Rest endpoint to save the values. On other hand, when the requirement to have a backend endpoint is not that high, you could also make use of our no-code approach and save the values in a spreadsheet. We will look into both approaches.

{% content-ref url="no-code-approach" %}
[no-code-approach](https://readme.dhee.ai/getting-started/train-your-bot/configure-workflow/no-code-approach)
{% endcontent-ref %}

{% content-ref url="rest-endpoints-approach" %}
[rest-endpoints-approach](https://readme.dhee.ai/getting-started/train-your-bot/configure-workflow/rest-endpoints-approach)
{% endcontent-ref %}
