> For the complete documentation index, see [llms.txt](https://guide.form.gov.sg/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guide.form.gov.sg/user-guides/advanced-guide/workflows/create-a-form-with-workflow.md).

# Create a form with workflow

{% tabs %}
{% tab title="Text tutorial" %}

### <img src="/files/Evbqvm1BnUx6ONI3szxV" alt="" data-size="line"> Text Tutorial: Form with workflow

If you are new to FormSG, we recommend to first learn how to [create forms](/user-guides/basic-guide/create-form.md) (without workflows) before adding workflows. Once you have learnt the basics, please proceed to add a workflow in the following tutorial.

***

### **Step 1: Create form**&#x20;

<figure><img src="/files/Ol5KNUiqAIwSshyCjOGY" alt=""><figcaption></figcaption></figure>

In this example, I would like to design an account creation approval form. There is an applicant and a reporting officer (RO). I have populated the fields as follows.

{% hint style="info" %}
Before you proceed, you will either need to send the form to a RO using a (1) specific email or (2) from an email field. If it is scenario 2, please create an email field for the tutorial purposes.
{% endhint %}

<figure><img src="/files/fU3wGeZw069OHGCFbvGc" alt="" width="375"><figcaption></figcaption></figure>

You will notice that respondent 1 is able to fill all parts of the form at this point, which includes an email and Yes/No field (approve/reject) meant for RO to fill in. How do we restrict the fields that can be answered for each respondent? \
\
Let's fix that in the workflow builder in step 2.

### **Step 2: Determine your form routing under "Workflow"**<img src="/files/rw9X2UYsN92FhfKIMtjU" alt="" data-size="line">&#x20;

First, click on the workflow icon <img src="/files/rw9X2UYsN92FhfKIMtjU" alt="" data-size="line"> to the left.

<figure><img src="/files/SoxlIrnKGGmSzfHJR2Wp" alt=""><figcaption></figcaption></figure>

This brings you to the workflow builder, which allows you to set-up the routing and questions to fill at each step.&#x20;

Create workflow.

<figure><img src="/files/PGY2vhwsPo75mrHBZ5ul" alt=""><figcaption></figcaption></figure>

Select fields that respondent 1 needs to fill

<figure><img src="/files/OKm0yCQQm472gBpm1yUy" alt=""><figcaption></figcaption></figure>

Questions need to be filled by respondent 1 have to be checked.

<figure><img src="/files/zgqj7VGXI4RaTrylL6nh" alt=""><figcaption></figcaption></figure>

Once you have made your selection, click on save.&#x20;

<figure><img src="/files/On44qQAc1hiCBOxGKKD6" alt=""><figcaption></figcaption></figure>

This is the updated view when an applicant opens up the form as respondent 1.

<figure><img src="/files/8SeF9pBfYSwL8e9fZ2XS" alt="" width="375"><figcaption></figcaption></figure>

### **Step 3: Choose how to determine the next respondent**&#x20;

In forms with workflow, you can route submissions to the next person. In the workflow section again, click on "+ Add step".&#x20;

<figure><img src="/files/PtncFF3GaL61gGo8WMXa" alt=""><figcaption></figcaption></figure>

You will be presented with three options on routing rules:

a) Specific email(s) → Send to the **same** email each time

b) An email field from the form → Send to a **different** email each time, specified by the previous respondent.

c) Emails assigned to options in a dropdown field → Send to **certain** email(s), based on **an option that the previous respondent chooses**&#x20;

<figure><img src="/files/Nao9K2sg9d7a2vdIwQos" alt=""><figcaption></figcaption></figure>

If you choose "Specific email(s)", simply add an email address like this example:

<figure><img src="/files/Qh7RQsGYerNsNCqNYLDu" alt=""><figcaption></figcaption></figure>

If you choose "An email field from the form", pick an email field you have created.

<figure><img src="/files/JybMaigow6ded2K6dypm" alt=""><figcaption></figcaption></figure>

If you choose "emails assigned to options in a dropdown field", you will need to:&#x20;

* Choose an existing dropdown field in your form&#x20;
* Select "add emails to options"
* Download and edit the CSV template provided
* Assign email(s) to each option in the CSV template

<figure><img src="/files/7q85EPkdcI7I2A606bwJ" alt=""><figcaption></figcaption></figure>

