---
title: "Cambrion Integration"
description: "Run a pipeline over media or text with Cambrion, the German AI document data platform, to produce a structured observation. Agents describe the extraction they want in plain English and receive typed results back."
url: https://flowrunner.ai/integrations/cambrion
date_modified: 2026-08-07T17:20:23-07:00
---

# Cambrion

[Document Processing](https://flowrunner.ai/integrations/category/documents-forms)

Run a pipeline over media or text with Cambrion, the German AI document data platform, to produce a structured observation. Agents describe the extraction they want in plain English and receive typed results back.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 30 actions · API key · available

[Platform Documentation](https://cambrion.ai/) · Capability data verified 2026-08-12

1.  A scheduled sweep picks up new supplier documents from a \[Box\](/integrations/box) intake folder
2.  Agent calls Run Pipeline Async with the document, tagging the execution so it can be found later
3.  Agent polls Get Execution, then reads the fields with Get Observation As JSON
4.  Agent runs Query Index against the vendor master to resolve the supplier name on the document
5.  Agent confirms the tax ID on the document matches the tax ID on the matched vendor record
6.  Procurement channel in \[Slack\](/integrations/slack) receives the document with the vendor it resolved to
7.  A supplier name that resolves weakly, or to a record whose tax ID disagrees, waits for the vendor master owner

## What This Integration Enables

Most document platforms stop at extraction. They hand you a supplier name as a string and leave you to work out which of your vendor records it belongs to. Cambrion goes one step further, and that step is the reason to choose it. Its semantic indices hold your own master data, and Query Index takes a value read off a document and returns the closest matching records with a similarity score. That turns "SÜDWERK Metallbau GmbH" printed on a scanned invoice into a specific vendor ID in your ERP, rather than a string somebody has to eyeball.

The second thing Cambrion does differently is how extractions get defined. Create Extraction takes a plain-English description of what to pull out of a document, and Improve Extraction teaches it from a single worked example when it gets one wrong. There is no template grammar to learn. For agents this means the configuration surface is itself something an agent can read and reason about, and FlowRunner [connectors](https://flowrunner.ai/concepts/connectors) expose the whole of it: pipelines, executions, extractions, indices and hooks. What FlowRunner adds is judgement about where automatic is the wrong answer, because a confident match to the wrong vendor record is how a payment reaches the wrong bank account.

### Without FlowRunner

**Names never match exactly**: The same supplier appears three ways across documents and none of them match the master record

**Rules chase every layout**: Improving accuracy on an awkward document means writing another special case

**Sensitive documents linger**: Files sit in a processing account long after the extraction they were needed for

### With FlowRunner

**Meaning is matched, not spelling**: Semantic indices resolve a supplier name on a document to the right master record

**Corrections teach the model**: One corrected example improves future documents of the same shape without new rules

**Sensitive runs leave nothing**: Transient runs discard all execution data the moment processing finishes

## Use Case Scenarios

### Resolving a supplier before the invoice posts

A scanned invoice arrives from a supplier whose name is printed differently from how it sits in the master file. The agent submits it with Run Pipeline Async, polls Get Execution, and reads the structured fields with Get Observation As JSON. It then takes the supplier name and tax ID and calls Query Index against the vendor index, combining an exact full-text filter on the tax ID with a semantic search on the name. A strong match with an agreeing tax ID means the agent can post the bill in [SAP Business One](https://flowrunner.ai/integrations/sap-business-one) against a known vendor. A weak match means the agent has found something a person needs to look at, not a problem to solve on its own.

### Reshaping output without re-reading the document

The extracted observation is correct, but the field layout does not match what the receiving system expects. Rather than re-running the pipeline and spending the processing again, the agent calls Transform Observation with a JSONata expression and gets the reshaped result back. Iterating on a mapping becomes cheap: extract once, reshape as many times as needed until the structure lands cleanly in [PostgreSQL](https://flowrunner.ai/integrations/postgresql). When the mapping is settled, the agent writes it into the flow and stops transforming ad hoc.

### Sensitive documents that must not persist

An HR or legal document has to be read but not retained. The agent runs it through Run Pipeline with Transient enabled, which tells Cambrion to discard all execution data once the run finishes. The extracted fields come back in the same call, the agent writes only the values the downstream process needs, and there is no stored observation or media left behind to include in a later retention review. Where a run was not transient, Delete Execution removes the observation and media after the fact.

## Human-in-Loop Highlight

Query Index returns matches with a similarity score, and that score is Cambrion being honest that identity is a judgement. A supplier name read off a scan matching a master record at high confidence with an agreeing tax ID is a fact. The same name matching at a middling score, or matching a record whose tax ID does not agree, is a question about who you are about to pay. Approving the wrong answer creates one of two problems, both expensive and both quiet. Either the payment routes to a vendor record carrying the wrong bank details, or a duplicate vendor is opened for a supplier you already have, splitting their spend across two records for the rest of the year.

The agent will not decide that. When the match falls short of the threshold, or when the semantic match and the tax ID point at different records, it stops and puts the evidence in front of the vendor master owner. That evidence is the supplier name exactly as printed, the tax ID read off the same document, the top three candidates from Query Index with their similarity scores, and a link to the page image the name was read from. The question that goes with it is specific: "This invoice reads as SÜDWERK Metallbau GmbH with tax ID DE812345678. The closest vendor record is Suedwerk Metallbau, whose tax ID is different. Same supplier, new supplier, or something else?" The owner picks, the agent proceeds with a resolved vendor, and the master file stays a master file. Agents doing the reading and humans holding the identity call is the whole point of [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) on this connector.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

30 actions

### Pipelines

6

-   **List Pipelines** Lists the pipelines deployed on the account with ID, name, description, tag, status and version. A pipeline is the processing graph that turns media into a structured observation, so this is where an agent starts when discovering what the account can extract.
-   **Get Pipeline** Retrieves one pipeline with its status and version. Worth reading before wiring a flow to it, because pipeline versions change what the observation contains.
-   **Get Pipeline Definition** Returns the graph definition: which nodes run and how they connect. Agents use it to trace which extraction step produces which part of the observation.
-   **Run Pipeline** Runs a pipeline and waits, returning the execution ID with the structured observation. There is a documented thirty second ceiling on this route, so anything larger belongs on the async path. Media is supplied as base64. Transient tells Cambrion to discard all execution data once the run finishes.
-   **Run Pipeline Async** Queues a run and returns the execution ID immediately. The route for anything that might outrun the synchronous ceiling. Agents poll Get Execution, then read the result, or attach hook IDs so Cambrion pushes it out on completion.
-   **Run Pipeline As JSON** Runs a pipeline synchronously and returns the observation already flattened into a plain JSON object rather than Cambrion's nested envelope. The right choice when the next step wants fields and has no interest in page structure.

### Executions

8

-   **List Executions** Lists executions, optionally narrowed to a tag, with status, timings, duration and attached hook IDs. Tagging runs when they start is what makes this useful later.
-   **Get Execution** Retrieves one execution with status, timings and metadata. The endpoint agents poll after an async run. Cambrion's status field is free-form text that carries the error message inline on failure, so agents read it as text rather than matching a fixed set of values.
-   **Get Observation** Returns the full observation for an execution: per-document fields, pages and media references. This is where the extracted content lives after an async run completes.
-   **Get Observation As JSON** Returns the observation flattened into a plain object of extracted fields, dropping page and media structure. The convenient shape for a database write or an accounting post.
-   **Transform Observation** Applies a JSONata expression to an observation and returns the reshaped result without re-running the pipeline. Lets an agent iterate on output mapping without spending processing again.
-   **Retry Execution** Re-runs a failed execution reusing its original media and settings, which is cheaper than resubmitting because the media is already stored against the execution.
-   **Submit Execution** Fires an execution's SUBMIT hooks on demand and reports each delivery outcome. This is the manual push for when a downstream system was offline when the run finished, or when a human approval gates the handover.
-   **Delete Execution** Deletes an execution with its stored observation and media. The tool for honouring retention policy on documents that were not run as transient.

### Extractions

6

-   **List Extractions** Lists the extraction configurations on the account. An extraction defines what a pipeline pulls out and how hard it works to do it: resolution, precision mode, page batching and parallelism. The state field matters, since a newly created extraction takes a short time to become ready.
-   **Get Extraction** Retrieves one extraction with its description, readiness state and processing options. Agents check state before wiring it into a pipeline.
-   **Create Extraction** Creates an extraction from a plain-English description of what to pull out. The processing options are the real levers. High Precision and a larger image size help on dense or low-quality scans at the cost of latency, and Compact drops confidence scores for speed. Parallel Processing cuts latency but loses cross-page context, while Intelligent Batching does the opposite by grouping pages so the model can reason across them.
-   **Update Extraction** Updates an extraction's description or processing options. Rewriting the description is how you refine what gets pulled out without rebuilding the pipeline around it.
-   **Delete Extraction** Deletes an extraction configuration. Pipelines referencing it stop producing its output, so agents check the pipeline definition first to see what depends on it.
-   **Improve Extraction** Teaches an extraction from a worked example so the model learns the correct output for a document it previously got wrong. Correcting one document improves future documents of the same shape, which is why the correction itself deserves a reviewer.

### Indices

6

-   **List Indices** Lists the search indices with the document fields each one embeds for semantic search. Indices are how Cambrion links extracted values back to your master data.
-   **Create Index** Creates an index and names the fields whose text should be semantically embedded. Only listed fields become matchable by meaning, so the right choice is the fields a person would actually recognise a record by, such as a company name or an address.
-   **Add Index Document** Adds a master-data record to an index. The body is free-form, so vendor, product or customer records load in whatever shape you hold them. This is the load step that has to happen before entity linking means anything.
-   **List Index Documents** Returns the documents stored in an index with offset pagination. Agents use it to verify a master-data load landed, or to reconcile the index against the system it mirrors.
-   **Query Index** Searches an index and returns the closest matching documents with a similarity score, combining an exact full-text filter with a semantic search. This is the entity-linking mechanism: take a supplier name off an invoice, query the vendor index, and get back the master record it corresponds to.
-   **Delete Index** Deletes an index and every document in it. Pipelines that link entities against it stop resolving, so nothing should depend on it before this runs.

### Hooks

4

-   **Create Hook** Registers a hook that pushes results to your endpoint and returns its hook ID. A Cambrion hook only fires for runs that reference its ID, so the ID has to be passed on the run. Status Change with a filter reports completion, Observation Update follows incremental changes, and Submit is a manual handover. Deliveries are not signed, so agents authenticate them with custom headers on the hook.
-   **List Hooks** Lists registered hooks with event type, endpoint, payload format, status filter and enabled state. Also the way to audit which endpoints are receiving your document data.
-   **Update Hook** Updates a hook's endpoint, event type, payload format, headers or enabled state. Switching Enabled off is the clean way to pause deliveries during receiver maintenance without losing configuration.
-   **Delete Hook** Deletes a hook permanently. Runs still referencing its ID simply stop delivering, so pausing with Update Hook is usually the safer move.

## Frequently Asked Questions

### What can FlowRunner do with Cambrion?

FlowRunner agents can run List Pipelines, Get Pipeline, and Get Pipeline Definition in Cambrion, plus 27 more actions.

### Does connecting Cambrion to FlowRunner require OAuth?

No. Cambrion connects to FlowRunner with an API key, no OAuth flow required.

### Can Cambrion trigger a FlowRunner workflow automatically?

Cambrion doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at Cambrion?** This integration exposes Cambrion to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/cambrion. Site index: https://flowrunner.ai/llms.txt
