diff --git a/communication/youtube/obs/streaming-key.md b/communication/youtube/obs/streaming-key.md deleted file mode 100644 index 7e7a77cf632..00000000000 --- a/communication/youtube/obs/streaming-key.md +++ /dev/null @@ -1,20 +0,0 @@ -# Obtaining a streaming key - -Streaming keys are privileged and should only be given out to trusted Community members that have shadowed an existing community streamer. To minimize the risk of malicious or accidental use of streaming keys, a unique streaming key should be generated for each instance of a community-streamed event. - -* Go to YouTube and switch to the Kubernetes user -* Click the icon in the top right that is a "camera with a plus sign" -* Click "Go Live" -* Set up the stream - * If you're streaming a recurring stream, you can pick copy a previous stream. - * If not click "NEW STREAM" - * Fill out the form - * Ensure "No it's not made for kids" is selected - * Optional: If you have a thumbnail to use, upload a custom thumbnail - * Click "CREATE STREAM" - * Ensure the stream date/time is correctly configured. -* The stream is now set up and you should see the [YouTube stream dashboard]. - * To view the stream key, click the "eye" icon next to the stream key. - * To copy the stream key, click the "COPY" button next to the stream key field. - -[YouTube stream dashboard]: ./youtube-stream-dashboard.png \ No newline at end of file diff --git a/communication/youtube/obs/wizard-screenshots/obs-1.png b/communication/youtube/obs/wizard-screenshots/obs-1.png deleted file mode 100644 index dd37f6783b8..00000000000 Binary files a/communication/youtube/obs/wizard-screenshots/obs-1.png and /dev/null differ diff --git a/communication/youtube/obs/wizard-screenshots/obs-2.png b/communication/youtube/obs/wizard-screenshots/obs-2.png deleted file mode 100644 index cfb853366aa..00000000000 Binary files a/communication/youtube/obs/wizard-screenshots/obs-2.png and /dev/null differ diff --git a/communication/youtube/obs/wizard-screenshots/obs-3.png b/communication/youtube/obs/wizard-screenshots/obs-3.png deleted file mode 100644 index 7028972f8d3..00000000000 Binary files a/communication/youtube/obs/wizard-screenshots/obs-3.png and /dev/null differ diff --git a/communication/youtube/obs/wizard-screenshots/obs-4.png b/communication/youtube/obs/wizard-screenshots/obs-4.png deleted file mode 100644 index 95e46ca741f..00000000000 Binary files a/communication/youtube/obs/wizard-screenshots/obs-4.png and /dev/null differ diff --git a/communication/youtube/obs/wizard-screenshots/obs-5.png b/communication/youtube/obs/wizard-screenshots/obs-5.png deleted file mode 100644 index d45d439ed60..00000000000 Binary files a/communication/youtube/obs/wizard-screenshots/obs-5.png and /dev/null differ diff --git a/communication/youtube/obs/wizard-screenshots/obs-6.png b/communication/youtube/obs/wizard-screenshots/obs-6.png deleted file mode 100644 index 99fb956104d..00000000000 Binary files a/communication/youtube/obs/wizard-screenshots/obs-6.png and /dev/null differ diff --git a/communication/youtube/obs/youtube-stream-dashboard.png b/communication/youtube/obs/youtube-stream-dashboard.png deleted file mode 100644 index 7833a43c684..00000000000 Binary files a/communication/youtube/obs/youtube-stream-dashboard.png and /dev/null differ diff --git a/communication/youtube/youtube-publish-automation.md b/communication/youtube/youtube-publish-automation.md new file mode 100644 index 00000000000..13478a03d81 --- /dev/null +++ b/communication/youtube/youtube-publish-automation.md @@ -0,0 +1,165 @@ +# Zapier Integration Playbook: Standard Operating Procedure + +## 1. Overview + +**Workflow Name:** +Zaps: Zoom Recording to Google Drive & YouTube + +**Template:** +https://zapier.com/shared/1cf48789b958c3e2bf8cae14ed25c6943f193a7f + +**Purpose:** +Automates the flow of Zoom cloud recordings into Google Drive for backup, and then uploads them to YouTube, assigning them to the correct playlist. + +**Owner:** +[@youtube-admins](https://github.com/kubernetes/community/blob/master/communication/moderators.md#owners) + +**Last Updated:** +Oct 29, 2025, 09:15 AM CET + + +## 2. Workflow Diagram + +**High-level visual sequence:** + +1. Zoom: Detects new cloud recording +2. Formatter: Normalizes the recording date +3. Google Drive: Uploads the file to a shared drive folder +4. YouTube: Uploads the video with title, description, and privacy settings +5. YouTube: Adds uploaded video into the correct playlist + +![Zapier Workflow Diagram](zapier-workflow-for-k8s-community-youtube.png) + + +## 3. Step-by-Step Breakdown & Rebuild + +**Template:** +https://zapier.com/shared/1cf48789b958c3e2bf8cae14ed25c6943f193a7f + +**Zap Name:** +[SIG-NAME]-Integration: Zoom Recording → Google Drive → YouTube + +### 3.1 Trigger – Zoom + +- **App:** Zoom (v2.24.7) +- **Event:** New Cloud Recording + +**Setup inside Zapier:** +- Connect the correct Zoom account +- Choose trigger: New Cloud Recording +- Configure filters if needed (e.g., only for your user or specific meeting topics) +- Test trigger: Zapier should return a sample recording object + +**Fields to note:** +- Recording Start Time → used in Formatter step +- Download URL → used later for file upload + + +### 3.2 Action – Formatter by Zapier (Date/Time) + +- **App:** Formatter by Zapier +- **Event:** Date/Time → Format + +**Setup inside Zapier:** +- Input: Recording Start Time (from Zoom) +- From Format: Auto-detect +- To Format: YYYY-MM-DD + +**Example Output:** +2025-09-04 +(This clean date string will be inserted into file names and YouTube titles.) + + +### 3.3 Action – Google Drive (Upload File) + +- **App:** Google Drive +- **Event:** Upload File + +**Setup inside Zapier:** +- Connect Google Drive account +- Folder: Select destination folder (e.g., `/Team/Meetings/Recordings/`) +- File: Map Zoom’s Download URL +- File Name: `WG Node Lifecycle Meeting – {{Formatter Output}}.mp4` +- Test: Zapier should upload a sample file into your Drive folder + + +### 3.4 Action – YouTube (Upload Video) + +- **App:** YouTube +- **Event:** Upload Video + +**Setup inside Zapier:** +- Connect your YouTube channel +- Video File: Map to the Google Drive file from Step 3 +- Title: `WG Node Lifecycle Meeting – {{Formatter Output}}` +- Description: (Include structured details, e.g.) + - Weekly WG Node Lifecycle meeting + - Date: {{Formatter Output}} + - Agenda: + - Updates + - Open issues + - Next steps +- Privacy: Choose Public / Unlisted / Private +- Tags: (Optional, e.g., Kubernetes, Working Group, Node Lifecycle) + + +### 3.5 Action – YouTube (Add Video to Playlist) + +- **App:** YouTube +- **Event:** Add Video to Playlist + +**Setup inside Zapier:** +- Playlist: Select the target playlist (e.g., WG Node Lifecycle Meetings) +- Video: Map video ID from Step 4 (YouTube Upload) + + +## 4. Testing the Zap + +- Run the Zap manually with a sample Zoom recording +- Confirm: + - File appears in Google Drive with correct filename + - Video uploads to YouTube with correct title, description, privacy + - Video appears in the right playlist + + +## 5. Error Handling + +- **Large files:** If file upload fails, check Zoom → Drive connection limits +- **Retries:** Zapier retries failed steps automatically; confirm retry settings +- **Notifications:** Ensure error emails are enabled in Zapier account +- **YouTube Upload:** If YouTube rejects upload (e.g., quota exceeded), Zapier shows an error in Zap History +- **Email Notifications:** Set up email notifications for failed runs + + +## 6. Accounts & Connections + +This section details the accounts and connections used within our Zapier integrations. +Maintaining accurate and secure connections is vital for uninterrupted workflows. + +| Application | Account Name | Connected By | Last Reviewed | +|--------------------|--------------|--------------|--------------| +| Zoom Account | Person | Person | Date | +| Google Drive Account| Person | Person | Date | +| YouTube Account | Person | Person | Date | + + +## 7. Change Management Note + +Any edits to this Zap must be documented in this SOP and reviewed by [@youtube-admins](https://github.com/kubernetes/community/blob/master/communication/moderators.md#owners). +Export a new PNG of the flow when changes are made. + + +## 8. Team Implementation Notes + +- All team members should have access to the Google Drive destination folder and YouTube playlist +- Test workflow with a small sample recording before enabling full automation +- Keep a version history: save screenshots or JSON export of Zap for version tracking + + +## 9. Testing Checklist + +- Trigger fires when a new Zoom recording is created +- File uploads to correct Google Drive folder +- Filename uses YYYY-MM-DD format +- Video uploads to YouTube with title & description +- Video is assigned to correct playlist diff --git a/communication/youtube/zapier-workflow-for-k8s-community-youtube.png b/communication/youtube/zapier-workflow-for-k8s-community-youtube.png new file mode 100644 index 00000000000..66ad83e204b Binary files /dev/null and b/communication/youtube/zapier-workflow-for-k8s-community-youtube.png differ