---
title: Subflows
description: Use these best practices when creating and using subflows (flows invoked by other flows).
component: davinci
page_id: davinci:davinci_best_practices:davinci_best_practices_subflows
canonical_url: http://docs.pingidentity.com/davinci/davinci_best_practices/davinci_best_practices_subflows.html
revdate: September 21, 2023
section_ids:
  ui-subflows: UI subflows
  non-ui-subflows: Non-UI subflows
---

# Subflows

Use these best practices when creating and using subflows (flows invoked by other flows).

A subflow is a normal flow that does not represent a complete identity orchestration solution or user experience. Instead, it's designed to be used as part of a larger parent flow. For example, a complex sign-on flow might reference subflows to handle password reset requests and user registration. Subflows make flow maintenance and reuse easier.

|   |                                                                                                                                          |
| - | ---------------------------------------------------------------------------------------------------------------------------------------- |
|   | To invoke a subflow, you must use the [Flow Conductor](http://docs.pingidentity.com/connectors/flow_conductor_connector.html) connector. |

There are two types of subflows.

## UI subflows

Subflows that include UI components (for example, an HTTP connector), such as:

* Magic link flow

* Login/authentication

## Non-UI subflows

Subflows that don't include UI components. These subflows perform backend functions such as:

* Common API calls (for example, create a user or reset a password)

* Computational functions
