Skip to content
Back to skills

438 Workflow Introspection 60b0c15f

ASecurity

workflows = DBOS.list_workflows(status="PENDING") for w in workflows: print(w.workflow_id) # Only using ID ``` **Correct (optimize with load flags):** ```python workflows = DBOS.list_workflows( status="PENDING", load_input=False, load_output=False ) for w in workflows: print(f"{w.workflow_id}: {w.status}") ``` Common queries: ```python failed = DBOS.list_workflows(status="ERROR", limit=100) processing = DBOS.list_workflows( name="process_task", status=["PENDING", "ENQUEUED"] ) queued = DBOS....

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
documentationpythonperformance

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 438-workflow-introspection_60b0c15f --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 438 Workflow Introspection 60b0c15f?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 438 Workflow Introspection 60b0c15f
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-438-workflow-introspection-60b0c15f/badge)](https://www.skillsdirectory.com/skills/tools-only-438-workflow-introspection-60b0c15f)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
---
title: List and Inspect Workflows
impact: MEDIUM
impactDescription: Enables monitoring and management of workflow state
tags: workflow, list, introspection, status, monitoring
---

## List and Inspect Workflows

Use `DBOS.list_workflows()` to query workflows by status, name, queue, or other criteria.

**Incorrect (loading unnecessary data):**

```python
# Loading inputs/outputs when not needed is slow
workflows = DBOS.list_workflows(status="PENDING")
for w in workflows:
    print(w.workflow_id)  # Only using ID
```

**Correct (optimize with load flags):**

```python
# Disable loading inputs/outputs for better performance
workflows = DBOS.list_workflows(
    status="PENDING",
    load_input=False,
    load_output=False
)
for w in workflows:
    print(f"{w.workflow_id}: {w.status}")
```

Common queries:

```python
# Find failed workflows
failed = DBOS.list_workflows(status="ERROR", limit=100)

# Find workflows by name
processing = DBOS.list_workflows(
    name="process_task",
    status=["PENDING", "ENQUEUED"]
)

# Find workflows on a specific queue
queued = DBOS.list_workflows(queue_name="high_priority")

# Only queued workflows (shortcut)
queued = DBOS.list_queued_workflows(queue_name="task_queue")

# Find old version workflows for blue-green deploys
old = DBOS.list_workflows(
    app_version="1.0.0",
    status=["PENDING", "ENQUEUED"]
)

# Get workflow steps
steps = DBOS.list_workflow_steps(workflow_id)
for step in steps:
    print(f"Step {step['function_id']}: {step['function_name']}")
```

WorkflowStatus fields: `workflow_id`, `status`, `name`, `queue_name`, `created_at`, `input`, `output`, `error`

Status values: `ENQUEUED`, `PENDING`, `SUCCESS`, `ERROR`, `CANCELLED`, `MAX_RECOVERY_ATTEMPTS_EXCEEDED`

Reference: [Workflow Management](https://docs.dbos.dev/python/tutorials/workflow-management)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…