UiPath · Arazzo Workflow

UiPath Discover Extractors and Extract a Document

Version 1.0.0

Resolve a project, discover its extractors, digitize a document, and extract data with polling.

1 workflow 3 source APIs 1 provider
View Spec View on GitHub AutomationRobotic Process AutomationRPAArtificial IntelligenceDocument ProcessingEnterprise AutomationOrchestrationTestingArazzoWorkflows

Provider

uipath

Workflows

discover-and-extract-document
Resolve a project, discover extractors, digitize, and extract with polling.
Resolves a project by name, discovers its extractors, digitizes a document, and runs an async extraction with polling.
5 steps inputs: contentType, documentBase64, documentTypeId, projectName outputs: documentId, extractionResult, extractionStatus, projectId
1
findProject
List the available Document Understanding projects to resolve the project ID for the supplied project name.
2
discoverExtractors
List the extractors configured in the resolved project to confirm the target document type can be extracted.
3
digitize
Submit the document for digitization to obtain the document ID used by the extraction step.
4
startExtraction
Start an asynchronous extraction job for the digitized document using the supplied document type and capture the request ID for polling.
5
pollExtraction
Retrieve the extraction result by its request ID. Loop back while the job is still NotStarted or Running; otherwise record the final result.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: UiPath Discover Extractors and Extract a Document
  summary: Resolve a project, discover its extractors, digitize a document, and extract data with polling.
  description: >-
    A discovery-driven Document Understanding pipeline. The workflow lists the
    available projects to resolve a project by name, lists the extractors
    configured in that project to confirm a document type is supported, digitizes
    a document, and then runs an asynchronous extraction with polling until the
    fields are ready. The poll loop repeats while the async status is NotStarted
    or Running. Every step spells out its request inline so the flow can be read
    and executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: digitizationApi
  url: ../openapi/uipath-digitization-api-openapi.yml
  type: openapi
- name: discoveryApi
  url: ../openapi/uipath-discovery-api-openapi.yml
  type: openapi
- name: extractionApi
  url: ../openapi/uipath-extraction-api-openapi.yml
  type: openapi
workflows:
- workflowId: discover-and-extract-document
  summary: Resolve a project, discover extractors, digitize, and extract with polling.
  description: >-
    Resolves a project by name, discovers its extractors, digitizes a document,
    and runs an async extraction with polling.
  inputs:
    type: object
    required:
    - projectName
    - documentBase64
    - contentType
    - documentTypeId
    properties:
      projectName:
        type: string
        description: Display name of the Document Understanding project to resolve.
      documentBase64:
        type: string
        description: Base64-encoded document content to digitize.
      contentType:
        type: string
        description: MIME type of the document (e.g. image/jpeg, application/pdf).
      documentTypeId:
        type: string
        description: Document type identifier to apply during extraction.
  steps:
  - stepId: findProject
    description: >-
      List the available Document Understanding projects to resolve the project
      ID for the supplied project name.
    operationId: listProjects
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      projectId: $response.body#/projects/0/id
      projectName: $response.body#/projects/0/name
  - stepId: discoverExtractors
    description: >-
      List the extractors configured in the resolved project to confirm the
      target document type can be extracted.
    operationId: listExtractors
    parameters:
    - name: projectId
      in: path
      value: $steps.findProject.outputs.projectId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstExtractorId: $response.body#/extractors/0/id
  - stepId: digitize
    description: >-
      Submit the document for digitization to obtain the document ID used by the
      extraction step.
    operationId: digitizeDocument
    parameters:
    - name: projectId
      in: path
      value: $steps.findProject.outputs.projectId
    requestBody:
      contentType: application/json
      payload:
        contentType: $inputs.contentType
        documentBase64: $inputs.documentBase64
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      documentId: $response.body#/documentId
  - stepId: startExtraction
    description: >-
      Start an asynchronous extraction job for the digitized document using the
      supplied document type and capture the request ID for polling.
    operationId: extractDocumentAsync
    parameters:
    - name: projectId
      in: path
      value: $steps.findProject.outputs.projectId
    requestBody:
      contentType: application/json
      payload:
        documentId: $steps.digitize.outputs.documentId
        documentTypeId: $inputs.documentTypeId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      extractionRequestId: $response.body#/requestId
  - stepId: pollExtraction
    description: >-
      Retrieve the extraction result by its request ID. Loop back while the job
      is still NotStarted or Running; otherwise record the final result.
    operationId: getExtractionResult
    parameters:
    - name: projectId
      in: path
      value: $steps.findProject.outputs.projectId
    - name: requestId
      in: path
      value: $steps.startExtraction.outputs.extractionRequestId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      extractionStatus: $response.body#/status
      extractionResult: $response.body#/result
    onSuccess:
    - name: stillExtracting
      type: goto
      stepId: pollExtraction
      criteria:
      - context: $response.body
        condition: $.status == 'NotStarted' || $.status == 'Running'
        type: jsonpath
  outputs:
    projectId: $steps.findProject.outputs.projectId
    documentId: $steps.digitize.outputs.documentId
    extractionStatus: $steps.pollExtraction.outputs.extractionStatus
    extractionResult: $steps.pollExtraction.outputs.extractionResult

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/uipath-discover-and-extract-document-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.