Cross-Provider Workflow

Airtable Calendar to TikTok Publish and SendGrid Email

Version 1.0.0

Read the next item from an Airtable content calendar, publish it to TikTok, then email the team via SendGrid.

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

Providers Orchestrated

airtable tiktok-for-developers sendgrid

Workflows

airtable-calendar-to-tiktok-publish
List Airtable calendar item, publish to TikTok, email via SendGrid.
Lists the next item from an Airtable content calendar, initiates a TikTok video publish using its video URL, then emails the team a SendGrid confirmation with the publish id.
3 steps inputs: baseId, tableIdOrName, teamEmail, title, videoUrl outputs: emailStatus, nextRecordId, publishId
1
list-calendar
$sourceDescriptions.airtableApi.listRecords
List the next scheduled item from the Airtable content calendar.
2
publish-tiktok
$sourceDescriptions.tiktokContentApi.initVideoPublish
Initiate a TikTok video publish for the calendar item.
3
email-team
$sourceDescriptions.sendgridApi.SendMail
Email the team a publish confirmation via SendGrid.

Source API Descriptions

Arazzo Workflow Specification

soc-airtable-calendar-to-tiktok-publish-sendgrid-email-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Airtable Calendar to TikTok Publish and SendGrid Email
  summary: Read the next item from an Airtable content calendar, publish it to TikTok, then email the team via SendGrid.
  description: >-
    A content calendar workflow that lists the next scheduled item from an
    Airtable base, initiates a TikTok video publish for that item, and emails the
    team a confirmation through SendGrid Mail Send. Demonstrates driving a social
    publish from a spreadsheet-style calendar and confirming via transactional
    email 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: tiktokContentApi
    url: https://raw.githubusercontent.com/api-evangelist/tiktok-for-developers/refs/heads/main/openapi/tiktok-content-posting-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: airtable-calendar-to-tiktok-publish
    summary: List Airtable calendar item, publish to TikTok, email via SendGrid.
    description: >-
      Lists the next item from an Airtable content calendar, initiates a TikTok
      video publish using its video URL, then emails the team a SendGrid
      confirmation with the publish id.
    inputs:
      type: object
      properties:
        baseId:
          type: string
        tableIdOrName:
          type: string
        videoUrl:
          type: string
        title:
          type: string
        teamEmail:
          type: string
    steps:
      - stepId: list-calendar
        description: List the next scheduled item from the Airtable content calendar.
        operationId: $sourceDescriptions.airtableApi.listRecords
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          nextRecordId: $response.body#/records/0/id
      - stepId: publish-tiktok
        description: Initiate a TikTok video publish for the calendar item.
        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
      - stepId: email-team
        description: Email the team a publish confirmation via SendGrid.
        operationId: $sourceDescriptions.sendgridApi.SendMail
        requestBody:
          contentType: application/json
          payload:
            personalizations:
              - to:
                  - email: $inputs.teamEmail
                subject: TikTok calendar item published
            from:
              email: [email protected]
            content:
              - type: text/plain
                value: Airtable item $steps.list-calendar.outputs.nextRecordId published to TikTok as $steps.publish-tiktok.outputs.publishId
        successCriteria:
          - condition: $statusCode == 202
        outputs:
          emailStatus: $statusCode
    outputs:
      nextRecordId: $steps.list-calendar.outputs.nextRecordId
      publishId: $steps.publish-tiktok.outputs.publishId
      emailStatus: $steps.email-team.outputs.emailStatus