πŸ“‹ Turn course videos into ClickUp learning tasks with WayinVideo and GPT‑4o‑mini

⚑ 47 views Β· πŸ“‹ Project Management

Description

Description

Submit any course or lecture video URL along with the course title, module name, assignee, due date, and priority and the workflow automatically converts the entire module into a ClickUp task list. WayinVideo summarizes the video and extracts key learning highlights, then GPT-4o-mini reads the summary and returns 5–12 structured tasks β€” each with a title starting with an action verb, a description with what to do and why it matters, a task type, an estimated time, and step-by-step checklist items. Each task is created in ClickUp with your chosen priority and due date, tagged as course-task and learning, and every task is logged to Google Sheets with the ClickUp Task ID and URL. Built for learning and development teams, student communities, training managers, and knowledge workers who want learning to translate directly into action.


What This Workflow Does


Setup Requirements

Tools Needed

Credentials Required

> ⚠️ WayinVideo API key appears in 2 steps β€” replace YOUR_WAYINVIDEO_API_KEY in both 2. WayinVideo β€” Submit Summarization and 4. WayinVideo β€” Get Summary Results. Missing either one will cause the workflow to fail.

Estimated Setup Time: 20–25 minutes


Step-by-Step Setup

  1. Import the workflow β€” Open n8n β†’ Workflows β†’ Import from JSON β†’ paste the workflow JSON β†’ click Import

  2. Get your WayinVideo API key β€” Log in to your WayinVideo account β†’ go to Account Settings β†’ copy your API key

  3. Add your WayinVideo API key to node 2 β€” Open node 2. WayinVideo β€” Submit Summarization β†’ find the Authorization header value Bearer YOUR_WAYINVIDEO_API_KEY β†’ replace YOUR_WAYINVIDEO_API_KEY with your actual key

  4. Add your WayinVideo API key to node 4 β€” Open node 4. WayinVideo β€” Get Summary Results β†’ find the same Authorization header β†’ replace YOUR_WAYINVIDEO_API_KEY with the same key

  5. Connect OpenAI β€” Open node 9. OpenAI β€” GPT-4o-mini Model β†’ click the credential dropdown β†’ add your OpenAI API key β†’ test the connection

  6. Get your ClickUp List ID β€” Open ClickUp in a browser β†’ navigate to the List where you want tasks created β†’ right-click the List name β†’ click Copy link β†’ the List ID is the last segment of the URL after the final /

  7. Connect ClickUp β€” Open node 11. ClickUp β€” Create Task β†’ click the credential dropdown β†’ add ClickUp OAuth2 β†’ complete the authorization flow β†’ in the List ID field, replace YOUR_CLICKUP_LIST_ID with your actual List ID

  8. Create your Google Sheet tab β€” Open your Google Sheet β†’ add a tab named exactly Course Tasks Log β†’ add these 14 column headers in row 1: Course Title, Module Title, Video URL, Task Number, Task Title, Task Type, Estimated Minutes, Total Tasks in Module, ClickUp Task ID, ClickUp Task URL, Assigned To, Due Date, Priority, Generated On

  9. Get your Google Sheet ID β€” Open your Google Sheet in a browser β†’ copy the string between /d/ and /edit in the URL β€” this is your Sheet ID

  10. Connect Google Sheets β€” Open node 12. Google Sheets β€” Log Tasks β†’ click the document field β†’ replace YOUR_GOOGLE_SHEET_ID by selecting your spreadsheet or entering the Sheet ID manually β†’ click the credential dropdown β†’ add Google Sheets OAuth2 β†’ authorize access

  11. Activate the workflow β€” Toggle the workflow to Active β†’ copy the Form URL from node 1. Form β€” Course Video + Details β†’ open it in a browser to submit your first module


How It Works (Step by Step)

Step 1 β€” Form: Course Video + Details You open the form URL and fill in six fields: the course video URL (YouTube, Zoom, Vimeo, Loom, or any direct link), the course title, the module or lecture title, who to assign tasks to, the task due date (formatted as YYYY-MM-DD), and the task priority (High, Normal, or Low). Submitting the form starts the entire pipeline.

Step 2 β€” HTTP: WayinVideo β€” Submit Summarization The course video URL is sent to WayinVideo’s Summarization API. WayinVideo accepts the job and returns a task ID confirming the summarization has started.

Step 3 β€” Wait: 90 Seconds The workflow pauses 90 seconds before the first status check, giving WayinVideo time to process the video.

Step 4 β€” HTTP: WayinVideo β€” Get Summary Results A GET request checks the summarization results endpoint using the task ID. It returns the current status and, once complete, the summary text, highlights array, and tags array.

Step 5 β€” IF: Summary Complete? This is the polling gate. If the status equals SUCCEEDED (YES path), the summary is ready and the workflow moves forward to data extraction. If still processing (NO path), the workflow routes to 6. Wait β€” 30 Seconds Retry which pauses 30 seconds then loops back to step 4. This repeats until SUCCEEDED.

Step 6 β€” Wait: 30 Seconds Retry When the summary is not yet ready, the workflow waits 30 seconds then returns to step 4 for another check.

