Skip to main content
POST
/
v1
/
workflows
/
{workflow_id}
/
duplicate
from retab import Retab

client = Retab()

duplicate = client.workflows.duplicate("wf_abc123xyz")

print(duplicate.id)        # new ID
print(duplicate.name)      # "<original name> (copy)"
print(duplicate.published) # None
{
  "id": "wf_dup987zyx",
  "name": "Invoice Processing (copy)",
  "description": "Extract invoice fields and route for review",
  "organization_id": "org_123",
  "published": null,
  "email_trigger": {
    "allowed_senders": [],
    "allowed_domains": []
  },
  "created_at": "2026-05-01T14:30:00Z",
  "updated_at": "2026-05-01T14:30:00Z"
}

Documentation Index

Fetch the complete documentation index at: https://docs.retab.com/llms.txt

Use this file to discover all available pages before exploring further.

Duplicate a workflow with all its blocks and edges. The duplicate is unpublished, even if the source workflow had a published snapshot. Run history, snapshots, and email triggers are not copied.
from retab import Retab

client = Retab()

duplicate = client.workflows.duplicate("wf_abc123xyz")

print(duplicate.id)        # new ID
print(duplicate.name)      # "<original name> (copy)"
print(duplicate.published) # None
{
  "id": "wf_dup987zyx",
  "name": "Invoice Processing (copy)",
  "description": "Extract invoice fields and route for review",
  "organization_id": "org_123",
  "published": null,
  "email_trigger": {
    "allowed_senders": [],
    "allowed_domains": []
  },
  "created_at": "2026-05-01T14:30:00Z",
  "updated_at": "2026-05-01T14:30:00Z"
}

Authorizations

Api-Key
string
header
required

Path Parameters

workflow_id
string
required

Query Parameters

access_token
string | null

Body

application/json

Optional request body for duplicate workflow.

org_id
string | null

Optional destination organization ID override

Response

Successful Response

Public workflow resource returned by workflow metadata endpoints.

id
string
required

Unique ID for this workflow

name
string
default:Untitled Workflow

The name of the workflow

description
string
default:""

Description of the workflow

organization_id
string | null

The organization that owns this workflow

published
WorkflowPublished · object

Published workflow metadata when a published snapshot exists

email_trigger
WorkflowEmailTrigger · object

Email trigger allowlist policy

email_senders_whitelist
string[]

Legacy mirror of allowed sender email addresses.

email_domains_whitelist
string[]

Legacy mirror of allowed sender email domains.

created_at
string<date-time>
updated_at
string<date-time>