YouTube Zapier integration: upload a video from a Zap
Zapier's YouTube integration has an Upload Video action. Map a public, direct file URL into its Video field to post a finished video from a Zap.

Zapier's YouTube integration can upload videos: its Upload Video action posts a video to your channel from a Zap, with Title, Description, and Video required, plus optional fields for privacy status and a publish time. To post a generated video, trigger it from the video service's webhook, check the delivery, and put the finished file's public URL in the Video field.
Zapier's fields and file rules are quoted from its YouTube integrations page and its help article on sending files; the Sume side comes from Run webhooks. All were read on 2026-09-28. Sume has no Zapier app; it sends a plain signed HTTPS POST.
What can Zapier's YouTube integration do?
Zapier lists these YouTube triggers and actions. The triggers poll: Zapier checks for new data every 15 minutes on the Free plan.
| Type | Name | What it does on YouTube |
|---|---|---|
| Action | Upload Video | Post a video to your channel |
| Action | Add Video to Playlist | Add a video to one of your playlists |
| Action | Update Video Thumbnail | Updates the thumbnail; needs a verified phone number |
| Search | Find Video | Search for videos by keywords, channel, date range, and more |
| Search | Get Report | A report on your owned and managed channels |
| Action | API Request (Beta) | A raw HTTP request that includes the integration's authentication |
| Trigger | New Video in Channel, New Video by Search, New Video in Playlist, New Comment on Video, New Live Stream | Start a Zap from channel activity |
How do I upload a generated video with a Zap?
Use one workflow that starts when the video is done. Zapier AI video automation builds it for a Sume run: a Catch Raw Hook trigger receives Sume's one signed POST, and a Code step checks the HMAC-SHA256 signature over <timestamp>.<raw_body> from the x-sume-webhook-signature header. Then add YouTube's Upload Video:
- Continue only when the check passed,
eventisformat.run.terminal, andstatusisOK, which means the run completed.ERRORmeans it failed. - Video: map
payload.primary_output_url, the finished file. - Title and Description: both required. Fill them from your own data or the run's output.
- Privacy status and publish time: optional fields on the action. YouTube's Videos resource accepts a publish time only on a private video that has never been published; see Can you schedule YouTube Shorts?.
- Also on the action: Thumbnail, Tags, Category, Made for kids, Notify subscribers, and localized titles.
- Dedupe on the envelope's
request_id. It equals the run id and stays the same on every retry, so a retried delivery must not post the video twice.
Which URL goes in the Video field?
The Video field needs a public, direct link to the file itself, not to a watch or preview page. Zapier's rules for file URLs, and the links it lists as failing, are in Zapier: upload a file to Google Drive. For a generated clip:
primary_output_urlis a durablemedia.sume.comHTTPS URL that does not expire and is public to anyone holding it. Test the Upload Video action on one real run's URL before you switch it on, and treat the URL as a secret until the video is live on YouTube.- The
/v1/videos/{jobId}/contentroute needs your API key in a header, which the Video field can't send. - A failed run's receipt can still carry files in
artifacts[], butprimary_output_urlstaysnullunless the runcompleted, so an empty Video field is a sign to checkstatus.
What are the limits for a YouTube upload through Zapier?
Zapier caps downloads from connected apps at 150 MB, so a video file above that size can fail in the Video field; upload those from code instead.
- Sume sends one webhook per run and inlines receipts up to 1 MiB. A larger one arrives with
payload: nulland aresult_urlto fetch, which you read with your key in a Webhooks by Zapier GET step. - If you'd rather make the upload yourself from code, Automate YouTube Shorts with AI calls the YouTube Data API directly.
Sources
Related posts
More in Integrations
- API Gateway 29 second timeout: calling a video API from Lambda
API Gateway REST APIs cut integrations at 29 seconds by default. Submit the video job, return 202, and take the result on a callback.
- Boost an Instagram Reel with the Meta ads MCP server
Meta's ads MCP server lists boost-eligible Instagram media with ads_get_ig_media and boosts one with ads_boost_ig_post. New ads start paused.
- Call n8n Workflow Tool not working: video sub-workflow
If an n8n agent says it couldn't run your sub-workflow, publish it: the tool returns 'Workflow is not active' outside the test panel. More checks inside.
- Can Notion send webhooks? Start an AI video job from a page
Yes: Notion's Send webhook action posts page properties to your URL, and integration webhooks report changes. Call Sume from your own endpoint.
Written by Sume