Cross-Provider Workflow

YouTube Analytics Metrics to Airtable Sheet

Version 1.0.0

Query YouTube channel analytics, then write the metrics into an Airtable sheet.

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

Providers Orchestrated

youtube airtable

Workflows

youtube-metrics-to-airtable
Run a YouTube Analytics report, then log metrics to Airtable.
Queries the YouTube Analytics reports endpoint for views and estimated minutes watched over a date range, then records the result as an Airtable record for reporting.
2 steps inputs: baseId, endDate, ids, startDate, tableIdOrName outputs: recordId, rows
1
query-analytics
$sourceDescriptions.youtubeAnalyticsApi.youtubeAnalytics.reports.query
Run a YouTube Analytics report for views and watch time.
2
log-metrics
$sourceDescriptions.airtableApi.createRecords
Write the analytics metrics into an Airtable record.

Source API Descriptions

Arazzo Workflow Specification

soc-youtube-analytics-metrics-to-airtable-sheet-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: YouTube Analytics Metrics to Airtable Sheet
  summary: Query YouTube channel analytics, then write the metrics into an Airtable sheet.
  description: >-
    An engagement-metrics workflow that runs a YouTube Analytics report query for
    a channel and records the returned view and watch-time metrics as a row in an
    Airtable base. Demonstrates moving analytics data from a video platform into
    a spreadsheet-style database in a single Arazzo workflow.
  version: 1.0.0
sourceDescriptions:
  - name: youtubeAnalyticsApi
    url: https://raw.githubusercontent.com/api-evangelist/youtube/refs/heads/main/openapi/youtube-analytics-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: youtube-metrics-to-airtable
    summary: Run a YouTube Analytics report, then log metrics to Airtable.
    description: >-
      Queries the YouTube Analytics reports endpoint for views and estimated
      minutes watched over a date range, then records the result as an Airtable
      record for reporting.
    inputs:
      type: object
      properties:
        ids:
          type: string
        startDate:
          type: string
        endDate:
          type: string
        baseId:
          type: string
        tableIdOrName:
          type: string
    steps:
      - stepId: query-analytics
        description: Run a YouTube Analytics report for views and watch time.
        operationId: $sourceDescriptions.youtubeAnalyticsApi.youtubeAnalytics.reports.query
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          rows: $response.body#/rows
          columnHeaders: $response.body#/columnHeaders
      - stepId: log-metrics
        description: Write the analytics metrics into an Airtable record.
        operationId: $sourceDescriptions.airtableApi.createRecords
        requestBody:
          contentType: application/json
          payload:
            records:
              - fields:
                  StartDate: $inputs.startDate
                  EndDate: $inputs.endDate
                  Channel: $inputs.ids
                  Metrics: $steps.query-analytics.outputs.rows
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          recordId: $response.body#/records/0/id
    outputs:
      rows: $steps.query-analytics.outputs.rows
      recordId: $steps.log-metrics.outputs.recordId