FlowRunner
PricingContact
Theme
Start Free

Extract data from documents and text with Bitskout, using your own configured plugins or prebuilt extractors for invoices, purchase orders, and bills. Agents turn inbound paperwork into typed fields ready for an accounting system.

13 actions API key available
Platform Documentation ↗ Capability data verified 2026-08-01
A scheduled sweep finds new freight paperwork in the shared [SharePoint](/integrations/sharepoint) intake folder
Agent runs Detect Document Type to decide whether it is a bill of lading, a packing list or something else
Agent calls the matching extractor, for a bill of lading that is Extract Bill Of Lading Data
Agent compares the returned page count against the document's real page count
Agent writes the shipment record with vessel, ports, consignee and weight into [Airtable](/integrations/airtable)
Freight desk channel in [Microsoft Teams](/integrations/microsoft-teams) receives the parsed shipment
Any document the classifier could not place, or whose pages ran past the extraction limit, goes to a coordinator

What This Integration Enables

Most document extraction tools ask you to build the template first. Bitskout is built for the desk where that is the wrong trade, because the paperwork changes shape faster than templates can be maintained. Its prebuilt extractors read invoices, purchase orders, bills of lading, CVs, business cards, barcodes and QR codes with no configuration at all, and Detect Document Type sits in front of them as a classifier so an agent can route a file it has never seen. When you do have a recurring layout worth tuning, you configure a plugin in Bitskout and call it with Run Plugin On File or Run Plugin On Text.

That mix produces a specific agent design. FlowRunner agents run the classifier, branch on its answer, call the extractor that matches, and write into the system of record. The output shape of a prebuilt extractor is fixed and known, so mapping is straightforward. The output shape of your own plugin is whatever you defined, so agents read the keys the plugin returns rather than assuming a schema. Every call is synchronous, with no job to poll, which keeps flows short and makes the failure modes easy to reason about. This is Orchestration as a Service applied to an intake desk: the routine files clear themselves, and the ones the classifier could not place become work for a person rather than a wrong record.

Without FlowRunner

Every layout is a project Each new carrier document means building and maintaining another template
Mixed intake, manual triage Someone opens each file to work out what it is before anything can be done with it
Truncation looks like completion A long document parses without error and the missing pages leave no trace

With FlowRunner

Extractors work out of the box Invoices, purchase orders and bills of lading extract without a template being built first
Classification is the first step Detect Document Type routes each file to the right extractor before any field is read
Truncation stops the flow Documents past the page limit are flagged for a coordinator instead of silently posting a partial record

Use Case Scenarios

Freight paperwork with no fixed layout

A forwarder's shared folder collects whatever carriers send: scanned bills of lading, packing lists, arrival notices, occasionally an invoice that ended up in the wrong pile. A scheduled agent picks up each new file, runs Detect Document Type, and branches. Bills of lading go to Extract Bill Of Lading Data, which returns the BL number, booking number, shipper, consignee, notify party, vessel and voyage, ports of loading and discharge, shipped-on-board date and weight. The agent writes the shipment into Airtable and posts it to the freight desk in Microsoft Teams. Anything the classifier places outside the families the flow handles never reaches an extractor at all.

Matching an invoice to the order it belongs to

A supplier invoice arrives as a direct download link. Extract Invoice Data returns the invoice number and date, due date, subtotal, tax, discount, totals, currency, vendor and customer details, VAT number and the line items. The agent then runs Extract Purchase Order Data against the order document already on file, which returns the order number, dates, customer and receiver details, total, tracking number and its own line items. With both structured, the agent reconciles quantities and totals and posts a bill in Xero only when they agree. Where they disagree, the mismatch itself is the message sent to procurement.

Triaging inbound replies before a human reads them

Analyse Cold Email Response classifies a reply to outreach as interested or not. Bitskout describes the outcome in prose rather than publishing a fixed set of values, so the agent compares the result case-insensitively rather than matching literals, routes anything reading as interested to a rep in Slack with the original reply attached, and archives the rest into HubSpot as activity. The same pattern runs over journalist requests with Extract HARO Query Data, which returns the query, category, outlet, journalist name and contact, requirements and deadline, letting a PR flow filter a day's requests down to the ones still answerable in time.

Human-in-Loop Highlight

