# Monitoring Workflows

After executing a workflow — whether manually or via a trigger — you can monitor its progress, inspect results, and debug failures through the FlowDrop admin UI.

## Pipelines: Workflow Runs

Every workflow execution creates a **Pipeline** — a record of one complete run. Each node that executes within that run creates a **Job**.

### Viewing Pipelines

Navigate to **Administration > FlowDrop > Pipelines** (`/admin/flowdrop/pipelines`).

This page shows all pipeline runs, most recent first. Each row displays:

| Column | Description |
|--------|-------------|
| **ID** | Unique pipeline identifier |
| **Workflow** | The workflow that was executed |
| **Status** | Current pipeline status (see below) |
| **Created** | When the execution started |

### Pipeline Statuses

| Status | Meaning |
|--------|---------|
| **Pending** | Pipeline is queued and waiting to be processed |
| **Running** | Pipeline is currently executing |
| **Completed** | All nodes finished successfully |
| **Failed** | One or more nodes failed during execution |
| **Paused** | Pipeline is paused (waiting for user input via an interrupt) |
| **Cancelled** | Pipeline was manually cancelled |

## Jobs: Node Executions

Click on a pipeline to see its individual jobs. Each job represents one node's execution.

### Job Statuses

| Status | Meaning |
|--------|---------|
| **Pending** | Node is waiting to execute (dependencies not yet resolved) |
| **Running** | Node is currently executing |
| **Completed** | Node finished successfully |
| **Failed** | Node encountered an error |
| **Interrupted** | Node is paused, waiting for user input |
| **Skipped** | Node was not executed (e.g., on an inactive branch of a gateway) |

### Inspecting Job Details

Click on an individual job to see:

- **Input data** — What data the node received through its input ports
- **Output data** — What the node produced
- **Error message** — If the job failed, the error details
- **Timing** — When the job started and finished

This is the most useful view for debugging — you can trace exactly what data each node received and produced.

## Debugging Common Issues

### A node shows "Failed"

1. Click on the failed job to see the error message.
2. Common causes:
   - **Missing input** — A required input port has no connection and no default value.
   - **External service error** — For HttpRequest or AI nodes, the external service returned an error.
   - **Entity not found** — An EntityQuery or EntityContext node could not find the expected entity.
   - **Type mismatch** — The data arriving at an input port does not match the expected type.

### Workflow completed but output is wrong

1. Open the pipeline detail page.
2. Click through each job in execution order.
3. Compare the **output data** of each node with what you expected.
4. The first node whose output is unexpected is where the problem lies.

### Workflow is stuck in "Pending"

This usually means the asynchronous queue is not being processed. See [Execution Modes — Queue Processing](execution-modes.md#setting-up-queue-processing).

### Workflow is stuck in "Paused"

The workflow hit an interrupt node (confirmation, choice, text input) and is waiting for a response. Either:

- Respond to the interrupt via the [Playground](../modules/flowdrop_playground.md) interface
- Cancel the pipeline if the interrupt is no longer needed

## Checking Logs

FlowDrop writes to Drupal's standard logging system.

### Via the Admin UI

Navigate to **Reports > Recent log messages** (`/admin/reports/dblog`) and filter by type `flowdrop`.

### Via Drush

```bash
# All FlowDrop logs
drush watchdog:show --type=flowdrop

# Trigger-specific logs
drush watchdog:show --type=flowdrop_trigger

# Recent errors only
drush watchdog:show --severity=error
```

## Snapshot Cleanup

Over time, workflow execution snapshots accumulate. To manage storage:

- Navigate to **Administration > FlowDrop > Snapshots > Cleanup** (`/admin/flowdrop/snapshots/cleanup`).
- Or schedule periodic cleanup as part of your site maintenance routine.

## Next Steps

- **[Execution Modes](execution-modes.md)** — Understand orchestrators and queue processing
- **[Troubleshooting](troubleshooting.md)** — More detailed issue resolution
