# Document Processing (/docs/guides/tutorials/document-processing)




## Organization pipeline settings [#organization-pipeline-settings]

When you upload a PDF or DOCX to a template - or attach documents directly to an envelope - Verdocs can automatically scan the file for signing fields. That automation is powerful for [Dynamic Tagging](https://developers.verdocs.com/docs/guides/tutorials/tagging-dynamic-documents) and fillable PDF workflows, but it is not always desirable: some documents contain \{\{field\_type:role\_name}}-style text that is not a Verdocs tag, and auto-detecting fillable PDF widgets can create duplicate fields when you already place fields in the template builder.

**Pipeline settings** let each **organization** opt in to the behaviors it needs. All flags default to `false`, so new organizations start with conservative, manual-first document handling until you explicitly enable automation.

This guide explains the four pipeline flags, where they apply, how to read and update them through the REST API, and common configuration patterns.

<img alt="Document Processing Pipeline" src="__img0" />

***

## When to configure pipeline settings [#when-to-configure-pipeline-settings]

Consider adjusting pipeline settings when any of the following apply:

* Your integration **embeds handlebars-style tags** in server-generated PDFs or DOCX files and expects roles and fields to be created automatically on upload.
* You upload **fillable PDFs** (for example standard government forms) and want Verdocs to map native AcroForm widgets to signing fields without hand-placing them.
* Your tag source documents are **generated programmatically**, and you prefer to skip occasional malformed tags rather than fail the entire upload.
* You **never** want automatic field detection - you place all roles and fields through the template builder or API and only need the raw document stored.

Pipeline settings are stored per **organization** and are evaluated using the organization tied to the profile or API key that performs the upload.

***

## The four pipeline flags [#the-four-pipeline-flags]

Each organization has a `pipeline_settings` object with four boolean flags. When a flag is unset, the API treats it as `false` and always returns an explicit boolean for each one.

| Flag                    | When `true`                                                                                                                        | When `false` (default)                                                  |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| `process_tags`          | Scan uploaded PDFs (and PDFs converted from DOCX) for Verdocs text tags and run the tag pipeline (redaction, role/field creation). | Treat the document as untagged - no tag scan, no tag-driven automation. |
| `process_acroforms`     | If a PDF has **no text tags**, attempt to detect native fillable PDF (AcroForm) widgets and map them to signing fields.            | Do not auto-detect AcroForm fields.                                     |
| `ignore_invalid_roles`  | Skip tags whose role name is missing or invalid; continue processing other tags.                                                   | Reject the upload when an invalid role tag is encountered.              |
| `ignore_invalid_fields` | Skip tags that cannot be resolved to a valid field; continue processing other tags.                                                | Reject the upload when an invalid field tag is encountered.             |

`process_tags&#x60;\*\* and &#x2A;*`process_acroforms`** are independent.\*\* You can enable AcroForm detection without text-tag scanning, or the reverse. AcroForm detection only runs when **no text tags** were found on the document.

The `ignore_invalid_*` flags apply when documents are attached to **templates** (see [When settings take effect](#when-settings-take-effect) below).

***

## When settings take effect [#when-settings-take-effect]

Pipeline settings are read from the **sender's organization** at document-ingest time.

### Template documents [#template-documents]

When you attach a document to a template - via file upload, URI, or base64 - the organization's flags control whether text tags and AcroForms are detected, and whether invalid tags cause a hard failure or are skipped.

Relevant API: [Attach a document to a template](https://developers.verdocs.com/docs/reference/Rest-API/api-docs/template-documents/createTemplateDocument)

### Envelopes without a template [#envelopes-without-a-template]

When you [create an envelope](https://developers.verdocs.com/docs/reference/Rest-API/api-docs/envelopes/createEnvelope) and supply documents inline (rather than referencing an existing template), the same `process_tags` and `process_acroforms` gates apply.

See also: [Send an envelope without a template](https://developers.verdocs.com/docs/guides/tutorials/send-an-envelope-without-a-template)

### Envelopes created from an existing template [#envelopes-created-from-an-existing-template]

Envelopes created **from an existing template** use the template's already-defined roles and fields. Pipeline settings do not re-scan template source files at send time.

***

## Reading current settings [#reading-current-settings]

Organization pipeline settings are available to **organization admins** only. An admin can read settings for their own organization; cross-organization access is denied.

`GET /organizations/\{organization_id\}/pipeline-settings`

**Example response:**

```
{
  "process_acroforms": false,
  "process_tags": false,
  "ignore_invalid_roles": false,
  "ignore_invalid_fields": false
}
```

***

## Updating settings [#updating-settings]

`PATCH /organizations/\{organization_id\}/pipeline-settings`

Send only the flags you want to change. Updates are **merged** - setting one flag does not reset the others. Unknown keys and non-boolean values are rejected with `400`.

**Enable dynamic tagging for an org that generates tagged PDFs server-side:**

```
{
  "process_tags": true
}

```

**Enable AcroForm auto-detection for standard fillable PDFs:**

```
{
  "process_acroforms": true
}
```

> **Multi-tenant note:** In a parent/child organization hierarchy, pipeline settings are stored on each **organization** individually. If child orgs upload their own documents, configure each tenant org separately. See [Organization Hierarchies](https://developers.verdocs.com/docs/guides/tutorials/organization-hierarchies).

***

## Common configurations [#common-configurations]

#### Dynamic Tagging workflows [#dynamic-tagging-workflows]

If your integration embeds handlebars-style tags in PDF or DOCX source files ([Tagging Dynamic Documents](https://developers.verdocs.com/docs/guides/tutorials/tagging-dynamic-documents)), enable:

\{ "process\_tags": true }

Confirm your organization's current values with `GET /organizations/\{id\}/pipeline-settings` before relying on automatic tag processing in production.

#### Fillable PDF auto-detection [#fillable-pdf-auto-detection]

Enable AcroForm detection when you are **not** also embedding text tags in the same file:

`{ "process_acroforms": true \}`

Test in staging first: some PDFs mix visible widgets with manually placed builder fields, and auto-detection can create overlapping fields.

#### Programmatically generated tags with occasional errors [#programmatically-generated-tags-with-occasional-errors]

If tags are generated programmatically and occasional malformed entries are acceptable:

```
{
  "process_tags": true,
  "ignore_invalid_roles": true,
  "ignore_invalid_fields": true
}
```

With both ignore flags off (the default), Verdocs surfaces authoring errors immediately - usually preferable while you are still building templates.

#### Manual field placement only [#manual-field-placement-only]

Leave all flags at their defaults (`false`). Uploaded PDFs and DOCX files are stored as-is; define roles and fields through the API or UI separately.

***

## See also [#see-also]

* [Dynamic Tagging](https://developers.verdocs.com/docs/learn/whats-new/dynamic-tagging) - overview of handlebars-style tags
* [Tagging Dynamic Documents](https://developers.verdocs.com/docs/guides/tutorials/tagging-dynamic-documents) - tag syntax, roles, and placement
* [Attach a document to a template](https://developers.verdocs.com/docs/reference/Rest-API/api-docs/template-documents/createTemplateDocument)
* [Create Envelope](https://developers.verdocs.com/docs/reference/Rest-API/api-docs/envelopes/createEnvelope)
* [Organization Hierarchies](https://developers.verdocs.com/docs/guides/tutorials/organization-hierarchies)