Bitskout reads about ten pages of text per document, apart from the full-text template. An eighteen-page bill of lading therefore returns successfully, with a consignee and a weight and a port of discharge, and no indication that pages eleven through eighteen were never read. The dangerous version of this is not an error; it is a clean result that is incomplete. The second version of the same problem is the classifier: Detect Document Type recognises a family and returns the type it found, and Bitskout's own documentation implies further families exist beyond the two it lists, so a document it cannot place is a document the flow has no extractor for.

So the agent gates on both. Before writing anything downstream it compares the page count the extractor reported against the page count of the source file, and it checks the classifier's answer against the set of types the flow actually handles. When either check fails it stops and asks the freight coordinator directly: "This bill of lading is eighteen pages and Bitskout read the first ten. Vessel, consignee and ports came back populated. Do you want the container list from the later pages before I create the shipment record, or is the header enough?" The coordinator answers in the channel, and the agent either proceeds or waits for a split file. A partial shipment record that looks complete is worse than no record, because nobody downstream has any reason to doubt it.

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

13 actions

Plugins

3
  • List Plugins Lists the Bitskout plugins on the account with display names and unique IDs. A plugin is an extraction you configured yourself, so the fields it returns are the ones you defined. Agents use this to discover the available plugin IDs at flow start.
  • Run Plugin On File Runs one of your plugins against a document and returns the fields it extracted. The URL must be a direct download link that returns the file bytes, because a Drive, Dropbox or SharePoint share link usually returns a viewer page and fails. Output keys are defined by the plugin, so agents read what comes back rather than assuming a fixed shape.
  • Run Plugin On Text Runs a plugin against a block of text rather than a file, which suits email bodies, chat transcripts and anything already in the flow as a string. Bitskout analyses roughly the first two thousand characters, about one page.

Document Extraction

6
  • Extract Invoice Data Reads a fixed set of invoice fields with no plugin required: invoice number and date, due date, totals, subtotal, tax, discount, currency, vendor and customer names and addresses, VAT number, page count and line items. The full model output is also returned for cases where the fixed fields are not enough.
  • Extract Purchase Order Data Reads purchase order fields: order number and ID, order date, account and reference numbers, customer and receiver details, tax ID, total, tracking number, page count and line items. Paired with Extract Invoice Data, it gives an agent both sides of a three-way match.
  • Extract Bill Of Lading Data Reads shipping fields from a bill of lading: BL number, BOL type, booking number, shipper, consignee, notify party, vessel and voyage, ports of loading and discharge, shipped-on-board date and weight. Built for the freight case where the BL arrives as a scanned PDF.
  • Extract CV Data Parses a CV into candidate fields: name, job title, emails, phone numbers, LinkedIn profile, location, skills, education, experience and total years of experience. Years of experience returns as a string rather than a number, so agents cast it before comparing.
  • Extract Business Card Data Reads contact details from a photographed or scanned card: name and position, company, email, phone, mobile, fax, website, address, location and logo URL. A short path from a conference photo to a CRM record.
  • Detect Document Type Classifies a document within a family and returns the specific type it recognised, such as a contract, an NDA, a bill of lading or a packing list. This is the router agents put at the front of a mixed intake flow so each file reaches the right extractor.

Codes

2
  • Extract QR Code Reads a QR code from a document or image and returns its decoded contents, which is how payment references come off invoices and tracking links come off delivery notes.
  • Extract Barcode Reads a barcode from a document or image and returns its decoded value. Suits warehouse paperwork and shipping labels where the barcode carries the tracking or SKU number the rest of the flow needs.

Text Analysis

2
  • Analyse Cold Email Response Classifies a reply to a cold outreach email as interested or not, so a sales flow can route positive replies to a person and archive the rest. Bitskout describes the outcome in prose rather than a fixed enum, so agents compare the result case-insensitively.
  • Extract HARO Query Data Parses a journalist request into structured fields: the query, category, outlet, journalist name and contact email, requirements and deadline. Lets a PR flow filter a day's requests down to the ones worth answering before the deadline passes.

Frequently Asked Questions

What can FlowRunner do with Bitskout?

FlowRunner agents can run List Plugins, Run Plugin On File, and Run Plugin On Text in Bitskout, plus 10 more actions.

Does connecting Bitskout to FlowRunner require OAuth?

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

Can Bitskout trigger a FlowRunner workflow automatically?

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

Start building with Bitskout

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