> ## Documentation Index
> Fetch the complete documentation index at: https://docs.insight.nobly.dk/llms.txt
> Use this file to discover all available pages before exploring further.

# Mapping and variables

> Translate incoming properties into Insight keywords, preview mappings, and manage shared ContentFlow values.

## Prerequisites

You need `mappers.manage` to maintain mappings. Confirm the destination document type, its keyword configuration, and the metadata structure supplied by the input integration. Use `global-variables.manage` when changing shared variables.

## Build a mapper

Open **Mappers**, create or select a mapper, and give it a meaningful name. Its tabs configure three translations:

| Tab                | Source            | Target                                 |
| ------------------ | ----------------- | -------------------------------------- |
| **Keywords**       | UDM property name | Insight keyword name or ID             |
| **Keyword Groups** | UDM group name    | Insight keyword record type name or ID |
| **FileTypes**      | File extension    | Insight file type ID                   |

Use **Reference document type** to load keyword and group suggestions for the intended destination. The selection assists authoring and validation; selecting it is not an upload operation. Free-text mapping remains available when lookup suggestions cannot load.

Avoid duplicate or empty source keys. Save changes after checking each row. Keyword names and IDs must match the destination environment, and mapping a keyword does not assign that keyword to a document type. Maintain the destination's [keyword assignments](/configuration/keyword-assignment-models) separately.

## Preview before running

Open the preview panel and choose a workflow and one of its test cases, or choose **Paste properties JSON**. Set the sample file extension. The preview shows what the current mapping produces and, when reference keyword configuration is available, reports validation findings.

Check that scalar properties go to the correct keywords, repeating records preserve their intended group structure, and the file extension resolves to the expected type. A preview checks the mapping; it does not prove the receiving account can upload the document or that the full pipeline succeeds.

## Example: keep the source-to-target meaning explicit

Suppose the incoming property `CustomerRef` contains `AB-1042`, while the destination keyword is **Customer reference**. Add a Keywords mapping from that property to the destination keyword. In the preview, check that the mapped value is `AB-1042` and that it lands on the intended keyword, rather than on a similarly named supplier reference.

Then test a missing CustomerRef and an unexpected value. If the destination requires the keyword, resolve the missing input before delivery; a mapping cannot invent a reliable business identifier.

For repeating source records, use the appropriate group mapping and verify the number of resulting group instances. Flattening several invoice lines into unrelated standalone values can lose which amount belongs to which line.

## Shared variables and settings

Use **Global Variables** for reusable values referenced by ContentFlow expressions. Secret values are masked when listed. Limit editing and expression-authoring access to people trusted to use the integration credentials available to those expressions.

Per-workflow **Settings** are separate from the diagram. For example, the UI exposes an Insight upload request limit. Coordinate changes with the person responsible for the receiving service rather than increasing a limit to conceal repeated failures.

ContentFlow global variables, Workflow Engine variables, and Script Engine secrets are separate stores. Adding a value to one does not make it available to the others.

## Where to read next

<Card title="States and recovery" icon="arrows-spin" href="/contentflow/states-and-recovery" horizontal>
  Find ContentFlow processing failures by trace or batch, inspect their logs, and choose a full rerun or retry from the failed step.
</Card>
