Youtube · Arazzo Workflow

YouTube My Channel Uploads

Version 1.0.0

Resolve the authenticated user's uploads playlist, list its items, then batch-fetch video details.

1 workflow 1 source API 1 provider
View Spec View on GitHub GoogleMediaSocialStreamingVideoVideosArazzoWorkflows

Provider

youtube

Workflows

mine-channel-uploads
List the authenticated user's uploads and inspect the latest video.
Reads the authenticated user's channel to find the uploads playlist, lists the playlist items, and retrieves full video details for the most recent upload.
3 steps inputs: apiKey, maxResults outputs: latestVideoViewCount, uploads, uploadsPlaylistId
1
getMyChannel
youtube.channels.list
Read the authenticated user's channel and capture the uploads playlist id from contentDetails.relatedPlaylists.
2
listUploads
youtube.playlistItems.list
List the items in the uploads playlist and capture the first video id.
3
getVideoDetails
youtube.videos.list
Fetch full details and statistics for the most recent uploaded video.

Source API Descriptions

Arazzo Workflow Specification

youtube-mine-channel-uploads-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: YouTube My Channel Uploads
  summary: Resolve the authenticated user's uploads playlist, list its items, then batch-fetch video details.
  description: >-
    Surfaces a creator's own catalog. It reads the authenticated user's channel
    to obtain the uploads playlist id from contentDetails.relatedPlaylists, lists
    the items in that uploads playlist, and then fetches full video details for
    the first uploaded video. Every step spells out its request inline so the
    flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: youtubeDataApi
  url: ../openapi/youtube-data-api-openapi.yml
  type: openapi
workflows:
- workflowId: mine-channel-uploads
  summary: List the authenticated user's uploads and inspect the latest video.
  description: >-
    Reads the authenticated user's channel to find the uploads playlist, lists
    the playlist items, and retrieves full video details for the most recent
    upload.
  inputs:
    type: object
    required:
    - apiKey
    properties:
      apiKey:
        type: string
        description: The Google API key used to authorize each YouTube Data API request.
      maxResults:
        type: integer
        description: Maximum number of uploads to list.
        default: 25
  steps:
  - stepId: getMyChannel
    description: >-
      Read the authenticated user's channel and capture the uploads playlist id
      from contentDetails.relatedPlaylists.
    operationId: youtube.channels.list
    parameters:
    - name: part
      in: query
      value: snippet,contentDetails
    - name: mine
      in: query
      value: true
    - name: key
      in: query
      value: $inputs.apiKey
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      uploadsPlaylistId: $response.body#/items/0/contentDetails/relatedPlaylists/uploads
      channelTitle: $response.body#/items/0/snippet/title
  - stepId: listUploads
    description: List the items in the uploads playlist and capture the first video id.
    operationId: youtube.playlistItems.list
    parameters:
    - name: part
      in: query
      value: snippet,contentDetails
    - name: playlistId
      in: query
      value: $steps.getMyChannel.outputs.uploadsPlaylistId
    - name: maxResults
      in: query
      value: $inputs.maxResults
    - name: key
      in: query
      value: $inputs.apiKey
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      items: $response.body#/items
      firstVideoId: $response.body#/items/0/contentDetails/videoId
  - stepId: getVideoDetails
    description: Fetch full details and statistics for the most recent uploaded video.
    operationId: youtube.videos.list
    parameters:
    - name: part
      in: query
      value: snippet,statistics
    - name: id
      in: query
      value: $steps.listUploads.outputs.firstVideoId
    - name: key
      in: query
      value: $inputs.apiKey
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      viewCount: $response.body#/items/0/statistics/viewCount
  outputs:
    uploadsPlaylistId: $steps.getMyChannel.outputs.uploadsPlaylistId
    uploads: $steps.listUploads.outputs.items
    latestVideoViewCount: $steps.getVideoDetails.outputs.viewCount