# Workflow Widgets

## Email workflows&#x20;

**Element name**: email\_workflows\
**Purpose:** A single location to manage all your email templates send actions.

Set up each of your email templates with their [own custom workflow](/canvas/6.0/canvas-functionality/emails-and-alerts.md#create-a-template-workflow) in this element. To use, place the element in the [hidden variables popup](https://docs.airdev.co/canvas/v/3.6/canvas-functionality/data-and-workflows#using-the-hidden-variables-popup) and use the 'Trigger a custom workflow from a reusable element' action to send an email

## Password

**Element name**: ⚙️ system\_password\
This reusable element includes the following password functionalities:

### Password validation&#x20;

**Group name**: Group Main pw strength checker and Group Main pw policy msg\
**Purpose:** Use this to validate that the password the user has entered meets the requirement for the [password policy](/canvas/6.0/canvas-functionality/miscellaneous.md#setting-your-password-policy) that has been set up in the Admin portal.&#x20;

* pw valid (have all requirements of the password policy been met)
* pw uppercase (have uppercase requirements been met)
* pw length (have the total number of characters requirements been met)
* pw numbers (have numerical requirements been met)
* pw special (have special character requirements been met)

This widget also offers UI for displaying the password requirements to your users.

### Password reveal functionality

**Group name:** Group Main reveal pw\_yes / no\
**Purpose:** Use this to reveal a user's password in a password input field

### Username validation&#x20;

**Group name:** Group Main username slug check\
**Purpose:** Use this to validate that the username entered is a valid slug for the current user

To use, set the datasource for the element to the username input's value. This will automatically return a yes/no value for the following custom state:

* slug valid (can the current user use this slug)

This widget also offers UI for displaying the username requirements to your users.


---

# Agent Instructions: 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:

```
GET https://docs.airdev.co/canvas/6.0/canvas-functionality/reference/reusable-elements/widgets/workflow-widgets.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