*Refer below to more detailed steps:*&#x20;

<div><figure><img src="/files/s1CZBpWU4OapeYhQACcO" alt=""><figcaption></figcaption></figure> <figure><img src="/files/j9uem4x3TxS6CAhCTwvo" alt=""><figcaption></figcaption></figure> <figure><img src="/files/B6CBQ98F4sDsG23fB4Gt" alt=""><figcaption></figcaption></figure> <figure><img src="/files/0b2WfXuQWzqNzVERV4GK" alt=""><figcaption></figcaption></figure> <figure><img src="/files/ojC4U3zcsfFrPZKD7n7i" alt=""><figcaption></figcaption></figure></div>

### **Step 4: Assign fields to the next respondent** &#x20;

You may then specify which questions respondent 2 (RO) can fill. In our use case, we have selected the email and the Yes/No (approve/reject) fields.

<figure><img src="/files/wnLd6UoTbfTDppZaaqWZ" alt=""><figcaption></figcaption></figure>

### **Step 5: Add approval steps to your workflow (optional)**

If your workflow has approvals, you may enable "This respondent is an approval" from step 2 onwards. This requires a Yes/No field. When enabled:

* Yes - The workflow will continue to proceed to the next step
* No - The workflow will end here.&#x20;

<figure><img src="/files/sHLIZso8AMEHk2urXPd1" alt=""><figcaption></figcaption></figure>

Enable approval using the toggle.

<figure><img src="/files/hjEqBqkqs0iXxnAeEyhZ" alt=""><figcaption></figcaption></figure>

Select a Yes/No field on your form. If you currently do not have one, you would need to create one under the Create Field tab. Do also ensure that the field has been assigned to this respondent in this step.

<figure><img src="/files/RDyQwuV305ZwF6SctJRT" alt=""><figcaption></figcaption></figure>

Save the field.

<figure><img src="/files/1gjcG5ZQSnfkiPxKDcty" alt=""><figcaption></figcaption></figure>

### **Step 6: Determine who will receive email notifications (optional)**

Click on Settings, and then Email notifications

<figure><img src="/files/qVik85D1EDcmg8ny8ufc" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/8U7fRgNM12Sd09Bq8cgR" alt=""><figcaption></figcaption></figure>

Select and enter respondents to be notified after the entire workflow has been completed

* Notify respondent in Step 1 -> Select an email field from the form that represents Step 1.
* Notify other respondents in your workflow -> Toggle the steps in your workflow for which respondents should receive notifications.
* Notify others -> If there are any recipients outside your form and workflow, you can specify them here.

<figure><img src="/files/c0XFCP1VVPqPnzeAPClI" alt=""><figcaption></figcaption></figure>

### **Step 7: Enable status tracking (optional)**

If you would like your respondents view and track their submission status, you may refer to [this page](/user-guides/multi-respondent-form-guide/managing-responses/status-tracking-link.md) on how to set this up.&#x20;

### **Step 8: Sharing the form**

Once you are ready, you may share your form!

<figure><img src="/files/RQzUuCAnYP1AB1p9U9D7" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/Xhg847iTrIJ8WoFaYQ6N" alt="" width="375"><figcaption></figcaption></figure>

Upon submission of form by the applicant, an email will be forwarded to the RO.&#x20;

<figure><img src="/files/9YCaQouM5kniqIq6kg39" alt=""><figcaption></figcaption></figure>

They will be prompted to click on "fill form."

<figure><img src="/files/2BP5wkoMgiqXJ1pv5xKQ" alt=""><figcaption></figcaption></figure>

When the form is opened, notice that the RO can see applicant's submission but the responses cannot be amended, as configured in the workflow builder.

<figure><img src="/files/lSr4Pyoiwu6s31uXSOvY" alt="" width="375"><figcaption></figcaption></figure>

That's it!

If you have more steps, it will be routed to the next person and so on. Once the workflow has been completed, a notification will be sent to all selected parties. The final approval status will also be included if this has been enabled in the workflow.

<figure><img src="/files/mv2A8VVredBty4M2bJUg" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}


---

# 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, and the optional `goal` query parameter:

```
GET https://guide.form.gov.sg/user-guides/advanced-guide/workflows/create-a-form-with-workflow.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
