# Flows

> When this happens, do that. Built visually, run reliably.

Source: https://docs.dashfordevs.com/v1/webhooks/flows · Topic: Automations and webhooks · Updated: 2026-11-07

A **flow** is a trigger followed by steps, drawn as a graph in the dashboard under **Automations**:

-   **Trigger**: something happened (an order was placed, a form was submitted, a webhook arrived, a schedule fired).
-   **Actions**: send an email, call a webhook, tag a customer, wait.
-   **Conditions**: branch on a value (order total over $100, customer has tag VIP).
-   **Delays and waits**: pause for a time, or until something else happens.

Start from a built-in template or a blank canvas, switch the flow on, and every **run** appears in its history with each step's outcome.

## How runs are kept safe

-   Runs execute in a separate worker, so a slow flow never slows the dashboard.
-   Run, step and log records hold **ids and field names only**. When a run is waiting, its working data is sealed (encrypted) and deleted when the run ends.
-   Steps that would send personal details to a vendor without a BAA (for example SMS or AI providers) are switched off for HIPAA organizations.

## Inbound webhooks

A flow can start from an inbound webhook: you get a URL and a secret. Calls must carry `X-Dash4Devs-Signature: t=<unix>,v1=<hmac>` computed exactly as for [outgoing webhooks](https://docs.dashfordevs.com/v1/webhooks/outgoing-webhooks).
