Skip to main content
Glama

update_workflow_action

Idempotent

Update selected fields of a single Paperless-NGX workflow action without changing the rest. Fetch the action first, then patch its email, webhook, assignment, or other settings.

Instructions

Update fields on ONE workflow action (PATCH — only fields you supply are changed). Use get_workflow_action first to see its current shape. To change the actions of a whole workflow, see update_workflow.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
typeNoAction type: 1=assignment, 2=removal, 3=email, 4=webhook, 5=password removal (needs passwords), 6=move to trash, 7=remote OCR (its workflow must have a type-1 consumption-started trigger), 8=apply AI suggestions (needs ai_suggestion_fields; its workflow must have a trigger other than type 1)
emailNoType 3: email configuration
webhookNoType 4: webhook configuration
passwordsNoType 5 (required): PDF passwords to try, in order. The unlocked file is stored as a new version of the document. Tools return them masked ("**********"); send a masked list back unchanged to keep the stored passwords.
assign_tagsNo
remove_tagsNo
assign_ownerNo
assign_titleNoType 1: Jinja2 title template
remove_ownersNo
remove_all_tagsNo
ai_create_missingNoType 8: create suggested tags/correspondents/document types/storage paths that don't exist yet
assign_view_usersNo
remove_all_ownersNo
remove_view_usersNo
assign_view_groupsNo
remove_view_groupsNo
assign_change_usersNo
assign_storage_pathNo
remove_change_usersNo
ai_suggestion_fieldsNoType 8 (required): which AI suggestions to apply. Needs AI enabled in Paperless.
assign_change_groupsNo
assign_correspondentNo
assign_custom_fieldsNoType 1: custom field IDs to add
assign_document_typeNo
remove_change_groupsNo
remove_custom_fieldsNo
remove_storage_pathsNo
ai_overwrite_existingNoType 8: apply suggestions even when the document already has a value
remove_correspondentsNo
remove_document_typesNo
remove_all_permissionsNo
remove_all_custom_fieldsNo
remove_all_storage_pathsNo
remove_all_correspondentsNo
remove_all_document_typesNo
assign_custom_fields_valuesNoType 1: values for assign_custom_fields keyed by custom field ID, e.g. {"7": "2026-01-01"}. The value for the custom field. For monetary fields, use currency code prefix format (e.g., USD10.00, GBP123.45, EUR9.99) — NOT trailing symbol format (e.g., 10.00$). For documentlink fields, use a single document ID (e.g., 123) or an array of document IDs (e.g., [123, 456]).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.2.0

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context beyond those hints: the PATCH semantics where only supplied fields are changed, which affects how an agent must construct calls (no need to resend unchanged fields). No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, each earning its place: PATCH scope first, then the fetch-current-shape prerequisite, then the sibling alternative. No filler or restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 37-parameter tool with 27% schema coverage and no output schema, the description is adequate but lean. It wisely points to get_workflow_action for the current shape, which mitigates the schema gaps, but it never says what the response looks like, how type-specific validation behaves, or what errors to expect. It covers selection and invocation basics but not the full complexity of this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 27%, well below 50%, so the description must compensate for undocumented parameters — but it adds no parameter-level meaning at all. It never mentions type-specific requirements (e.g., type 8 needs ai_suggestion_fields), prerequisite parameters, or which fields pair together. The schema's own descriptions cover only a fraction of the 37 parameters, and the description does nothing to close that gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific verb and resource ('Update fields on ONE workflow action') plus the PATCH partial-update semantics, and explicitly distinguishes itself from its sibling update_workflow ('To change the actions of a whole workflow, see update_workflow'). An agent can tell this from the workflow-level update tool without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit prerequisite ('Use get_workflow_action first to see its current shape') and an explicit alternative with the condition that selects it ('To change the actions of a whole workflow, see update_workflow'). Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools