Cross-Provider Workflow

Mindee OCR to Google Sheets Log

Version 1.0.0

Run OCR on a document with Mindee, then log the job to Google Sheets.

1 workflow 2 source APIs 2 providers
View Spec View on GitHub ArazzoWorkflowsCross-Provider

Providers Orchestrated

mindee google-sheets

Workflows

ocr-and-log
Run OCR with Mindee and log the job to Google Sheets.
Enqueues a document for OCR with Mindee, captures the returned job identifier and status, and appends them as a row to the target sheet range.
2 steps inputs: documentUrl, modelId, range, spreadsheetId outputs: jobId, updatedRange
1
ocr-document
$sourceDescriptions.mindeeApi.Enqueue_OCR_Product_Inference_v2_products_ocr_enqueue_post
Enqueue the document for OCR with Mindee.
2
log-job
$sourceDescriptions.googleSheetsApi.appendValues
Append the OCR job reference as a row in the Google Sheet.

Source API Descriptions

Arazzo Workflow Specification

ai-mindee-ocr-to-google-sheets-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Mindee OCR to Google Sheets Log
  summary: Run OCR on a document with Mindee, then log the job to Google Sheets.
  description: >-
    A cross-provider AI enrichment chain that enqueues a document for OCR with
    Mindee and appends the resulting job reference as a row in a Google Sheet.
    Demonstrates tracking document-OCR intake in a spreadsheet of record across
    two providers in one Arazzo workflow.
  version: 1.0.0
sourceDescriptions:
  - name: mindeeApi
    url: https://raw.githubusercontent.com/api-evangelist/mindee/refs/heads/main/openapi/mindee-ocr-api-openapi.yml
    type: openapi
  - name: googleSheetsApi
    url: https://raw.githubusercontent.com/api-evangelist/google-sheets/refs/heads/main/openapi/google-sheets-openapi.yml
    type: openapi
workflows:
  - workflowId: ocr-and-log
    summary: Run OCR with Mindee and log the job to Google Sheets.
    description: >-
      Enqueues a document for OCR with Mindee, captures the returned job
      identifier and status, and appends them as a row to the target sheet range.
    inputs:
      type: object
      properties:
        modelId:
          type: string
        documentUrl:
          type: string
        spreadsheetId:
          type: string
        range:
          type: string
    steps:
      - stepId: ocr-document
        description: Enqueue the document for OCR with Mindee.
        operationId: $sourceDescriptions.mindeeApi.Enqueue_OCR_Product_Inference_v2_products_ocr_enqueue_post
        requestBody:
          contentType: application/json
          payload:
            model_id: $inputs.modelId
            url: $inputs.documentUrl
        successCriteria:
          - condition: $statusCode == 202
        outputs:
          jobId: $response.body#/job/id
          jobStatus: $response.body#/job/status
      - stepId: log-job
        description: Append the OCR job reference as a row in the Google Sheet.
        operationId: $sourceDescriptions.googleSheetsApi.appendValues
        parameters:
          - name: spreadsheetId
            in: path
            value: $inputs.spreadsheetId
          - name: range
            in: path
            value: $inputs.range
          - name: valueInputOption
            in: query
            value: USER_ENTERED
        requestBody:
          contentType: application/json
          payload:
            values:
              - - $inputs.documentUrl
                - $steps.ocr-document.outputs.jobId
                - $steps.ocr-document.outputs.jobStatus
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          updatedRange: $response.body#/updates/updatedRange
    outputs:
      jobId: $steps.ocr-document.outputs.jobId
      updatedRange: $steps.log-job.outputs.updatedRange