Cross-Provider Workflow

Airtable Queue Cross-Post to YouTube and TikTok

Version 1.0.0

Read the next item from an Airtable queue, then cross-post it to YouTube and TikTok.

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

Providers Orchestrated

airtable youtube tiktok-for-developers

Workflows

cross-post-youtube-tiktok
List Airtable queue item, post to YouTube, then publish to TikTok.
Lists the next queued Airtable item, inserts it as a YouTube video, then initiates a TikTok publish from the same source URL for cross-platform syndication.
3 steps inputs: baseId, description, tableIdOrName, title, videoUrl outputs: publishId, queueRecordId, videoId
1
list-queue
$sourceDescriptions.airtableApi.listRecords
List the next queued item from the Airtable base.
2
post-youtube
$sourceDescriptions.youtubeDataApi.youtube.videos.insert
Insert the queued item as a YouTube video.
3
post-tiktok
$sourceDescriptions.tiktokContentApi.initVideoPublish
Initiate a TikTok publish from the same source URL.

Source API Descriptions

Arazzo Workflow Specification

soc-airtable-queue-cross-post-youtube-tiktok-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Airtable Queue Cross-Post to YouTube and TikTok
  summary: Read the next item from an Airtable queue, then cross-post it to YouTube and TikTok.
  description: >-
    A cross-posting workflow that lists the next queued item from an Airtable
    base, publishes it as a YouTube video, and simultaneously initiates a TikTok
    video publish from the same source. Demonstrates syndicating one piece of
    content to two social platforms from a single queue in one Arazzo workflow.
  version: 1.0.0
sourceDescriptions:
  - name: airtableApi
    url: https://raw.githubusercontent.com/api-evangelist/airtable/refs/heads/main/openapi/airtable-airtable-api-openapi.yml
    type: openapi
  - name: youtubeDataApi
    url: https://raw.githubusercontent.com/api-evangelist/youtube/refs/heads/main/openapi/youtube-data-api-openapi.yml
    type: openapi
  - name: tiktokContentApi
    url: https://raw.githubusercontent.com/api-evangelist/tiktok-for-developers/refs/heads/main/openapi/tiktok-content-posting-openapi.yml
    type: openapi
workflows:
  - workflowId: cross-post-youtube-tiktok
    summary: List Airtable queue item, post to YouTube, then publish to TikTok.
    description: >-
      Lists the next queued Airtable item, inserts it as a YouTube video, then
      initiates a TikTok publish from the same source URL for cross-platform
      syndication.
    inputs:
      type: object
      properties:
        baseId:
          type: string
        tableIdOrName:
          type: string
        title:
          type: string
        description:
          type: string
        videoUrl:
          type: string
    steps:
      - stepId: list-queue
        description: List the next queued item from the Airtable base.
        operationId: $sourceDescriptions.airtableApi.listRecords
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          queueRecordId: $response.body#/records/0/id
      - stepId: post-youtube
        description: Insert the queued item as a YouTube video.
        operationId: $sourceDescriptions.youtubeDataApi.youtube.videos.insert
        requestBody:
          contentType: application/json
          payload:
            snippet:
              title: $inputs.title
              description: $inputs.description
              categoryId: "22"
            status:
              privacyStatus: public
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          videoId: $response.body#/id
      - stepId: post-tiktok
        description: Initiate a TikTok publish from the same source URL.
        operationId: $sourceDescriptions.tiktokContentApi.initVideoPublish
        requestBody:
          contentType: application/json
          payload:
            post_info:
              title: $inputs.title
              privacy_level: PUBLIC_TO_EVERYONE
            source_info:
              source: PULL_FROM_URL
              video_url: $inputs.videoUrl
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          publishId: $response.body#/data/publish_id
    outputs:
      queueRecordId: $steps.list-queue.outputs.queueRecordId
      videoId: $steps.post-youtube.outputs.videoId
      publishId: $steps.post-tiktok.outputs.publishId