FlowRunner
PricingContact
Theme
Start Free

Turn invoices, delivery notes, and other documents into structured data with Koncile, an AI OCR platform. Define folders, templates, and fields once, and agents extract typed data from every document that follows.

1 trigger 26 actions API key available
Koncile website ↗ Platform Documentation ↗ Capability data verified 2026-08-01
On Document Processed fires for a supplier invoice Koncile has finished extracting
Agent reads General_fields and Line_fields, each value carrying its own confidence score
Agent inspects the task status, treating DUPLICATE as a stop rather than a variant of DONE
Agent confirms the line amounts sum to the document total under the template's number locale
Agent posts the bill in [Sage Intacct](/integrations/sage-intacct) with the original file attached
AP channel in [Slack](/integrations/slack) receives the posted bill and its confidence summary
Anything Koncile marked DUPLICATE goes to AP with both documents side by side before payment moves

What This Integration Enables

Koncile takes the position that extraction should be configured once and then be boring. You create a folder for a document family, a template for each layout inside it, and fields on the template for each value you want, choosing formats that tell Koncile what it is looking at. Picking Invoice Date rather than plain Date is not cosmetic; it is how the platform knows what to normalise. Instructions sit above the fields and cover the rules that span several of them: how to handle a table that runs across pages, what currency to assume when none is printed, how to treat a credit note.

That structure is what makes Koncile useful to agents rather than just to people. The whole configuration is readable and writable through the API, so a FlowRunner agent can inspect the folder and template tree before it uploads, pin an upload to a known template, and rerun a back catalogue after a template change without anyone re-uploading anything. Extraction is asynchronous by design: Upload Document returns task IDs and the agent polls until the status leaves IN PROGRESS. Those statuses are where the interesting part lives, because Koncile does not just report success and failure. It also reports DUPLICATE, and a platform that volunteers that verdict is a platform worth building a digital andon cord around.

Without FlowRunner

Layout changes break silently A supplier redesigns their invoice and the fields it used to yield come back empty
Duplicates surface after payment The second copy of an invoice is caught during reconciliation, not before the run
Locale guesses go unnoticed A European decimal comma is read as a thousands separator and nobody sees it until the variance

With FlowRunner

Templates are explicit and versioned Folders, templates and fields are configuration an agent can read, diff and rerun against
Duplicates stop the flow A DUPLICATE verdict holds the document for a person instead of reaching the payment run
Locales are declared, not inferred Number and date locales are set on the template so 1.234,56 and 03/04 mean one thing

Use Case Scenarios

Supplier invoices into the ledger

An invoice reaches the intake folder and the agent uploads it with Upload Document, pinning the folder and template that match the supplier so Koncile does not have to classify it. Task IDs come back. The agent polls Get Task Result every couple of seconds until the status leaves IN PROGRESS, then reads General_fields for the invoice number, dates, tax and totals and Line_fields for the table rows, each value carrying its own confidence score. It checks the arithmetic under the template's declared number locale, posts the bill in Sage Intacct, and attaches the original file pulled back with Download Document File so the approver sees the scan and the extraction together.

Retrofitting a template improvement across a back catalogue

Someone notices that a supplier's freight line has been landing in the wrong field for weeks. The fix is a better field description, which is the main lever for a value that extracts unreliably: tell the model exactly where it sits and what it is not. Once Update Field is applied, the agent calls Rerun Documents to reprocess the affected documents already in Koncile, up to five hundred at a time, without re-uploading a single file. Rerun is asynchronous, so a non-zero rerun count means the work was dispatched rather than finished, and the agent waits for the trigger to report the new results before it touches anything downstream.

Diagnosing a field that came back wrong

A total extracted as a fraction of its real value. Rather than guessing, the agent calls Get Document Raw Text, which returns the OCR text before any template structuring. If the raw text shows the number correctly, the problem is the template or the locale. If the raw text is wrong, the problem is the scan. The agent posts both the raw text and the structured result to the ops channel in Microsoft Teams with that distinction spelled out, so the person who picks it up starts from a diagnosis instead of a symptom.

Human-in-Loop Highlight

Get Task Result reports one of four statuses, and three of them are easy. IN PROGRESS means wait. DONE means the extraction finished. FAILED means it did not. DUPLICATE is the one that matters, because it is Koncile telling you it has seen this document before, and the consequence of getting it wrong runs in one direction only. A duplicate that is wrongly treated as new becomes a second bill for the same invoice, and once that bill clears a payment run the money has left. Recovering it means a credit note, a supplier conversation and a reconciliation entry, all of which cost more than the thirty seconds it would have taken to look.

So DUPLICATE never routes to an automatic path in a FlowRunner flow. The agent stops, pulls the original file for both documents with Download Document File, and puts them in front of AP with the specific comparison already made: "Koncile marked this as a duplicate of invoice 44812 from Nordwind Logistik, processed on the eleventh. Same invoice number, same total, different filename, the earlier one is already posted and scheduled in Friday's run. Post as a second invoice, discard this copy, or hold both?" A person answers, and the ledger reflects a decision somebody made rather than a status code nobody read. The agent has still done everything worth automating: it read the document, matched it, retrieved both originals, and framed the question. It simply does not own the last step, which is the shape every human-in-the-loop gate should take.

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

26 actions

Documents

