Rask AI + Google Sheets: translated video tracking
Video translation sounds simple until you’re chasing statuses in three tabs, copying links into Slack, and still not knowing what’s actually done. One missed handoff and your “multilingual release” becomes a quiet delay nobody owns.
This is the kind of mess marketing managers feel when launches pile up. course creators hit it when modules need localization. And agency teams handling client deliverables live in it. With Rask Sheets tracking, you get a single, reliable status log instead of “I think it’s processing?”
This workflow sends a video URL to Rask AI, waits until processing is actually finished, and then moves the translation project forward. You’ll see how it works, what you need, and how to adapt it to your own localization pipeline.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Rask AI + Google Sheets: translated video tracking
flowchart LR
subgraph sg0["When Executed by Another Workflow Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "When Executed by Another Wor..", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Upload media"]
n2["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Get media"]
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Switch media status", pos: "b", h: 48 }
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Create project"]
n5["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Get project"]
n6@{ icon: "mdi:cog", form: "rounded", label: "Wait media processing", pos: "b", h: 48 }
n7@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Switch project status", pos: "b", h: 48 }
n8@{ icon: "mdi:cog", form: "rounded", label: "Wait project processing", pos: "b", h: 48 }
n9@{ icon: "mdi:location-exit", form: "rounded", label: "Uploading failed", pos: "b", h: 48 }
n10@{ icon: "mdi:location-exit", form: "rounded", label: "Processing failed", pos: "b", h: 48 }
n2 --> n3
n5 --> n7
n1 --> n2
n4 --> n5
n3 --> n9
n3 --> n4
n3 --> n6
n7 --> n10
n7 --> n8
n6 --> n2
n8 --> n5
n0 --> n1
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n3,n7 decision
class n1,n2,n4,n5 api
class n0 disabled
classDef customIcon fill:none,stroke:none
class n1,n2,n4,n5 customIcon
The Problem: Translation Handoffs Fall Apart
When your “process” is basically “upload it, check later, hope it’s done,” translation work turns into constant follow-ups. Someone submits the video link. Someone else checks Rask. Another person tries to remember which target language you picked. Then the translated output arrives, but it’s sitting in the wrong thread, and the spreadsheet (if you have one) is already outdated. The worst part is the mental load. You keep context-switching just to answer a basic question: what’s the status right now?
It adds up fast. Here’s where it breaks down in real teams.
- You end up checking Rask AI manually every hour, which steals focus from actual publishing work.
- Status updates get shared in chat, then disappear, so nobody trusts the “source of truth.”
- A single wrong language code or link can waste a full processing cycle.
- When errors happen, you find out late, usually right before a deadline.
The Solution: Send the URL, Then Track Every Translation
This n8n workflow turns video translation into a predictable pipeline. It starts when you provide a video URL and a destination language (Rask supports common sources like YouTube, Google Drive, S3, Vimeo, and direct links). n8n submits that media link to Rask AI, then checks back until the upload and processing are complete. Once the media is ready, the workflow automatically creates a translation project and keeps polling until that project finishes. If something fails, it stops the run and flags the error instead of silently “continuing” with missing data. That means fewer mysterious partial results and fewer last-minute surprises.
The workflow begins with an invocation trigger, then sends the video to Rask AI via HTTP requests using your OAuth2 connection. Two separate status checks (media status, then project status) keep things honest. When the status isn’t ready yet, it waits, tries again, and only moves forward when Rask is actually done.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say your team localizes 5 training videos a week into one new language. Manually, you might spend about 10 minutes per video just on “submit, check, update someone, check again,” which is roughly an hour weekly. With this workflow, submitting the URL takes about 2 minutes, then n8n handles the waiting and status checks in the background. You still review the final output, but you’re no longer babysitting the process.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Rask AI for video translation via API.
- Google Sheets to log URLs, statuses, and outputs.
- Rask OAuth2 credentials (Client ID/Secret from your Rask account settings).
Skill level: Intermediate. You’ll mainly be connecting OAuth2, pasting endpoints, and mapping a few fields cleanly.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
You trigger it with a video link and target language. The workflow is designed to start from an invocation trigger, so it can be called by another workflow, a form, a webhook, or even a simple internal “run translation” button you build later.
n8n submits the media to Rask AI. It uses HTTP Request nodes with your saved OAuth2 connection (named raskOAuth2) to create the media job, then fetches media details to see what state it’s in.
Status routing keeps the workflow from rushing ahead. A Switch routes based on the media status. If it’s not ready, a Wait node pauses the run, then the workflow checks again. Once media is ready, it creates the translation project and repeats the same pattern for project status.
Errors stop the run on purpose. Two Stop-and-Error nodes catch upload failures and project failures. Honestly, this is one of the most useful parts, because “silent failures” are how teams lose days.
You can easily modify Google Sheets logging to include fields like requester, due date, or the final translated URL based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Workflow Invocation Trigger
Set up the workflow to accept incoming inputs for the media link and destination language.
- Add the Workflow Invocation Trigger node as your trigger.
- In Workflow Inputs, include input fields named link and dst_lang as shown in the node configuration.
- Connect Workflow Invocation Trigger to Submit Media Link.
Step 2: Connect Rask AI API Requests for Media Upload
Submit the video link to Rask AI and begin polling for media status.
- Configure Submit Media Link with URL set to
https://api.rask.ai/api/library/v1/media/linkand Method set toPOST. - Under Body Parameters, set link to
{{ $json.link }}, kind tovideo, and name ton8n. - Credential Required: Connect your
oAuth2Apicredentials in Submit Media Link. - Configure Retrieve Media Details with URL set to
=https://api.rask.ai/api/library/v1/media/{{ $json.id }}. - Credential Required: Connect your
oAuth2Apicredentials in Retrieve Media Details. - Connect Submit Media Link → Retrieve Media Details → Route Media Status.
Step 3: Route Media Status and Poll Until Ready
Use status routing to handle failed uploads, proceed when ready, or pause and retry while processing.
- In Route Media Status, set the Error output condition to
{{ $json.status }}equalsfailed. - Set the Ready output condition to
{{ $json.status }}equalsready. - Set the Processing output condition to
{{ $json.status }}equalsprocessing. - Connect the Processing output to Pause Media Polling, then back to Retrieve Media Details for polling.
- Connect the Error output to Upload Error Stop.
- Connect the Ready output to Generate Translation Project.
Step 4: Generate Translation Project and Monitor Status
Create the translation project and poll for completion before final output handling.
- Configure Generate Translation Project with URL set to
https://api.rask.ai/v2/projectsand Method set toPOST. - Under Body Parameters, set video_id to
{{ $('Retrieve Media Details').item.json.id }}, dst_lang to{{ $('Workflow Invocation Trigger').item.json.dst_lang }}, and name ton8n. - Credential Required: Connect your
oAuth2Apicredentials in Generate Translation Project. - Configure Fetch Project Details with URL set to
=https://api.rask.ai/v2/projects/{{ $json.id }}. - Credential Required: Connect your
oAuth2Apicredentials in Fetch Project Details. - Connect Generate Translation Project → Fetch Project Details → Route Project Status.
Step 5: Configure Project Status Routing and Error Handling
Stop on failures, wait during processing, and allow completion when the project reaches merging_done.
- In Route Project Status, set the Error output condition to
{{ $json.status }}ends withfailed. - Set the Ready output condition to
{{ $json.status }}equalsmerging_done. - Set the Processing output condition to
{{ $json.status }}not equalsmerging_done. - Connect the Processing output to Pause Project Polling, then back to Fetch Project Details for polling.
- Connect the Error output to Project Error Stop with Error Message set to
Project processing failed.
merging_done, confirm the translation job is active in Rask AI and that polling intervals in Pause Project Polling are appropriate for your media length.Step 6: Test and Activate Your Workflow
Verify the end-to-end flow using a test invocation, then activate for production use.
- Manually execute Workflow Invocation Trigger with sample inputs for link and dst_lang.
- Confirm Submit Media Link returns an
idand Retrieve Media Details shows status transitions. - Verify Generate Translation Project creates a project and Fetch Project Details progresses to
merging_done. - Ensure no errors are triggered in Upload Error Stop or Project Error Stop during a successful run.
- When satisfied, toggle the workflow to Active for production use.
Common Gotchas
- Rask AI OAuth2 credentials can expire or lack scopes. If things break, check the OAuth2 credential in n8n (and your Rask account settings) before changing anything else.
- If you’re using Wait nodes or external processing, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses after a status check.
- If you add AI copy (titles, descriptions, subtitles) later, default prompts are generic. Add your brand voice early or you’ll be editing outputs forever.
Frequently Asked Questions
About 30 minutes once your Rask OAuth2 app is ready.
No. You’ll connect OAuth2, paste a few values, and map fields between steps.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Rask AI usage costs based on your video length and plan.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, but you’ll want to loop over a list of target language codes and create one project per language. Most teams do this by adding a Google Sheets row (or a simple list) of languages, then iterating and reusing the same “Create project” and “Get project” requests for each language. You can also add a Sheets update after each status check so your log shows “queued,” “processing,” and “done” per language.
Usually it’s the OAuth2 setup in n8n, not the workflow logic. Confirm your credential is named raskOAuth2, that Client ID and Client Secret match what’s in your Rask account settings, and that the HTTP Request nodes are actually using that credential. If it used to work and suddenly doesn’t, re-authorize the OAuth2 connection and try again. Rate limits can also show up as random failures if you fire many translations at once.
On n8n Cloud Starter, you’re limited by your monthly execution allowance, while self-hosting depends on your server. Practically, the bigger constraint is Rask processing time per video, since each job waits and polls until completion. For most small teams, running a handful of translations per day is comfortable. If you plan to run dozens daily, reduce polling frequency and make sure you’re logging each run so retries don’t create duplicates.
Often, yes, because this workflow relies on polling and branching based on status, which can get clunky and expensive on simpler automation tools. n8n also makes it easier to stop the run when something is wrong, rather than pushing broken data downstream. Zapier or Make can be fine for a basic “send URL” step, but they tend to struggle once you need waits, retries, and conditional routing. If you’re unsure, think about your real requirement: do you need reliable completion checks, or just a quick submit? Talk to an automation expert and you’ll get a straight answer for your setup.
Once this is running, translation stops being a “check back later” chore and becomes a trackable pipeline your team can trust. Set it up, hand it off, move on.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.