Extract Information
The Extract Information node uses AI to read a document, image, or block of text and pull out the specific fields you define — an invoice total, an issue date, a vendor name. You describe what you want in plain language, the node sends the content to an AI model, and you get back typed values stored in a flow variable. Nothing appears in the chat. The node works across WhatsApp, Web, and Email flows.
Prerequisites
The source material must already live in a flow variable before this node runs. Typically an Ask File node will have stored a file URL, or a Read Incoming node will have captured an email attachment.
You must also configure at least one extraction target — the node will not run without one.
Configuration
Input source. Choose between a file variable (holding a URL, base64 data, or a JSON object with a url key), a direct URL (with {{variable}} support), or a text variable. File and text can be combined — the node extracts from the file first and falls back to the text for any gaps.
Extraction targets. Each target defines one field to extract. The target's description and type are passed straight into the prompt the AI model receives, so what you write here directly shapes what the model looks for.
| Field | Description |
|---|---|
| Field name | The key used to access this value in the output object |
| Type | string, float, int, boolean, date, or list[string] |
| Description | A natural-language instruction telling the AI what to find. Be as specific as you can. |

Response variable. An object variable that receives all extracted fields. Access individual values downstream with {{variable.field_name}} syntax.
Model ID. Optional. Leave empty to use the default. The system picks different models for file-based extraction (which requires vision) and text-only extraction, choosing automatically based on the input you provide. Specify a model only if you need to override that choice.
The description field is your main lever for accuracy. "The amount" is vague. "Total invoice amount including taxes, typically shown at the bottom of the document" is not. Treat each description as an instruction — tell the model where to look and what format to expect.
When to Use It
Parsing uploaded documents. A customer uploads an invoice, utility bill, or bank statement through an Ask File node. Extract the fields you need — amounts, dates, reference numbers — without writing custom parsers.
Processing email replies. A Read Incoming node captures the body of an email reply. Extract Information pulls structured fields from the free-form text the customer wrote.
Processing multi-page files. When the file variable holds an array — multiple pages or multiple files — the node processes each item and produces a single result with all the requested fields.
Output Handles
| Handle | When it fires |
|---|---|
| Success | At least some fields were extracted. If extraction was only partial after three attempts, a warning lists the missing fields but the flow still routes here. |
| Error | Zero fields extracted, no input provided, or the extraction service failed entirely. |
Testing Your Configuration
The node has a built-in test dialog — click the play icon in the configuration panel. You can upload files (PDF, PNG, JPG, TIFF, BMP), provide URLs, or paste raw text and run the extraction without executing the full flow.

The test results include:
- A results table showing each field's extracted value, its type, and the source text.
- For file-based extractions, annotated images where bounding boxes highlight exactly where each value was found on the page, color-coded per field.
- For text-based extractions, the original text with highlights marking where each extracted value appears.
- Response time in milliseconds, so you can gauge whether the extraction fits your flow's performance needs.
Use the test dialog iteratively: adjust your field descriptions, re-run, and check whether the model finds what you need. The quality of your descriptions is the single biggest factor in extraction accuracy.
Things to Know
Partial extraction routes to Success, not Error. If the node finds some fields after three attempts but not all of them, it adds a warning listing what is missing and continues to the Success handle. Design downstream logic to handle potentially absent values — check whether each field exists before using it.
Three retries with increasing focus. On each retry the node only re-requests the fields it did not find on the previous attempt, giving the AI model three passes to zero in on what is still missing. If any attempt times out, the retry loop stops immediately to avoid compounding delays.
Dates are parsed day-first. Ambiguous dates like "01/02/2024" are interpreted as February 1st, not January 2nd. This follows Latin American and European conventions.
Number parsing handles regional formats. Currency symbols and thousands separators are stripped automatically. The string "$1,500.50" becomes 1500.50. European-style decimals like "1.500,50" are also handled correctly — whichever separator appears last is treated as the decimal point.