8
  • Upload Document Downloads a document from a URL and submits it to Koncile for extraction, returning the task IDs to poll. Koncile accepts no URL input of its own, so the bytes are fetched and forwarded as a multipart upload. Pointing at a folder and template pins the extraction schema; leaving both empty lets Koncile classify the document itself.
  • Get Task Result Polls an extraction task and returns its status plus, once finished, the extracted fields. Status is IN PROGRESS, DONE, FAILED or DUPLICATE, and anything other than IN PROGRESS is terminal. General_fields holds document-level values and Line_fields holds arrays for table rows, each value with its own confidence score. Fraud verdict, justification and score are also returned where fraud detection is enabled.
  • Get Document Data Returns the extracted data for a document that has already finished, keyed by document ID rather than task ID. The route for re-reading a result later or after finding documents by listing.
  • List Documents Returns the IDs of documents matching a date range, folder or template. Updated Since is the field for incremental syncing: pass the last successful poll timestamp and Koncile returns only what changed.
  • Download Document File Retrieves the original uploaded file and stores it in FlowRunner file storage, returning a URL the flow can pass on. This is how the source scan gets attached to an approval step rather than described in it.
  • Get Document Raw Text Returns the raw OCR text Koncile read before any template-driven structuring. The diagnostic that separates a misread page from a mis-assigned field.
  • Rerun Documents Reprocesses up to five hundred documents already in Koncile, which is how a template change is applied retroactively without re-uploading. Returns counts of what was requeued and what was not, plus per-document errors. Asynchronous, so a non-zero count means dispatched rather than done.
  • Delete Document Deletes a document and its extraction results. Turning on Delete File also removes the stored original, which is the option for honouring a retention or erasure request rather than tidying up.

Folders

5
  • Create Folder Creates a folder, the top level of Koncile's structure. A folder groups related templates, typically one per document family such as supplier invoices or delivery notes, and is what an upload points at when Koncile should pick a template from a known set.
  • List Folders Returns every folder with the templates nested inside it. This single call gives the whole folder and template tree, since there is no standalone template listing endpoint.
  • Get Folder Retrieves one folder with its description and templates. Agents read it to confirm which templates exist before pinning one on an upload.
  • Update Folder Renames a folder or changes its description. Only supplied fields are altered and the templates inside are untouched.
  • Delete Folder Deletes a folder. Override forces deletion when it still contains templates; without it, a non-empty folder is protected. Documents already extracted keep their data, but the templates that produced them go with the folder.

Templates

4
  • Create Template Creates a template inside a folder. A template is the extraction schema for one document layout. Number and date locales are the part worth getting right, because they tell Koncile whether 1.234,56 is one thousand and whether 03/04 is March or April. A source template ID copies an existing template as the starting point.
  • Get Template Retrieves a template with the IDs of the fields and instructions attached. Read before adding fields to avoid duplicates and to find the field IDs an update needs.
  • Update Template Changes a template's name, description, locales or owning folder. Changing a locale affects how future extractions parse numbers and dates, and applying it to documents already processed takes a rerun.
  • Delete Template Deletes a template with its fields and instructions. Override forces deletion when documents already reference it. Extracted data is retained but the schema that produced it is gone, so anything needed should be exported first.

Fields

4
  • Create Field Adds a field to a template: one value Koncile reads off every matching document. General fields are document-level values such as an invoice number or total; Line fields repeat per table row. The format tells Koncile how to interpret and normalise what it finds, and choosing a specific format over a generic one measurably improves real documents.
  • Get Field Retrieves one field with its name, group, format, description and position. Field IDs come from the template.
  • Update Field Changes a field's name, group, format or description. Editing the description is the main lever for a field that extracts unreliably: state exactly where the value sits and what it is not.
  • Delete Field Removes a field so future extractions stop looking for it. Values already extracted on existing documents are unaffected.

Instructions

4
  • Create Instruction Adds a free-text instruction to a template, applied across a whole field group rather than one field. The right home for rules spanning several values: multi-page tables, an assumed currency where none is printed, how credit notes should be treated.
  • Get Instruction Retrieves one instruction with its content and the field group it applies to. Instruction IDs come from the template.
  • Update Instruction Changes an instruction's text or its field group. Pairing the change with a rerun applies it to documents already processed.
  • Delete Instruction Removes an instruction so it no longer influences future extractions. Documents already processed keep their results.

Account

1
  • Check API Key Validates the configured key against Koncile. A cheap connection test before a batch, and the fastest way to tell an authentication problem apart from a data problem when uploads start failing.

Triggers

1 triggers

Event Triggers

1
  • On Document Processed Fires for each document Koncile finishes processing, optionally narrowed to one folder or one template. Koncile's own webhooks are configured only in its dashboard and have no registration API, so this trigger polls the delta endpoint using the timestamp of the previous cycle and emits the extracted data for anything new. The polling interval is configurable down to thirty seconds. Narrowing by template is what lets one flow own supplier invoices while a different flow owns delivery notes, without either one filtering the other's documents out in code.

Frequently Asked Questions

What can FlowRunner do with Koncile?

FlowRunner agents can run Upload Document, Get Task Result, and Get Document Data in Koncile, plus 23 more actions.

Does connecting Koncile to FlowRunner require OAuth?

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

Can Koncile trigger a FlowRunner workflow automatically?

Yes. Koncile supports 1 trigger that can start a FlowRunner workflow automatically.

Start building with Koncile

$100 in credits. No card required. Connect in minutes.