curl -X GET "https://api.danubeai.com/v1/workflows/wf_abc123"
from danube import DanubeClient
with DanubeClient(api_key="dk_...") as client:
workflow = client.workflows.get("wf_abc123")
for step in workflow.steps:
print(f"Step {step.step_number}: {step.tool_name}")
{
"id": "wf_abc123",
"name": "Email Summary Pipeline",
"description": "Fetches emails, summarizes, and posts to Slack",
"steps": [
{
"step_number": 1,
"tool_id": "tool_001",
"tool_name": "Gmail - List Emails",
"description": "Fetch recent emails",
"input_mapping": {
"limit": "{{inputs.email_count}}"
}
},
{
"step_number": 2,
"tool_id": "tool_002",
"tool_name": "OpenAI - Summarize",
"description": "Summarize email content",
"input_mapping": {
"text": "{{steps.1.result.emails}}"
}
},
{
"step_number": 3,
"tool_id": "tool_003",
"tool_name": "Slack - Send Message",
"description": "Post summary to Slack",
"input_mapping": {
"channel": "{{inputs.slack_channel}}",
"message": "{{steps.2.result.summary}}"
}
}
],
"owner_id": "user_123",
"visibility": "public",
"tags": ["email", "slack", "automation"],
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-01-20T14:00:00Z"
}
Workflows
Get Workflow
Get workflow details including steps and configuration
GET
/
v1
/
workflows
/
{workflow_id}
curl -X GET "https://api.danubeai.com/v1/workflows/wf_abc123"
from danube import DanubeClient
with DanubeClient(api_key="dk_...") as client:
workflow = client.workflows.get("wf_abc123")
for step in workflow.steps:
print(f"Step {step.step_number}: {step.tool_name}")
{
"id": "wf_abc123",
"name": "Email Summary Pipeline",
"description": "Fetches emails, summarizes, and posts to Slack",
"steps": [
{
"step_number": 1,
"tool_id": "tool_001",
"tool_name": "Gmail - List Emails",
"description": "Fetch recent emails",
"input_mapping": {
"limit": "{{inputs.email_count}}"
}
},
{
"step_number": 2,
"tool_id": "tool_002",
"tool_name": "OpenAI - Summarize",
"description": "Summarize email content",
"input_mapping": {
"text": "{{steps.1.result.emails}}"
}
},
{
"step_number": 3,
"tool_id": "tool_003",
"tool_name": "Slack - Send Message",
"description": "Post summary to Slack",
"input_mapping": {
"channel": "{{inputs.slack_channel}}",
"message": "{{steps.2.result.summary}}"
}
}
],
"owner_id": "user_123",
"visibility": "public",
"tags": ["email", "slack", "automation"],
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-01-20T14:00:00Z"
}
Overview
Retrieves a workflow by ID with full details including all steps and their input mappings. Public workflows are accessible to anyone; private workflows require ownership.Path Parameters
string
required
The workflow UUID
Response
string
Unique workflow identifier
string
Workflow name (max 128 characters)
string
Workflow description
array
Ordered list of workflow steps
Show Step object
Show Step object
integer
Position in the execution sequence (starting from 1)
string
UUID of the Danube tool to execute
string
Human-readable tool name
string
What this step does
object
Maps tool parameters to values. Supports template syntax:
{{inputs.field}}— reference workflow inputs{{steps.N.result.field}}— reference output from step N
string
Creator’s user ID
string
private or publicarray
Tags for categorization
string
ISO 8601 creation timestamp
string
ISO 8601 last update timestamp
Example
curl -X GET "https://api.danubeai.com/v1/workflows/wf_abc123"
from danube import DanubeClient
with DanubeClient(api_key="dk_...") as client:
workflow = client.workflows.get("wf_abc123")
for step in workflow.steps:
print(f"Step {step.step_number}: {step.tool_name}")
{
"id": "wf_abc123",
"name": "Email Summary Pipeline",
"description": "Fetches emails, summarizes, and posts to Slack",
"steps": [
{
"step_number": 1,
"tool_id": "tool_001",
"tool_name": "Gmail - List Emails",
"description": "Fetch recent emails",
"input_mapping": {
"limit": "{{inputs.email_count}}"
}
},
{
"step_number": 2,
"tool_id": "tool_002",
"tool_name": "OpenAI - Summarize",
"description": "Summarize email content",
"input_mapping": {
"text": "{{steps.1.result.emails}}"
}
},
{
"step_number": 3,
"tool_id": "tool_003",
"tool_name": "Slack - Send Message",
"description": "Post summary to Slack",
"input_mapping": {
"channel": "{{inputs.slack_channel}}",
"message": "{{steps.2.result.summary}}"
}
}
],
"owner_id": "user_123",
"visibility": "public",
"tags": ["email", "slack", "automation"],
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-01-20T14:00:00Z"
}
⌘I