Step 7 β€” Code: Extract Summary Data The summary text and highlights (formatted as a numbered list) are extracted from the WayinVideo response. All six form inputs are also packaged. Two important conversions happen here: the priority text (e.g. β€œHigh”) is mapped to the ClickUp priority number (2) using a lookup table β€” Urgent=1, High=2, Normal=3, Low=4 β€” and the due date string is converted to a Unix timestamp in milliseconds which is what ClickUp requires.

Step 8 β€” AI Agent: Extract Learning Tasks GPT-4o-mini receives the module summary, numbered highlights, and full module context in the system prompt. It is instructed to return ONLY a valid JSON array with no extra text β€” a strict format that makes parsing reliable. Each task in the array must have a title starting with an action verb, a description explaining what to do and why it matters with the video URL included as a reference, a task type chosen from Review, Practice, Build, Implement, or Reflect, a realistic estimated time in minutes between 15 and 120, and 2–3 specific checklist steps. A minimum of 5 tasks and a maximum of 12 must be extracted.

Step 9 β€” OpenAI: GPT-4o-mini Model This is the language model producing the JSON task array.

Step 10 β€” Code: Parse Tasks Array The AI output is cleaned of any markdown backticks and parsed as JSON. If parsing fails, the step throws a clear error showing the first 300 characters of the output for debugging. If the array is empty or missing, another error is thrown. Each task in the array is returned as a separate row β€” one per task β€” with the course name prefixed to every task title as [Course Title] Task Title. The total number of tasks is also carried forward for the sheet log.

Step 11 β€” ClickUp: Create Task One ClickUp task is created per learning objective in your specified List. The task title, due date timestamp, priority number, status set to To Do, and two tags (course-task and learning) are all set. ClickUp returns the new task’s ID and URL.

Step 12 β€” Google Sheets: Log Tasks One row is appended to your Course Tasks Log tab for every task created. The row captures all 14 fields: course title, module title, video URL, task number, task title, task type, estimated minutes, total tasks in module, ClickUp Task ID, ClickUp Task URL, assignee, due date, priority, and generation timestamp. Every task is logged immediately after its ClickUp task is created.


Key Features

βœ… Pure JSON output from GPT β€” GPT is instructed to return only a JSON array with no extra text β€” making the output directly parseable without complex regex extraction βœ… Priority mapped automatically to ClickUp numbers β€” Your plain text input (High, Normal, Low) is converted to ClickUp’s numeric priority system (1–4) in one step β€” no manual mapping needed βœ… Due date converted to ClickUp timestamp format β€” The date you type in the form is automatically converted to the Unix millisecond timestamp that ClickUp requires β€” no manual conversion βœ… Course name prefixed to every task title β€” Tasks appear in ClickUp as [Course Name] Task Title so your board stays identifiable when processing multiple courses or modules βœ… Course-task and learning tags on every task β€” All created tasks are automatically tagged so you can filter your entire ClickUp workspace for course-related tasks across any list or project βœ… Estimated minutes per task β€” GPT assigns a realistic completion time to each task so assignees can plan their learning schedule without guessing how long each task will take βœ… ClickUp Task ID and URL captured in Google Sheets β€” Every row in the log includes direct links to the ClickUp task so you can navigate from the sheet to any task in one click


Customisation Options

Add checklist items to each ClickUp task β€” After node 11. ClickUp β€” Create Task, add a ClickUp Create Checklist step using the Task ID returned from step 11 and loop through the checklistItems array from step 10 to add each step as a checklist item on the task.

Change the minimum and maximum task count β€” In the system prompt of node 8. AI Agent β€” Extract Learning Tasks, change minimum 5 tasks, maximum 12 tasks to a different range β€” for example 3–8 for shorter lectures or 8–15 for full-day workshops.

Send a summary email when all tasks are created β€” After node 12. Google Sheets β€” Log Tasks (on the last task row), add a Gmail step that sends the assignee a plain-text email listing all task titles, types, estimated times, and ClickUp URLs so they have everything in their inbox.

Add a Slack notification when tasks are created β€” After node 12. Google Sheets β€” Log Tasks, add a Slack step that posts the course title, module name, number of tasks created, and a link to the ClickUp List to a #learning or #training channel.

Change the ClickUp task status β€” In node 11. ClickUp β€” Create Task, change "status": "To Do" to match your ClickUp List’s actual status names β€” for example "status": "Backlog" or "status": "Learning" if your List uses custom statuses.


Troubleshooting

Form submission not starting the workflow:

WayinVideo returning an error on submission:

GPT returning a parse error (JSON parsing failed):

ClickUp tasks not being created:

Google Sheets not logging rows:


Support

Need help setting this up or want a custom version built for your team or agency?

πŸ“§ Email: info@incrementors.com 🌐 Website: https://www.incrementors.com/

πŸ”— Nodes Used

Google Sheets, HTTP Request, ClickUp, AI Agent, OpenAI Chat Model, n8n Form Trigger

πŸ“₯ Import

Download workflow.json and import into n8n: Workflow menu β†’ Import from File

πŸ“– Importing guide Β· πŸ”‘ Credential setup