Cross-Provider Workflow

Mindee Document Extraction to Airtable and Email

Version 1.0.0

Extract a document with Mindee, store it in Airtable, then email a confirmation.

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

Providers Orchestrated

mindee airtable sendgrid

Workflows

extract-store-notify
Parse a document with Mindee, store it in Airtable, then email a receipt.
Enqueues a document for extraction with Mindee, records the returned inference identifier in Airtable, and sends a confirmation email via SendGrid.
3 steps inputs: baseId, documentUrl, modelId, recipientEmail, tableIdOrName outputs: jobId, mailStatus, recordId
1
extract-document
$sourceDescriptions.mindeeApi.Enqueue_Extraction_Product_Inference_v2_products_extraction_enqueue_post
Enqueue the document for extraction with Mindee.
2
store-record
$sourceDescriptions.airtableApi.createRecords
Create an Airtable record referencing the extraction job.
3
email-confirmation
$sourceDescriptions.sendgridApi.SendMail
Email a confirmation that the document was received.

Source API Descriptions

Arazzo Workflow Specification

ai-mindee-extract-to-airtable-email-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Mindee Document Extraction to Airtable and Email
  summary: Extract a document with Mindee, store it in Airtable, then email a confirmation.
  description: >-
    A cross-provider AI enrichment chain that parses an uploaded document with
    Mindee's extraction API, writes the parsed result into Airtable as a record,
    and emails a confirmation through SendGrid. Demonstrates a document-intake
    pipeline spanning three 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-extraction-api-openapi.yml
    type: openapi
  - name: airtableApi
    url: https://raw.githubusercontent.com/api-evangelist/airtable/refs/heads/main/openapi/airtable-airtable-api-openapi.yml
    type: openapi
  - name: sendgridApi
    url: https://raw.githubusercontent.com/api-evangelist/sendgrid/refs/heads/main/openapi/tsg_mail_v3.yaml
    type: openapi
workflows:
  - workflowId: extract-store-notify
    summary: Parse a document with Mindee, store it in Airtable, then email a receipt.
    description: >-
      Enqueues a document for extraction with Mindee, records the returned
      inference identifier in Airtable, and sends a confirmation email via
      SendGrid.
    inputs:
      type: object
      properties:
        modelId:
          type: string
        documentUrl:
          type: string
        baseId:
          type: string
        tableIdOrName:
          type: string
        recipientEmail:
          type: string
    steps:
      - stepId: extract-document
        description: Enqueue the document for extraction with Mindee.
        operationId: $sourceDescriptions.mindeeApi.Enqueue_Extraction_Product_Inference_v2_products_extraction_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: store-record
        description: Create an Airtable record referencing the extraction job.
        operationId: $sourceDescriptions.airtableApi.createRecords
        requestBody:
          contentType: application/json
          payload:
            records:
              - fields:
                  Document: $inputs.documentUrl
                  JobId: $steps.extract-document.outputs.jobId
                  Status: $steps.extract-document.outputs.jobStatus
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          recordId: $response.body#/records/0/id
      - stepId: email-confirmation
        description: Email a confirmation that the document was received.
        operationId: $sourceDescriptions.sendgridApi.SendMail
        requestBody:
          contentType: application/json
          payload:
            personalizations:
              - to:
                  - email: $inputs.recipientEmail
                subject: Document received
            from:
              email: [email protected]
            content:
              - type: text/plain
                value: "Your document has been received and queued for extraction."
        successCriteria:
          - condition: $statusCode == 202
        outputs:
          mailStatus: $statusCode
    outputs:
      jobId: $steps.extract-document.outputs.jobId
      recordId: $steps.store-record.outputs.recordId
      mailStatus: $steps.email-confirmation.outputs.mailStatus