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

# Workflows

> Automate response-driven tasks in Formbricks with triggers, filters, actions, and observable runs.

Workflows automate tasks in response to events in Formbricks. You define the event that starts the workflow,
narrow down which events qualify, and choose the action Formbricks should perform.

<Note>Workflows are part of the Formbricks [Enterprise Edition](/docs/self-hosting/advanced/license).</Note>

## How Workflows work

<CardGroup cols={2}>
  <Card title="Trigger" icon="bolt">
    The event that starts a workflow. The currently available trigger is **Response completed** for a
    survey linked to the workflow.
  </Card>

  <Card title="Condition or filter" icon="filter">
    A rule that gates execution. You can currently filter completed responses by the ending card the respondent
    reached.
  </Card>

  <Card title="Action" icon="play">
    What the workflow does after its trigger and filter match. The currently available action is **Send email**.
  </Card>

  <Card title="Run" icon="list-check">
    A concrete execution of an enabled workflow. Every run records its overall status and logs for its
    individual steps.
  </Card>
</CardGroup>

For example, a workflow using the currently available trigger and action can follow this sequence:

`Response completed trigger` → `optional ending card filter` → `Send email action`

## Available triggers, conditions, and actions

The builder lists the options available in your Formbricks version. The tables below show what you can use
today.

### Triggers

| Trigger                | Description                                                                  |
| ---------------------- | ---------------------------------------------------------------------------- |
| **Response completed** | Starts the workflow when a survey linked to it records a completed response. |

### Conditions

| Condition              | Description                                                                     |
| ---------------------- | ------------------------------------------------------------------------------- |
| **Ending card filter** | Runs the workflow for all ending cards or only the selected ones of the survey. |

### Actions

| Action         | Description                                                         |
| -------------- | ------------------------------------------------------------------- |
| **Send email** | Sends a personalized email using data from the triggering response. |

## Current capabilities

You can currently use Workflows to:

* Start when a response is completed for a selected survey
* Run for all ending cards or only selected ending cards
* Send a personalized email using survey response data
* Inspect workspace-wide or workflow-specific execution history

<Note>
  The available options currently include the **Response completed** trigger, its optional ending card filter,
  and the **Send email** action. User-authored condition nodes, branching, webhooks, schedules, delays, and
  loops are not available yet.
</Note>

## Get started

<CardGroup cols={2}>
  <Card title="Build a workflow" icon="rocket" href="/docs/workflows/build">
    Choose a trigger and action, configure them, optionally validate the workflow, and enable it.
  </Card>

  <Card title="Manage and monitor" icon="magnifying-glass-chart" href="/docs/workflows/manage-and-monitor">
    Manage the workflow lifecycle and investigate runs and step logs.
  </Card>
</CardGroup>

## Self-host Workflows

Self-hosted deployments run Workflows through the shared Redis-backed Job Runner built into the Formbricks web
process. Before using Workflows in production, configure Redis and any services required by your actions, such
as SMTP for **Send email**.

<Card title="Configure the Job Runner" icon="gears" href="/docs/self-hosting/configuration/job-runner">
  Set up the runner, scale it across replicas, and troubleshoot queued or failed runs.
</Card>
