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

# List Public Workflows

> Browse public multi-tool workflows

## Overview

Returns a list of public workflows available in the marketplace. Workflows chain multiple Danube tools together into automated sequences.

## Query Parameters

<ParamField query="search" type="string">
  Search query to filter workflows by name or description
</ParamField>

<ParamField query="sort" type="string" default="newest">
  Sort order. Options: `newest`, `popular`, `name`
</ParamField>

<ParamField query="limit" type="integer" default="20">
  Maximum number of workflows to return (1-100)
</ParamField>

<ParamField query="offset" type="integer" default="0">
  Number of workflows to skip for pagination
</ParamField>

## Response

Returns an array of workflow summary objects.

<ResponseField name="id" type="string">
  Unique workflow identifier
</ResponseField>

<ResponseField name="name" type="string">
  Workflow name
</ResponseField>

<ResponseField name="description" type="string">
  What the workflow does
</ResponseField>

<ResponseField name="step_count" type="integer">
  Number of steps in the workflow
</ResponseField>

<ResponseField name="owner_id" type="string">
  User ID of the workflow creator
</ResponseField>

<ResponseField name="visibility" type="string">
  Always `public` for this endpoint
</ResponseField>

<ResponseField name="tags" type="array">
  Tags for categorization
</ResponseField>

<ResponseField name="total_executions" type="integer">
  Total number of times this workflow has been executed
</ResponseField>

<ResponseField name="success_rate" type="number">
  Percentage of successful executions (0-100)
</ResponseField>

<ResponseField name="created_at" type="string">
  ISO 8601 creation timestamp
</ResponseField>

## Example

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api.danubeai.com/v1/workflows/public?search=email&limit=10"
  ```

  ```python Python SDK theme={null}
  from danube import DanubeClient

  with DanubeClient(api_key="dk_...") as client:
      workflows = client.workflows.list(query="email", limit=10)
      for wf in workflows:
          print(f"{wf.name} ({wf.step_count} steps)")
  ```
</RequestExample>

<ResponseExample>
  ```json theme={null}
  [
    {
      "id": "wf_abc123",
      "name": "Email Summary Pipeline",
      "description": "Fetches recent emails, summarizes them, and posts to Slack",
      "step_count": 3,
      "owner_id": "user_123",
      "visibility": "public",
      "tags": ["email", "slack", "automation"],
      "total_executions": 245,
      "success_rate": 97.5,
      "created_at": "2026-01-15T10:30:00Z"
    }
  ]
  ```
</ResponseExample>

## MCP Tool

This endpoint is also available as the `list_workflows` MCP tool:

```python theme={null}
result = await mcp.call_tool("list_workflows", {
    "query": "email",
    "limit": 10
})
```
