# Set up an XML capture job

The integration intake path: another system drops files plus an XML descriptor into a folder, and Content Central files them with full field values — the Catalog Manager job setup, the XML format with a working sample, and how failures are quarantined.

Product: content-central · Versions: 7.x · Audience: system-administrator · Time: 45 minutes · Last verified: 2026-09-05

Canonical: https://help.ademero.com/content-central/capture/set-up-an-xml-capture-job

**At the end of this guide, another system can deliver documents into Content Central hands-free: it writes the files and one XML descriptor into a folder, and the descriptor tells Content Central everything — which files, which catalog and type, every field value, even the destination.**

This is the intake path built for integrations. Where a plain folder capture job guesses nothing about a file, an XML job is *told* everything.

## Create the job (Catalog Manager, on the server)

1. Open **Catalog Manager**, select the catalog, and click **Modify...**. On the **Capture Jobs** page, click **Add...** — the **Capture Job Details** dialog opens.

2. On the **General** tab: **Capture Source** = `Folder`, a **Name**, and the default **Document Type** (the XML can override it per document). **Process Subfolders** if the sending system organizes its drops in subfolders.

3. On the **Descriptor** tab, set **Document Descriptor** = `Xml`. The dialog explains the deal: "Files will be converted into documents. XML files determine the document boundaries." Three checkboxes tune the behavior:
   - **Disable Workflow Processing** / **Disable ODBC Lookups** — for bulk migrations where triggers and lookups would only slow things down.
   - **Reject Missing or Mismatched Catalog and Document-Type** — with this on, a descriptor naming a wrong catalog or type is quarantined instead of falling back to the job's defaults. Turn it on for integrations; silence hides bugs.

4. On the **Details** tab, set the **Incoming Folder** — the drop location the other system writes into. **OK**.

## The XML descriptor

The rules of engagement, before the sample:

- **Content Central reads only `.xml` files** from the folder. Each descriptor names its own payload files (paths relative to the folder), so there's no filename-matching convention to get wrong.
- **The descriptor waits for its files.** If a named file isn't there yet or is still being written, the XML is skipped and retried — so write the payload files first, the XML last, and delivery is race-free.
- One descriptor = one document.

A working minimal descriptor:

```xml
<?xml version="1.0" encoding="utf-8"?>
<document xmlns="http://www.ademero.com/XmlSchemas/ContentCentral/XmlCaptureDescriptorV1.7">
  <electronicFile deleteInputFiles="true">invoice-10023.pdf</electronicFile>
  <destination>
    <catalog documentType="Invoice">Accounts Payable</catalog>
  </destination>
  <fields>
    <field name="Invoice">10023</field>
    <field name="Vendor">Bowman Fabrication</field>
  </fields>
</document>
```

What each part offers beyond the minimum:

| Element | Purpose |
| --- | --- |
| `<electronicFile>` | One file, captured as-is. `deleteInputFiles="true"` moves it; without it the file is *copied* and left in place. `documentCreator="DOMAIN\user"` records a creator |
| `<imageFiles><file>…</file>…</imageFiles>` | The image-capture alternative: multiple image files become one converted document |
| `<destination><catalog>` | Catalog by name, `documentType` attribute for the type; optional `<folderOverride>` and `<filenameOverride>` children override folder/file building for this document |
| `<destination><postCapture queue="catalog">` | Send to the Coding Queue instead of filing — `queue="user"` plus a `<username>` targets a person's queue |
| `<fields><field name="…">` | Field values; names match your fields case-insensitively |
| `<documentIdForAppend>` / `<documentIdForReplace>` | Aim the content at an *existing* document instead of creating one |

The root element is `document`, lower-case, and the `xmlns` must match a supported schema version exactly — a descriptor with a missing or unknown namespace is rejected outright.

## When a descriptor fails

Failures don't vanish: the XML (and the problem) land in the job's **Unprocessable** folder on the server, and administrators with unprocessed-file notifications enabled get an "XML Descriptor Error" notice. The three failures you'll actually see:

- **Schema-invalid XML** — the message is the validator's own text; fix the sending system's output.
- **"The Catalog or Document Type is either missing or mismatched in the XML file."** — the reject checkbox doing its job; the descriptor names something that doesn't exist (typo, or a rename on one side).
- **Bad file paths** — a named payload file that never arrived, or invalid path characters.

**Success check:** drop one payload file and one descriptor into the folder by hand. Within the capture cycle the document should appear filed in the right catalog and type with your field values — and the drop folder empty (or the payload still present, if you left `deleteInputFiles` off).

## What's next

- [How documents get into Content Central](https://help.ademero.com/content-central/capture/how-documents-get-into-content-central)
- [Set up a folder (hot-folder) capture job](https://help.ademero.com/content-central/capture/set-up-a-folder-capture-job)
