> ## Documentation Index
> Fetch the complete documentation index at: https://parabola.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Extract Data with AI

> Use AI to pull structured data from unstructured text, PDFs, emails, and documents. Define the fields you need and Parabola extracts them.

<Frame>
  <img src="https://mintcdn.com/parabola-7119dfb0/T25np0t98ZhrB8ru/images/transforms/extract-step-in-flow.png?fit=max&auto=format&n=T25np0t98ZhrB8ru&q=85&s=c084e136d6a27b417398310088efa518" alt="Canvas view showing an Extract with AI step inside a flow turning unstructured text into structured columns" width="1130" height="537" data-path="images/transforms/extract-step-in-flow.png" />
</Frame>

## Examples of extracting data with AI

* Processing a list of invoices and extracting the invoice amount, due date, sender, and more
* Taking a list of email addresses and extracting the domain (e.g., [gmail.com](http://gmail.com/))
* Taking inbound emails and extracting the sender, company, and request type

As you can tell from some of these examples, the AI can do some lightweight interpretation (e.g., naming a company from an email domain URL) as well as simple data extraction.

## How to use this step

<Frame caption="An open Extract with AI step">
  <img src="https://mintcdn.com/parabola-7119dfb0/T25np0t98ZhrB8ru/images/transforms/extract-with-ai.png?fit=max&auto=format&n=T25np0t98ZhrB8ru&q=85&s=3592d8b05816f84d0618ad506b52bacf" alt="Open Extract with AI step settings panel showing column selection and the new fields to extract" width="2460" height="1590" data-path="images/transforms/extract-with-ai.png" />
</Frame>

### Selecting what to evaluate

You start by selecting which columns you want the AI to evaluate to produce a result.

* **All columns:** the AI looks at every data column to find and extract the item it's looking for
* **These columns:** choose which column(s) the AI should try to extract data from
* **All columns except:** the AI looks at all columns except the ones you define

Note that even when the AI is looking at multiple (or all) columns, it's still only evaluating and generating a result per row.

### Identifying what to extract

The next part of this step serves two purposes simultaneously:

<Steps>
  <Step>
    Telling the AI what items you'd like to extract from the input data (e.g., 'full name')
  </Step>

  <Step>
    Naming the new column(s) that the extracted data will go into (e.g., a column named 'full name')
  </Step>
</Steps>

The step starts out with three blank fields; you can fill those and even add additional columns to extract data to. Don't need three? The step will automatically remove any blank ones, or you can remove them yourself.

(You can always rename or trim these columns later using other Parabola steps.)

### Fine tuning

Open the 'Fine tuning' drawer to see extra configuration options. Using this field, you can provide additional context or explanation to help the AI deliver the result you want.

<Frame>
  <img src="https://mintcdn.com/parabola-7119dfb0/T25np0t98ZhrB8ru/images/transforms/fine-tuning.png?fit=max&auto=format&n=T25np0t98ZhrB8ru&q=85&s=758fbaa056fb2fcf2856bf42b8c7e4fe" alt="Fine tuning drawer where you provide additional context to guide the AI's extraction" width="1266" height="909" data-path="images/transforms/fine-tuning.png" />
</Frame>

For example, if the AI was having trouble pulling 'Invoice number' from imported [invoice data](https://parabola.io/templates-detail/ingest-invoice-data-from-an-email-attachment), you might explain to it:

"Our invoice numbers tend to begin in 96 and are 12-15 digits long."

The AI would then better understand what you want to extract.

### Helpful tips

* **Row limits for AI steps:** AI steps can only reliably run a few thousand rows at once. **Extract with AI** has an upper limit of 100k rows, though runs above \~70k rows often fail. If you need to process more than 100k rows, use [Filter rows](/product/transform/filter-rows) to split your dataset and run smaller batches in parallel.
* Sometimes you'll see a response or error back instead of a result. Those responses are often generated by the AI, and can help you modify the prompt to get what you need.
* Still having trouble getting the response you expect? Often, adding more context in the 'Fine tuning' section fixes the problem.

***

<CardGroup cols={2}>
  <Card title="What is Prowork?" icon="wand-magic-sparkles" href="/product/overview/introduction-to-parabola">
    How Parabola's AI builder works — and how AI steps fit into full workflows.
  </Card>

  <Card title="Build a Flow with Prowork" icon="message-bot" href="/product/overview/build-a-flow">
    Describe what you need and Prowork constructs the steps, including AI steps.
  </Card>
</CardGroup>

## FAQ

<AccordionGroup>
  <Accordion title="What types of input does Extract with AI work best on?">
    This step works on any tabular data — including text columns that hold full email bodies, document text, transcripts, or other unstructured content. The AI looks at the columns you specify and pulls out a value per row for each field you define.
  </Accordion>

  <Accordion title="Why is the extracted value blank for some rows?">
    The AI returns a blank when it cannot confidently find the requested value in the source columns. Add more context in the 'Fine tuning' drawer (e.g., describe the format or location of the value) and re-run the step.
  </Accordion>

  <Accordion title="When should I use Extract with AI versus Extract text from column or Use regex?">
    If the value you want sits at a predictable position (e.g., always after the @ in an email), [Extract text from column](/product/transform/extract-text-from-column) or [Use regex](/product/transform/use-regex) are faster and deterministic. Use **Extract with AI** when the value's location varies row to row or requires interpretation.
  </Accordion>
</AccordionGroup>

## Related steps

* [Categorize with AI](/product/transform/categorize-with-ai)
* [Standardize with AI](/product/transform/standardize-with-ai)
* [Experiment with AI](/product/transform/experiment-with-ai)
* [Extract text from column](/product/transform/extract-text-from-column)
* [Use regex](/product/transform/use-regex)
