Cross-Provider Workflow

RDS Instance Inventory to Airtable

Version 1.0.0

Describe an Amazon RDS instance, then record its inventory in Airtable.

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

Providers Orchestrated

amazon-rds airtable

Workflows

describe-and-inventory
Describe an RDS instance and record it in Airtable.
Describes an Amazon RDS DB instance, then creates an Airtable record capturing the instance identifier for inventory.
2 steps inputs: baseId, dbInstanceIdentifier, tableIdOrName outputs: describeStatus, recordId
1
describe-instance
$sourceDescriptions.amazonRdsApi.describeDBInstances
Describe the Amazon RDS database instance.
2
inventory-record
$sourceDescriptions.airtableApi.createRecords
Record the RDS instance details in Airtable.

Source API Descriptions

Arazzo Workflow Specification

geo-amazon-rds-describe-airtable-inventory.yml Raw ↑
arazzo: 1.0.1
info:
  title: RDS Instance Inventory to Airtable
  summary: Describe an Amazon RDS instance, then record its inventory in Airtable.
  description: >-
    A high-value cross-domain inventory workflow that describes an Amazon RDS database
    instance and records its details into an Airtable base for asset tracking.
    Demonstrates pairing a managed database provider with a no-code database provider to
    build a queryable infrastructure inventory.
  version: 1.0.0
sourceDescriptions:
  - name: amazonRdsApi
    url: https://raw.githubusercontent.com/api-evangelist/amazon-rds/refs/heads/main/openapi/amazon-rds-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
workflows:
  - workflowId: describe-and-inventory
    summary: Describe an RDS instance and record it in Airtable.
    description: >-
      Describes an Amazon RDS DB instance, then creates an Airtable record capturing the
      instance identifier for inventory.
    inputs:
      type: object
      properties:
        dbInstanceIdentifier:
          type: string
        baseId:
          type: string
        tableIdOrName:
          type: string
    steps:
      - stepId: describe-instance
        description: Describe the Amazon RDS database instance.
        operationId: $sourceDescriptions.amazonRdsApi.describeDBInstances
        parameters:
          - name: DBInstanceIdentifier
            in: query
            value: $inputs.dbInstanceIdentifier
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          describeStatus: $statusCode
      - stepId: inventory-record
        description: Record the RDS instance details in Airtable.
        operationId: $sourceDescriptions.airtableApi.createRecords
        parameters:
          - name: baseId
            in: path
            value: $inputs.baseId
          - name: tableIdOrName
            in: path
            value: $inputs.tableIdOrName
        requestBody:
          contentType: application/json
          payload:
            records:
              - fields:
                  InstanceId: $inputs.dbInstanceIdentifier
                  Source: amazon-rds
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          recordId: $response.body#/records/0/id
    outputs:
      describeStatus: $steps.describe-instance.outputs.describeStatus
      recordId: $steps.inventory-record.outputs.recordId