Extract Data

Extracts data from texts, documents, or files using LLM models.

Overview

This procedure extracts data from texts, images, documents, and files. Using LLM models, it identifies and retrieves the text content, making it easy to access and work with the information in those documents.

Before using this procedure, ensure you have learned the Document Processing Book in your agent. After learning the Book, make sure to publish your Agent and create a new Playground for it to take effect.

Syntax

Below is a line-by-line overview of the automation syntax. Expand each line to learn more.

extract data from the source

What does it do?

Instructs the system to begin data extraction from the specified source.

Where does it go?

This phrase should be written on a new line.

Is it required?

✅ Yes — This phrase is required.

Does it require data?

✅ Yes — Replace the source with a reference to a data source in your automation (ex - the file, the document, the text, etc.).

Example

extract data from the document
the {position} field is "{name}"

What does it do?

Specifies the name of a field to be extracted from the source.

Where does it go?

Indented under extract data from the source.

Is it required?

✅ Yes — This phrase is required.

Does it require data?

✅ Yes — The position should be a word like "first", "second", "third", etc. to indicate the order of the field to extract from the source. The name should be a text value that identifies the field.

Example

the first field is "invoice number"
the {position} field's rule is "{rule}"

What does it do?

Specifies the rule to be followed for the field extraction.

Where does it go?

Indented under extract data from the source.

Is it required?

❌ No — This phrase is optional.

Does it require data?

✅ Yes — The position should be a word like "first", "second", "third", etc. to indicate the order of the field to extract from the source. The rule should be a text value that specifies a rule for the field extraction.

Example

the first field's rule is "keep just the first four digits"
the {position} field's format is "{format}"

What does it do?

Specifies the format of the fields that need to be extracted from the source.

Where does it go?

Indented under extract data from the source.

Is it required?

❌ No — This phrase is optional.

Does it require data?

✅ Yes — The position should be a word like "first", "second", "third", etc. to indicate the order of the field to extract from the source. The format should be one of the following values: number, string, or date. The default format is string.

Example

the first field's format is "number"
the {position} field's default is "{default}"

What does it do?

Specifies the field's default value.

Where does it go?

Indented under extract data from the source.

Is it required?

❌ No — This phrase is optional.

Does it require data?

✅ Yes — The position should be a word like "first", "second", "third", etc. to indicate the order of the field to extract from the source. The default should be the default value itself.

Example

the first field's default value is 100
the common default value is x

What does it do?

Specifies the global default value. This will be overwritten by a field's default value.

Where does it go?

Indented under extract data from the source.

Is it required?

❌ No — This phrase is optional.

Does it require data?

✅ Yes — Replace x with any value to use as the common default.

Example

the common default value is "completed"
the openai model is x

What does it do?

Specifies the name of the OpenAI model to use to generate the response.

Where does it go?

Indented under extract data from the source.

Is it required?

❌ No — This phrase is optional.

Does it require data?

✅ Yes — Replace x with a text value containing the model's name. The default is gpt-4o-latest.

Example

the openai model is "gpt-4.1"
the gemini model is x

What does it do?

Specifies the name of the Gemini model to use to generate the response.

Where does it go?

Indented under extract data from the source.

Is it required?

❌ No — This phrase is optional.

Does it require data?

✅ Yes — Replace x with a text value containing the model's name. The default model is gemini-2.5-pro (US region only).

Example

the gemini model is "gemini-2.0-flash"
the visual reference is x

What does it do?

Specifies a document or image to guide the LLM as a visual reference, improving accuracy when extracting data. This is useful in multi-document scenarios or when the reference differs from the source text.

Where does it go?

Indented under extract data from the source.

Is it required?

❌ No — This phrase is optional.

Does it require data?

✅ Yes — Replace x with a reference to a document, image, or file.

Example

the visual reference is the file
the output format is x

What does it do?

Specifies an output format for the response.

Where does it go?

Indented under extract data from the source.

Is it required?

❌ No — This phrase is optional.

Does it require data?

✅ Yes — Replace x with a text value that is either "table" or "json".

Example

the output format is "table"
the dpi is x

What does it do?

Specifies the DPI (dots per inch).

Where does it go?

Indented under extract data from the source.

Is it required?

❌ No — This phrase is optional.

Does it require data?

✅ Yes — Replace x with a numeric value representing the DPI. The default is 100.

Example

the dpi is 144
the extraction mode is x

What does it do?

Specifies an extraction mode for the procedure.

Where does it go?

Indented under extract data from the source.

Is it required?

❌ No — This phrase is optional.

Does it require data?

✅ Yes — Replace x with "no ocr" to send the document image directly to the LLM, without its extracted text. This skips OCR and gives the LLM the raw visual input. This processing mode is quicker and usually just as accurate.

Example

the extraction mode is "no ocr"

Examples

1. Extract Multiple Fields from a Document

extract data from the document
    the dpi is 144
    the openai model is "gpt-4o-latest"
    the first field is "po number"
    the first field's format is "string"
    the first field's rule is "the po number has 10 characters"

    the second field is "due date"
    the second field's format is "date"
    the second field's rule is "format should be DD/MM/YY"

2. Extract Data from Text

the text is "The amount for the invoice number 123456 is Rs.1000."
extract data from the text
    the first field is "invoice numbers"
    the first field's format is "number"

    the second field is "invoice amount"
    the second field's format is "string"
    the second field's rule is "keep just the amount without the currency"

3. Extract Multiple Fields from Text (Using Default Values)

the text is "The invoice date is 21 jan 2023"
extract data from the text
    the gemini model is "gemini-2.0-flash"
    the common default value is 5678

    the first field is "invoice number"
    the first field's default value is 1234

    the second field is "invoice date"

    the third field is "invoice location"
    the third field's default value is "San Jose"

    the fourth field is "invoice amount"

Last updated

Was this helpful?