Skip to main content

AI - Document Parser in Power Automate

What this action does

PDF4me AI - Document Parser runs a saved Analyzer from the PDF4me dashboard against any document and returns the extracted data as Parsed Document Data dynamic JSON inside a Power Automate flow. One action covers invoices, purchase orders, receipts, contracts, lab reports, ID cards, or any custom form, just point Customisation Note at the matching Analyzer Id (Parse for a single schema, Classify for many document variants). Fields land as individually mappable tokens you can drop into SharePoint, Excel, Dataverse, Outlook, or any downstream Microsoft 365 step.

Related Blog Posts
No blog post yet for this feature — coming soon.
In the meantime, browse the PDF4me blog for tutorials and workflows across every platform.
Visit the blog →

Authenticating Your API Request

To call PDF4me through Power Automate, the flow needs a valid PDF4me API key on the PDF4me Connect connector. Get or rotate your key from the developer dashboard.

Important Facts You Should Not Miss

The Analyzer lives in the dashboard, the flow just references it
You define the schema (fields, types, descriptions) once in the PDF4me AI Document Parser dashboard. The Power Automate action reads Customisation Note to pick which Analyzer to run. Change the Analyzer schema later and every flow pointing at the same Id picks it up immediately, no flow rebuild.
Parsed Document Data is fully dynamic JSON
The output object has one property per field defined in your Analyzer schema. Power Automate exposes those properties directly in the dynamic content panel of every downstream action. No Parse JSON step required.
Parse vs Classify is decided by the Analyzer, not the action
Same action, two analyzer modes. A Parse Analyzer returns the fields from its single schema. A Classify Analyzer routes the document to the best-matching Schema and returns its Classification Name plus the matched Schema's extracted fields. Switch behaviour by switching the Analyzer Id in Customisation Note.
Power Automate PDF4me AI - Document Parser action with File Content mapped from a previous file action, File Name Test.pdf, and Advanced parameters expanded with Customisation Note set to ABC referencing a saved Analyzer in the PDF4me dashboard

AI - Document Parser action. Three fields: File Content, File Name, and (under Advanced parameters) Customisation Note pointing at your saved Analyzer Id.

Parameters

Required in the action: File Content (binary), File Name (string with extension), and Customisation Note (the Analyzer Id from the PDF4me dashboard, lives under Advanced parameters but is effectively required, the action has nothing to extract against without it).

ParameterRequiredWhat it doesExample
File ContentYesBinary content of the source document. Map from a previous Get file content step (SharePoint, OneDrive, Outlook attachment, Dropbox, or any cloud-storage connector that exposes raw bytes).File Content
File NameYesSource document filename with extension. Used for format detection and for tracking the call in logs. Accepts .pdf, .png, .jpg, .jpeg.Test.pdf
Customisation NoteYes (Advanced)The Analyzer Id you created in the PDF4me AI Document Parser dashboard. Decides which schema is applied to the document. Use a Parse Analyzer Id when you have one schema; use a Classify Analyzer Id when you have several document variants and want the AI to pick.ABC

Customisation Note: how Analyzer Ids map to behaviour

Parse Analyzer IdOne schema, extracts the fields you defined
Best when every document you process shares the same layout family (e.g. only your own invoices). Output JSON contains exactly the properties you described in fields on the Analyzer.
Classify Analyzer IdMany schemas, routes and extracts in one call
Best when one flow must handle several variants (Client ABC, Client XYZ, generic invoice). The AI matches the incoming PDF to the most fitting Schema by its Classification Prompt, then returns the matched Classification Name plus that Schema's extracted fields.

Output

The action returns Parsed Document Data as dynamic JSON. Every property defined in your Analyzer schema appears as an individually mappable token in the dynamic content panel of every downstream action. Response headers also carry standard Power Automate routing metadata.

Raw output of the AI - Document Parser action shown in the Power Automate run history. statusCode 200, standard headers with Content-Type application/json, and a body object with dynamic properties such as customerName, customerAddress, customerCity, serviceOrder, salesOrder, dateCallIn, dateSchedule, and itemsTable. The exact properties depend on the Analyzer schema.

Run history view of a successful response. The body schema is fully dynamic, every key matches a field in your Analyzer.

OutputTypeWhat it contains
statusCodeInteger200 on success, 400 for a malformed request body, 500 on a server-side error.
headersObjectStandard Power Automate / Microsoft routing headers, including Content-Type application/json.
Parsed Document DataDynamic JSONThe body object. One property per field defined in your Analyzer schema (string, number, date, or nested table). For Classify Analyzers, the Classification Name of the matched Schema is also present.

