Cross-Provider Workflow

Place Search to Airtable Store

Version 1.0.0

Search an Amazon Location place index, then store the place in Airtable.

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

Providers Orchestrated

amazon-location-service airtable

Workflows

place-search-store-airtable
Search a place index and store the result in Airtable.
Geocodes free-form text against an Amazon Location place index, then creates an Airtable record capturing the search query.
2 steps inputs: baseId, indexName, searchText, tableIdOrName outputs: recordId, searchStatus
1
search-place
$sourceDescriptions.amazonLocationApi.SearchPlaceIndexForText
Geocode the free-form text against the place index.
2
store-place
$sourceDescriptions.airtableApi.createRecords
Store the searched place text into an Airtable record.

Source API Descriptions

Arazzo Workflow Specification

geo-amazon-location-search-airtable-store.yml Raw ↑
arazzo: 1.0.1
info:
  title: Place Search to Airtable Store
  summary: Search an Amazon Location place index, then store the place in Airtable.
  description: >-
    A geo search-and-capture workflow that geocodes free-form text against an Amazon
    Location Service place index and stores the discovered place into an Airtable base
    by creating a record. Demonstrates pairing a geospatial search provider with a
    no-code database provider for building point-of-interest catalogs.
  version: 1.0.0
sourceDescriptions:
  - name: amazonLocationApi
    url: https://raw.githubusercontent.com/api-evangelist/amazon-location-service/refs/heads/main/openapi/amazon-location-service-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: place-search-store-airtable
    summary: Search a place index and store the result in Airtable.
    description: >-
      Geocodes free-form text against an Amazon Location place index, then creates an
      Airtable record capturing the search query.
    inputs:
      type: object
      properties:
        indexName:
          type: string
        searchText:
          type: string
        baseId:
          type: string
        tableIdOrName:
          type: string
    steps:
      - stepId: search-place
        description: Geocode the free-form text against the place index.
        operationId: $sourceDescriptions.amazonLocationApi.SearchPlaceIndexForText
        parameters:
          - name: IndexName
            in: path
            value: $inputs.indexName
        requestBody:
          contentType: application/json
          payload:
            Text: $inputs.searchText
            MaxResults: 1
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          searchStatus: $statusCode
      - stepId: store-place
        description: Store the searched place text into an Airtable record.
        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:
                  Query: $inputs.searchText
                  IndexName: $inputs.indexName
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          recordId: $response.body#/records/0/id
    outputs:
      searchStatus: $steps.search-place.outputs.searchStatus
      recordId: $steps.store-place.outputs.recordId