Hourly
Turn video ideas in a sheet into finished videos in Drive
Every hour the next ready idea in your Videos sheet becomes a video in your Drive, with the link and status written back to the sheet.
- Runs
- Hourly
- Apps
- Google Drive, Google Sheets
- AI
- Yes, uses the built-in AI allowance
- Access
- Sheets read+write; Drive drive (or drive.file)
Send this to your assistant
Create a ClickRuntime automation: every hour, take the next Ready idea in my Videos sheet, generate the video with my video API, save it to Drive and write the Drive link and status back.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A small brand plans short social videos in a sheet: an idea, a style and a status column. Turning each idea into a video means copying it into a generator, waiting, downloading the file and uploading it to Drive. It happens in bursts, so the posting calendar has gaps.
Working through the queue one idea an hour keeps a steady supply of finished videos in Drive. The sheet stays the plan, and the status column shows exactly what is ready to post.
What you get out of it
A steady flow of content
One video an hour, every hour, adds up to a full posting calendar without anyone sitting at a generator.
The sheet stays the plan
You add ideas and mark them Ready. Everything else follows from the sheet.
Finished files in one place
Every video lands in the same Drive folder with a link in its row, ready for editing or scheduling.
Clear status at a glance
Each row shows whether its video is waiting, done or failed, so the team knows what to post.
How it works
What happens, step by step
Every hour, ClickRuntime reads your Videos sheet and finds the first idea marked Ready.
AI turns the idea into a detailed prompt for your video service.
The video is generated and saved to your Google Drive folder.
The Drive link is written into the row and its status is changed to Done, so it is not made again.
Before it runs live
- Connect Google Drive
- Connect your Google Sheets account and pick the spreadsheets it may use
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Run it at a different time, more or less often, or only on weekdays
- Change what the AI looks for, or how it writes the result
- Add another app, for example also send it to Slack
- Combine it with other Google Drive and Google Sheets steps into one automation
Under the hood
The code that runs this automation
from googleapiclient.http import MediaInMemoryUpload
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, credentials, http, ai
SHEET_ID, FOLDER_ID, VIDEO_API = "your-videos-sheet-id", "your-drive-folder-id", "https://api.your-video-service.com/v1/videos"
@on_trigger
def run(event):
creds = Credentials(credentials.connection("google", "work"))
values = build("sheets", "v4", credentials=creds, cache_discovery=False).spreadsheets().values()
rows = values.get(spreadsheetId=SHEET_ID, range="Videos!A2:C").execute().get("values", [])
ready = next((i for i, r in enumerate(rows, start=2) if len(r) > 1 and r[1] == "Ready"), None)
if ready is None:
return {"made": 0}
prompt = ai.generate(f"Write a detailed prompt for a 15-second vertical video about: {rows[ready - 2][0]}", max_output_tokens=300).text
job = http.post(VIDEO_API, json={"prompt": prompt}, headers={"Authorization": f"Bearer {credentials.secret('VIDEO_API_KEY')}"},
timeout=300).json()
video = http.get(job["video_url"], timeout=120).content
f = build("drive", "v3", credentials=creds, cache_discovery=False).files().create(
body={"name": f"{rows[ready - 2][0][:60]}.mp4", "parents": [FOLDER_ID]},
media_body=MediaInMemoryUpload(video, mimetype="video/mp4"), fields="webViewLink").execute()
values.update(spreadsheetId=SHEET_ID, range=f"Videos!B{ready}:C{ready}", valueInputOption="RAW",
body={"values": [["Done", f["webViewLink"]]]}).execute()
return {"made": 1}FAQ
Common questions
Which video service does it use?
What happens if a video fails?
Can I control the order?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Turn a sheet of topics into article drafts in Drive
Each day the next topic in your Content sheet becomes a 1,000-word article draft in Google Docs, with its link added to the sheet.
See how it worksLog job postings that match your CV in a sheet
Each morning, new postings from your job feeds are scored against your CV and the good matches are added to your Jobs sheet.
See how it worksTurn new words in your vocabulary sheet into Anki flash cards
Every Sunday the new words in your Vocab sheet get a translation, pinyin and an example sentence, and a ready-to-import Anki file is saved to Drive.
See how it worksKeep exploring
Set up “Turn video ideas in a sheet into finished videos in Drive” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.