Quick Setup

  1. Build your Analyzer first. Open the AI Document Parser dashboard, click + Add, type a clear Analyzer Id, pick Parse or Classify, save the row, then add a Document Schema describing the fields you want extracted. See the Parse setup guide or Classify setup guide for the full walkthrough.
  2. In your Power Automate flow click + New step, search PDF4me, pick AI - Document Parser.
  3. Sign in to PDF4me Connect with your API key.
  4. File Content. Map from a previous Get file content step (SharePoint, OneDrive, Outlook attachment, Dropbox, or any cloud-storage connector).
  5. File Name. Map the source filename with extension (Test.pdf, invoice.png, etc).
  6. Advanced parametersCustomisation Note. Type the Analyzer Id from step 1 (for example ABC, client_invoices, or purchase order parser).
  7. Save the flow and test. The action returns Parsed Document Data with one property per field in your schema. Map fields into the next step using the dynamic content panel.

Workflow Examples

Workflow ExamplesOpen by default. Four common AI - Document Parser patterns in a 2x2 grid.
Vendor invoices to SharePoint list
  1. Trigger on new file in a SharePoint Incoming Invoices library.
  2. Get file content for the new PDF.
  3. Run AI - Document Parser with Customisation Note set to your Parse Analyzer Id invoice_parser.
  4. SharePoint Create item in the AP list with InvoiceNumber, VendorName, TotalAmount, DueDate mapped from the dynamic JSON.

Impact: Manual data entry replaced by zero-touch AP intake.

Mixed-vendor inbox with Classify
  1. Outlook When a new email arrives with attachment trigger.
  2. Get attachment content as binary.
  3. Run AI - Document Parser with Customisation Note set to a Classify Analyzer Id (client_invoices) holding one Schema per vendor.
  4. Switch on the returned Classification Name and route Client ABC fields to one Dataverse table, Client XYZ to another.

Impact: One Power Automate flow handles every vendor without manual sorting.

Purchase orders to Excel for review
  1. Trigger on new PDF in a Dropbox PO inbox.
  2. Get file content.
  3. Run AI - Document Parser with Customisation Note set to purchase order parser.
  4. Excel Add a row to a table with SalesOrderNumber, AgentName, OrderDate, TotalAmount mapped from the response.

Impact: Operations team sees every PO without opening a single PDF.

Customer onboarding form to Dynamics 365
  1. Power Automate When a HTTP request is received trigger from your portal.
  2. Decode the uploaded PDF.
  3. Run AI - Document Parser with Customisation Note set to a Parse Analyzer Id you built for your custom onboarding form.
  4. Dataverse Add a new row for a Contact, mapping CompanyName, ContactPerson, Email, TaxId, BillingAddress directly.

Impact: Customer self-service onboarding without manual CRM entry.

Frequently Asked Questions

What is the difference between AI - Document Parser and AI-Invoice Parser?+
AI-Invoice Parser uses a fixed schema tuned for invoices (vendor, line items, totals, dates). AI - Document Parser is schema-driven: it runs whatever Analyzer you reference by Customisation Note, built once in the PDF4me dashboard. The same action handles purchase orders, receipts, contracts, custom forms, lab results, ID cards, or anything else you describe in a schema. Pick AI - Document Parser whenever you need flexibility or a non-invoice document type.
Where do I build the Analyzer?+
In the PDF4me developer dashboard at the AI Document Parser page. Two analyzer types: Parse (one schema, returns extracted fields) and Classify (many schemas, one per document variant, returns the matched Classification Name plus that Schema fields). Once saved you reference the Analyzer Id from the Customisation Note field in this action.
What does Customisation Note actually do?+
Customisation Note tells the action which saved Analyzer to apply to your document. Type the Analyzer Id you created in the dashboard (for example ABC, client_invoices, or purchase order parser). The Analyzer schema controls every extracted field; changing this single value lets one Power Automate flow handle multiple document types.
What format is the output and how do I map fields downstream?+
Parsed Document Data is dynamic JSON with one property per field defined in your schema. In SharePoint Create item, Excel Add a row, Dataverse Add a new row, or any downstream action, pick the matching property from the dynamic content panel and drop it into the target column. No Parse JSON step needed.
Which file types does the action accept?+
PDF, PNG, JPG, and JPEG. The Get file content action of any cloud-storage connector that exposes binary file bytes can feed AI - Document Parser. Scanned PDFs work because the AI engine handles OCR internally.
Can one flow process several document variants in one run?+
Yes, with a Classify Analyzer. Build one Classify Analyzer with one Schema per variant (Client ABC, Client XYZ, generic invoice). The AI picks the best-matching Schema at runtime and the action returns its fields plus the Classification Name. Switch on the Classification Name in a Power Automate switch step to route each result to the right downstream destination.
What happens on failure?+
Status code 400 means the request body was malformed (missing File Content, invalid filename, or an Analyzer Id that does not exist in your account). Status code 500 means a transient server-side error, your flow should retry. Use a Try / Catch / Finally scope around the action for production-grade error handling.
Will the same Analyzer work from Make, Zapier, n8n, or the REST API?+
Yes. The Analyzer Id is shared across every platform. Once you save an Analyzer in the dashboard you can call it from Power Automate, Make, Zapier, n8n, or the REST API by passing the same Id. Schema changes propagate to every platform without rewiring.

Same Task on Other Platforms

Get Help