Automate document pipelines.
Chain parse, split, extract, edit, and notifications into repeatable pipelines. Trigger by upload, schedule, or webhook; process documents at scale with retries and error handling. Use the visual workflow builder or define flows via API.



Workflow
Automate document pipelines.
Workflows chain parse, split, extract, edit, and notifications into repeatable pipelines. Trigger by upload, schedule, or webhook and process documents at scale with retries and error handling.
Use the visual workflow builder or define flows via API. Notifications and webhooks keep your systems in sync when jobs complete or fail.
Triggers
Event, schedule, webhook, or manual.
Event triggers fire on platform events such as document.uploaded, document.processed, or extraction.completed — with optional filters (file_type, knowledge_base_id, confidence). Schedule triggers run on a cron; webhook triggers accept incoming POSTs to your workflow URL.
Run workflows on demand with POST /api/workflows/{id}/execute. Combine triggers with steps to build upload-to-extract, batch-nightly, or event-driven pipelines.






Steps
Parse, extract, split, route, notify.
Each workflow step runs an action: parse document, run extraction with a schema, split into sections, route by section type or condition, add to knowledge base, or send notifications (Slack, email, webhook). Steps receive output from previous steps (e.g. parse outputs document ID for extract).
Use route_sections and condition steps to branch logic. Flag for review when confidence is low; send webhooks to external systems when jobs complete.
Builder & API
Visual builder or define via API.
Build workflows in the dashboard with the visual builder: add steps, connect triggers, and configure schedules. Or define workflows programmatically: GET/POST /api/workflows to list and create, GET/PUT/DELETE /api/workflows/{id} to manage, POST /api/workflows/{id}/execute to run.
Workflow definitions include trigger_type, trigger_config, and a steps array. Enable or disable workflows without deleting them; view execution history per workflow.






Schedules & executions
Cron schedules and execution history.
Attach a schedule to a workflow via GET/POST/PUT/DELETE /api/workflows/{id}/schedule. Cron-style schedules run workflows at fixed times (e.g. nightly batch). List execution history with GET /api/workflows/{id}/executions to inspect runs, status, and errors.
Failed steps can retry with backoff, notify on failure, or abort the workflow. View logs and retry failed runs from the dashboard so you can debug and recover without re-triggering manually.
Integrations & notifications
Slack, email, webhooks; notify on completion or failure.
Create integrations (Slack, email, webhooks) with GET/POST/PUT/DELETE /api/workflows/integrations. Use them in workflow steps to send notifications when extraction completes, when a document is processed, or when a step fails. Template messages with extracted fields (e.g. invoice_number, total_amount).
Webhook steps call your URLs with payloads; use them to push data to ERPs, CRMs, or internal APIs. Notifications keep your team and systems in sync without polling.



Trigger types
| Trigger | Description | API / config |
|---|---|---|
| Event | Fires on platform events (e.g. document.uploaded, document.processed, extraction.completed) with optional filters (file_type, knowledge_base_id, confidence). | trigger_type: "event"; trigger_config with event and filters |
| Schedule | Runs on a cron schedule (e.g. nightly batch). Attach via schedule API. | GET/POST/PUT/DELETE /api/workflows/{id}/schedule |
| Webhook | Fires when DocLD receives a POST to your workflow webhook URL. Integrate with external systems. | POST /api/workflows/webhook/{workflow_id} |
| Manual | Run on demand. Use for testing or one-off pipelines. | POST /api/workflows/{id}/execute |
Step types
| Step type | Description |
|---|---|
| parse | Run parsing and chunking on the document. |
| extract | Run extraction with a schema (e.g. invoice, contract). |
| split | Split document into sections (manual, AI, or page-based). |
| route_sections | Route by section type or classification for downstream steps. |
| condition | Branch workflow based on conditions (e.g. confidence threshold). |
| add_to_kb | Add document or sections to a knowledge base for search and chat. |
| slack | Send a message to Slack via an integration. |
| Send an email notification via an integration. | |
| webhook | Call an external URL with a payload (e.g. ERP, CRM). |
| flag | Flag document for review (e.g. when confidence is low). |
API endpoints
| Method / path | Description |
|---|---|
| GET /api/workflows | List workflows |
| POST /api/workflows | Create workflow |
| GET /api/workflows/{id} | Get workflow |
| PUT /api/workflows/{id} | Update workflow |
| DELETE /api/workflows/{id} | Delete workflow |
| POST /api/workflows/{id}/execute | Execute workflow (manual trigger) |
| GET /api/workflows/{id}/executions | List execution history |
| GET/POST/PUT/DELETE /api/workflows/{id}/schedule | Manage schedule |
| GET/POST/PUT/DELETE /api/workflows/integrations | Manage integrations (Slack, email, webhooks) |
Workflow: Questions & Answers
Ready to automate your document pipelines?
Get started with workflows in minutes. Sign up for free or read the workflow guide for triggers, steps, and API reference.