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

client = Retab()

# Rename + update description
workflow = client.workflows.update(
    "wf_abc123xyz",
    name="Invoice Processing v2",
    description="Extract invoice fields, validate, and route for review",
)

# Configure email-trigger allowlist
workflow = client.workflows.update(
    "wf_abc123xyz",
    email_senders_whitelist=["ap@acme.com"],
    email_domains_whitelist=["acme.com", "acme-subsidiary.com"],
)
{
  "id": "wf_abc123xyz",
  "name": "Invoice Processing v2",
  "description": "Extract invoice fields, validate, and route for review",
  "organization_id": "org_123",
  "published": {
    "snapshot_id": "snapshot_123",
    "published_at": "2026-04-30T18:00:00Z"
  },
  "email_trigger": {
    "allowed_senders": ["ap@acme.com"],
    "allowed_domains": ["acme.com", "acme-subsidiary.com"]
  },
  "created_at": "2026-04-30T17:00: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.

Update workflow metadata. Only the fields you supply are touched — omit a field to leave it unchanged. The email trigger allowlist is split into two arrays:
  • email_senders_whitelist — full email addresses (e.g. "ap@acme.com")
  • email_domains_whitelist — bare domains (e.g. "acme.com")
If a workflow has neither list configured, inbound email triggers are accepted from any sender.
from retab import Retab

client = Retab()

# Rename + update description
workflow = client.workflows.update(
    "wf_abc123xyz",
    name="Invoice Processing v2",
    description="Extract invoice fields, validate, and route for review",
)

# Configure email-trigger allowlist
workflow = client.workflows.update(
    "wf_abc123xyz",
    email_senders_whitelist=["ap@acme.com"],
    email_domains_whitelist=["acme.com", "acme-subsidiary.com"],
)
{
  "id": "wf_abc123xyz",
  "name": "Invoice Processing v2",
  "description": "Extract invoice fields, validate, and route for review",
  "organization_id": "org_123",
  "published": {
    "snapshot_id": "snapshot_123",
    "published_at": "2026-04-30T18:00:00Z"
  },
  "email_trigger": {
    "allowed_senders": ["ap@acme.com"],
    "allowed_domains": ["acme.com", "acme-subsidiary.com"]
  },
  "created_at": "2026-04-30T17:00: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
name
string | null

The name of the workflow

description
string | null

Description of the workflow

email_senders_whitelist
string[] | null

Whitelisted email addresses allowed to trigger this workflow via email

email_domains_whitelist
string[] | null

Whitelisted email domains allowed to trigger this workflow via email

email_trigger
WorkflowEmailTriggerPatchRequest · object

Email trigger allowlist policy

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>