create_workflow_trigger
Create a standalone workflow trigger to define when Paperless automations run; attach it to a workflow to make the trigger active.
Instructions
Create ONE standalone workflow trigger. On its own a trigger does nothing, and Paperless deletes triggers that belong to no workflow whenever any workflow is updated. To build an automation, use create_workflow with the triggers inline; to change a trigger inside a workflow, use update_workflow (or update_workflow_trigger with the trigger id from get_workflow).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Trigger type: 1=consumption started, 2=document added, 3=document updated, 4=scheduled | |
| match | No | ||
| sources | No | Consumption sources: 1=consume folder, 2=API upload, 3=mail fetch, 4=web UI (default [1,2,3]) | |
| filter_path | No | Path pattern, * wildcards allowed | |
| is_insensitive | No | ||
| filter_filename | No | Filename pattern (whole name must match), * wildcards allowed | |
| filter_has_tags | No | Document has ANY of these tags | |
| filter_mailrule | No | Only documents fetched by this mail rule ID | |
| matching_algorithm | No | Content match for `match`: 0=none, 1=any word, 2=all words, 3=exact, 4=regular expression, 5=fuzzy word | |
| filter_has_all_tags | No | Document has ALL of these tags | |
| filter_has_not_tags | No | Document has NONE of these tags | |
| schedule_date_field | No | Type 4: date the schedule is based on | |
| schedule_offset_days | No | Type 4: days to offset from schedule_date_field | |
| schedule_is_recurring | No | ||
| filter_custom_field_query | No | Custom-field filter as a JSON expression passed as a string. A condition is [field, operator, value], where field is the custom field's name or ID. Combine conditions with ["AND", [cond, …]] or ["OR", [cond, …]], and negate with ["NOT", cond]. Valid operators depend on the field's data type (e.g. exact, in, isnull, exists, icontains, gt, gte, lt, lte, range); pick an invalid one and Paperless names the valid ones. Examples: '["Amount", "gte", 100]', '["AND", [["Due", "lt", "2026-10-01"], ["Paid", "exact", false]]]'. | |
| schedule_date_custom_field | No | Type 4 with schedule_date_field=custom_field: the date custom field ID | |
| filter_has_any_storage_paths | No | Storage path is one of these | |
| filter_has_not_storage_paths | No | Storage path is none of these | |
| filter_has_any_correspondents | No | Correspondent is one of these | |
| filter_has_any_document_types | No | Document type is one of these | |
| filter_has_not_correspondents | No | Correspondent is none of these | |
| filter_has_not_document_types | No | Document type is none of these | |
| schedule_recurring_interval_days | No |