---
title: "Nanonets Integration"
description: "Extract structured data from invoices, receipts, and other documents with trained Nanonets OCR models. Agents run synchronous or asynchronous extraction on files and URLs, poll prediction results, and upload labeled training data to improve custom OCR and classification models."
url: https://flowrunner.ai/integrations/nanonets
date_modified: 2026-08-04T10:04:16-07:00
---

# Nanonets

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

Extract structured data from invoices, receipts, and other documents with trained Nanonets OCR models. Agents run synchronous or asynchronous extraction on files and URLs, poll prediction results, and upload labeled training data to improve custom OCR and classification models.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 14 actions · Basic auth · available

[Nanonets website](https://nanonets.com/) · [Platform Documentation](https://nanonets.com/documentation/) · Capability data verified 2026-07-27

1.  An invoice PDF arrives in the AP mailbox and enters the intake flow
2.  Extract From File runs the trained invoice model and returns fields with confidence scores and bounding boxes
3.  The agent compares each field's confidence against the AP threshold and validates totals against line items
4.  High-confidence extractions post straight to the accounting system as draft bills
5.  Fields below threshold route to the AP specialist with the document image and the model's best guess side by side
6.  The specialist's corrections write back as labeled annotations via Upload OCR Training File
7.  When enough corrections accumulate, a retraining proposal goes to the model owner
8.  The weekly digest reports extraction volume, exception rate, and fields that keep failing

## What This Integration Enables

Most OCR pipelines fail at the same joint: the model's output is treated as truth, and the humans who catch its mistakes have no way to teach it. Nanonets structures both halves properly, per-field confidence scores on the way out, labeled training uploads on the way in, and this connector wires FlowRunner orchestration through the loop. Agents run synchronous extraction on short documents and async on long ones, poll results, route by confidence, and turn human corrections into model improvements.

-   Extract line items, totals, and fields from invoices, receipts, and POs into structured JSON
-   Process multi-page documents asynchronously and poll for completion
-   Batch-OCR publicly hosted document URLs without downloading them first
-   Route low-confidence fields to a person instead of into your books
-   Upload labeled corrections and retrain custom OCR and classification models deliberately

The confidence-based handoff is FlowRunner's [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) model in its purest form: the machine does the reading, the person does the judging, and the boundary between them is an explicit number.

### Without FlowRunner

**Keying documents by hand**: Invoices, receipts, and POs get retyped into systems, with the error rate that retyping guarantees

**OCR output trusted blindly**: Extracted numbers flow downstream whether the model was confident or guessing

**Corrections evaporate**: A human fixes the same vendor's weird invoice layout every month, and the model never learns

### With FlowRunner

**Documents become structured data on arrival**: Trained models return fields, tables, and confidence scores as a workflow step

**Confidence decides the path**: Sure extractions proceed, unsure ones stop for a person, and the threshold is yours

**Corrections become training data**: Every human fix uploads as an annotation, and retraining is a reviewed decision

## Use Case Scenarios

### AP intake that knows when it is guessing

Invoices forwarded from [Gmail](https://flowrunner.ai/integrations/gmail-service) run through Extract From File against the invoice model. Extractions where every field clears the confidence bar post to [QuickBooks](https://flowrunner.ai/integrations/quickbooks-online) as draft bills and log to [Google Sheets](https://flowrunner.ai/integrations/google-sheets). Anything below the bar lands in the AP channel in [Slack](https://flowrunner.ai/integrations/slack) with the flagged fields highlighted. The specialist confirms or corrects in minutes, and only verified numbers ever reach the ledger.

### The hundred-page contract batch

A due-diligence drop of long PDFs would time out any synchronous call. The agent submits each with Extract From File (Async), records the returned file IDs, and polls Get Prediction Result until each completes. Get Prediction Results sweeps the day's window as a safety net for anything the poller missed. Extracted tables and fields assemble into the review workbook while the documents are still being uploaded by the counterparty.

### The model that gets better on your documents

Every correction a human makes in Scenario 1 becomes an annotation: Upload OCR Training File posts the document with its labeled bounding boxes back to the model. Monthly, the agent reports how many corrections have accumulated and which fields drive them. The model owner reviews the annotation set, approves, and Train OCR Model runs. Get OCR Model polls the training state, and when the model reports trained, the workflow resumes extraction on the improved version. Classification models follow the same pattern with Upload Classification Training File feeding categories.

## Human-in-Loop Highlight

Train OCR Model rewrites the behavior of the model every downstream workflow depends on, and there is no rollback button: once retrained on a bad annotation set, the model that read your invoices correctly last week now reads them differently, and every extraction after that inherits the damage. So retraining on this page is never an automatic consequence of accumulated corrections. The agent proposes: "312 corrected annotations queued for the invoice model, 61 percent concentrated on the tax-amount field across three vendor layouts. Sample annotations attached. Retrain now?" The model owner inspects the sample, approves or prunes, and only then does training start. The same judgment boundary governs daily operation: a low-confidence total on an invoice is a number that could become a payment, and the AP specialist, not the threshold alone, decides what enters the books.

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

14 actions

### Extraction

6

-   **Extract From File** Runs a trained OCR model on a document or image synchronously, returning per-page predictions with label, ocr\_text, confidence score, and bounding box, plus detected tables. Best for files of 3 pages or fewer.
-   **Extract From File (Async)** Submits a large document for asynchronous extraction and returns a file ID immediately. The path for multi-page documents; poll Get Prediction Result for the outcome.
-   **Extract From URLs** Extracts from one or more public URLs synchronously, with Nanonets fetching each server-side. Batch OCR without a download step.
-   **Extract From URLs (Async)** Submits large public URLs for asynchronous extraction, returning a request ID for polling.
-   **Get Prediction Result** Retrieves the prediction result for a processed file by ID, including processing and validation status. The polling step behind every async workflow.
-   **Get Prediction Results** Lists processed files for a model over a day-based window with IDs, statuses, and predictions. The sweep for review and reconciliation.

### Models

3

-   **List Models** Lists all OCR and Image Classification models in the account with IDs, types, and states. The discovery step before extraction.
-   **Get OCR Model** Retrieves an OCR model's training state and configured fields. Used to confirm a model is trained and to poll during retraining.
-   **Get Image Classification Model** Retrieves a classification model's training state and categories. The inspection step before uploading training images.

### Training

5

-   **Upload OCR Training File** Uploads a training document with its labeled bounding-box annotations to an OCR model. The step that turns human corrections into training data.
-   **Upload OCR Training URLs** Adds training documents by public URL with annotation data, fetched server-side.
-   **Train OCR Model** Starts training or retraining an OCR model on the uploaded data. Runs asynchronously; the action behind this page's human gate.
-   **Upload Classification Training File** Uploads a labeled training image to a classification model under a specific category.
-   **Upload Classification Training URLs** Adds labeled training images by public URL under a category, fetched server-side.

## Frequently Asked Questions

### What can FlowRunner do with Nanonets?

FlowRunner agents can run Extract From File, Extract From File (Async), and Extract From URLs in Nanonets, plus 11 more actions.

### Does connecting Nanonets to FlowRunner require OAuth?

No. Nanonets connects to FlowRunner with basic authentication (a username and password), no OAuth flow required.

### Can Nanonets trigger a FlowRunner workflow automatically?

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

**Work at Nanonets?** This integration exposes Nanonets 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/nanonets. Site index: https://flowrunner.ai/llms.txt
