> ## Documentation Index
> Fetch the complete documentation index at: https://help.nextmatter.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Routing

> Routing creates a section with configurable buttons that support skip logic. For example, if you have a review and decision step, you might configure one routing button to move the process to the next step on Approve and stop the workflow on Decline.

<Info>
  Not sure how to configure a form? [Learn more...](/docs/about-actions-and-action-types)
</Info>

You can only add **multiple routing sections** to a step, however, if you add more than one set, you need to add conditions to each section to define when to show which routing options.

## How can I use routing?

Imagine you've received personal information from a new supplier via a form you sent out. After reviewing the information, you can quickly decide what to do next:

* If the data is correct and complete, you can smoothly move the supplier forward in the workflow.
* If the data is missing or incorrect, you can easily send the workflow back to the previous step to request the necessary updates.
* And if you suspect the supplier is engaging in fraudulent activities, you can swiftly flag and offboard them.

By using looping, branching, and customizing workflows, you can tailor the process to fit your specific requirements. Plus, you can connect routing with conditions, ensuring the field is shown only when it meets the specified criteria.

## What can routing do?

Adding routing to your form creates a set of decision buttons. The buttons can trigger a selected action so that the selected decision-maker can do the following:

* Jump back to any previous step
* Jump to the next steps
* Stop the workflow (workflow instance will be stopped. The step status will become declined, and future steps remain unchanged)
* Continue the workflow

Routing buttons can be a part of a larger form or a stand-alone form field.

<Tip>
  You can show the routing buttons based on specific conditions, for example, when particular data is missing, and you need to review and decide on the next action.
</Tip>

## Can I use multiple sets of routing buttons?

Yes! There is one caveat - you need to set conditions so that the sets show correctly and don't break the workflow. If you set conditions on each set, one set will show at a time or to a specific group of users.

## How does routing work in practice?

<iframe width="560" height="315" src="https://demo.arcade.software/UwFp22zER34fULzPgvAA?embed&show_copy_link=true" title="Tutorial" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen aria-describedby="Interactive tutorial" />

<Tip>
  You can use the **Routing** form field as an alternative to the **Decision** step.
</Tip>

## Add tooltip to field

You can add extra information to help users provide the right input. The information will show when users hover over the info icon next to the field name.

<Frame>
  <img src="https://mintcdn.com/nextmatter/2sBPfWILWLfMdiFz/images/docs/db3ef3b8706bf747fc9f0c1a69f238f3324c856513af619d3e15ca119ecfb039-Screenshot_2024-11-20_at_13.57.43.png?fit=max&auto=format&n=2sBPfWILWLfMdiFz&q=85&s=a3f84e8d579d5362db4d9a7ba31ccbca" alt="Image of the tooltip" width="1368" height="258" data-path="images/docs/db3ef3b8706bf747fc9f0c1a69f238f3324c856513af619d3e15ca119ecfb039-Screenshot_2024-11-20_at_13.57.43.png" />
</Frame>

## Complete a form using API

You can update field data and complete a form using the API. To see examples of the JSON body you need for each form field, see [Completing steps](/docs/complete-a-step#completing-steps-using-api).

The step returns the following data :

* Comment
* Return to step - returns a numerical value for the **Directs to** selection. Continue evaluates to -1 and Stop instance to -2. If you select a specific step, the ID of this step will be displayed.
* Action - returns the routing action selected by the user. For example: Complete (meaning the user selected the Continue action) or Aborted time when the user selected to stop the instance.

<Info>
  Note that when an instance is stopped using routing, the complete step endpoint response will contain `aborted_time` and not `completed_time`.
</Info>
