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

# EasyFlows


## Overview

You can build EasyFlows using an easy-to-use **no-code**, natural language interface. These flows give you direct control over your media management and enable you to work faster and more efficiently by easily connecting and syncing to the tasks and processes you rely on every day.  You can create media management workflows to implement standardized branding, asset expiration, auto-tagging, and more.

An EasyFlow consists of a set of trigger-actions that you connect together, enabling you to create step-by-step actions for execution. Each flow performs a specific function. By combining triggers with actions, you can develop a customized application to address your media use case effectively.

![EasyFlows](https://cloudinary-res.cloudinary.com/image/upload/f_auto/q_auto/bo_1px_solid_grey/docs/mediaflows/easyflow-example.png "thumb: w_700,c_scale,dpr_2.0, width: 700, popup: true")

## Create a new EasyFlow

From the [Home](https://console.cloudinary.com/mediaflows/home) page, you can select one of the given flow starting triggers, or you can create your own flow from scratch by clicking **New EasyFlow**.

![Create flow]( https://cloudinary-res.cloudinary.com/image/upload/bo_1px_solid_gray/f_auto/q_auto/docs/mediaflows/create-new-easyflow.png "thumb:c_scale,w_800,dpr_2.0, width: 800, popup:true, caption:Create a new EasyFlow")

![Start with a trigger]( https://cloudinary-res.cloudinary.com/image/upload/bo_1px_solid_gray/f_auto/q_auto/docs/mediaflows/start-with-a-trigger.png "thumb:c_scale,w_800,dpr_2.0, width: 800, popup:true, caption:Start with a trigger")

## Select a trigger

The first step consists of selecting when the automation should run. Once you select a generalized trigger, you can then add one or more conditions to narrow down the specific criteria for when the trigger will activate. For example, if creating an automation that triggers when a file is uploaded, you can add a condition that it only applies to assets that are videos. You can add multiple conditions by clicking the  `+ and` icon to create another condition.

> **TIP**: You can edit the default flow name by clicking the pen icon next to it at the top-left.

![triggers](https://cloudinary-res.cloudinary.com/image/upload/f_auto/q_auto/bo_1px_solid_grey/v1725455690/docs/mediaflows/easyflows/easy_flow_triggers_list_6.png "thumb: w_400,c_scale,dpr_2.0, width: 400, popup: true")

> **NOTE**:
>
> If your flow is triggered **On demand for selected assets**, to run the flow, either select one asset and click **Run Automation** from the (3-dots) context menu on the asset, or select multiple assets, and in the assets toolbar click **Run Automation**. Then choose the flow that you want to trigger.
> ![Run automation option from Assets](https://cloudinary-res.cloudinary.com/image/upload/bo_1px_solid_gray/f_auto/q_auto/docs/mediaflows/easyflows/easy_flow_run_automation.png "thumb:c_scale,w_600,dpr_2.0, width: 600, popup:true")

## Select actions

Once you've set your trigger, click the `+ Add an action` block underneath the trigger block to add an action from the available options on the form that pops up. Depending on the action you select, you may need to further configure the action with the presented options. For example, if you select to move the asset to another folder, you need to select which folder to move it to. 

You can add multiple actions by clicking the `+ Add an action` block underneath the last action block.

Once you've finished adding actions, remember to click the `Save` button at the top-right.

![actions](https://cloudinary-res.cloudinary.com/image/upload/f_auto/q_auto/bo_1px_solid_grey/v1725455690/docs/mediaflows/easyflows/easy_flow_actions_list.png "thumb: w_400,c_scale,dpr_2.0, width: 400, popup: true")

## Enable and disable EasyFlows

In the [Flows](https://console.cloudinary.com/mediaflows/list) page you'll see an indication of which of your flows are enabled or disabled under the **Status** column.

![Flows listed in the flows page](https://cloudinary-res.cloudinary.com/image/upload/bo_1px_solid_gray/f_auto/q_auto/docs/mediaflows/easyflows-active-indications.png "thumb:c_scale,w_800,dpr_2.0, width: 800, popup:true")

To enable a flow, open the flow  and click the toggle at the top right of the page: 

![Enable and disable EasyFlow from the flow]( https://cloudinary-res.cloudinary.com/image/upload/bo_1px_solid_gray/f_auto/q_auto/docs/mediaflows/easyflow-example-activate.png "thumb:c_scale,w_800,dpr_2.0, width: 800, popup:true")

Use the same toggle to disable a flow.

## Use cases

Here are some example flows that might inspire you as to what you can configure for your  workflows:

* Restrict access control when the **Visibility** field in an asset's structured metadata is set to **Private**:

![Access control](https://cloudinary-res.cloudinary.com/image/upload/f_auto/q_auto/bo_1px_solid_grey/v1728213307/docs/mediaflows/easyflows/set_access_control_example.png "thumb:c_scale,w_400,dpr_2.0, width: 400, popup:true")

* Move all images tagged with **shirt** to the **Shirts** folder: 

![Organizing assets](https://cloudinary-res.cloudinary.com/image/upload/f_auto/q_auto/bo_1px_solid_grey/v1725455690/docs/mediaflows/easyflows/easy_flow_tag_to_folder.png "thumb:c_scale,w_400,dpr_2.0, width: 400, popup:true")
  
* Check for assets that have reached their expiration date and move them to an expiration folder:

![Managing asset expiration](https://cloudinary-res.cloudinary.com/image/upload/f_auto/q_auto/bo_1px_solid_grey/v1725455690/docs/mediaflows/easyflows/easy_flow_expiration_example.png "thumb:c_scale,w_400,dpr_2.0, width: 400, popup:true")

