Daily
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.
- Runs
- Daily
- Apps
- Google Drive, Google Sheets
- AI
- Yes, uses the built-in AI allowance
- Access
- Sheets read+write; Drive write
Send this to your assistant
Create a ClickRuntime automation: each day, take the next topic in my Content sheet, write a 1,000-word article, save it to my Drive folder and put the link in the sheet.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A small company wants to publish a blog post every week to bring in search traffic. The marketing lead has a sheet full of topics and keywords, but the drafts never get written because a first draft takes half a day she does not have.
This automation writes a first draft each day from the next topic on the list and files it in Drive, so her job becomes editing and adding real examples, which is the part that needs her expertise.
What you get out of it
A steady supply of drafts
One draft a day keeps the content calendar full, even in weeks when nobody has time to write from scratch.
Editing instead of writing
Starting from a structured draft is much faster than a blank page, and leaves time to add your own expertise.
Everything in one place
Drafts are Google Docs in a single folder, ready for comments and suggestions from the rest of the team.
The sheet shows progress
Each topic gets a link to its draft, so you can see at a glance what is written and what is still waiting.
How it works
What happens, step by step
Every day ClickRuntime opens your Content sheet and finds the next topic without a draft link.
AI writes a 1,000-word article on that topic using any keyword and notes in the row.
The article is saved as a Google Doc in your Drive folder.
The link to the document is written into the sheet, so the same topic is never drafted twice.
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 google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from googleapiclient.http import MediaInMemoryUpload
from clickruntime import on_trigger, credentials, ai
SHEET_ID, FOLDER_ID = "your-spreadsheet-id", "your-articles-folder-id"
@on_trigger
def run(event):
creds = Credentials(credentials.connection("google", "work"))
sheet = build("sheets", "v4", credentials=creds, cache_discovery=False).spreadsheets().values()
rows = sheet.get(spreadsheetId=SHEET_ID, range="Content!A2:D").execute().get("values", [])
i = next((n for n, r in enumerate(rows, start=2) if r and (len(r) < 4 or not r[3])), None)
if i is None:
return {"written": 0}
r = rows[i - 2] + ["", "", ""]
article = ai.generate(f"Write a 1,000-word blog article in clear headings.\nTopic: {r[0]}\nKeyword: {r[1]}\nNotes: {r[2]}",
max_output_tokens=2048).text
doc = build("drive", "v3", credentials=creds, cache_discovery=False).files().create(
body={"name": r[0], "parents": [FOLDER_ID], "mimeType": "application/vnd.google-apps.document"},
media_body=MediaInMemoryUpload(article.encode(), "text/plain"), fields="webViewLink").execute()
sheet.update(spreadsheetId=SHEET_ID, range=f"Content!D{i}", valueInputOption="RAW",
body={"values": [[doc["webViewLink"]]]}).execute()
return {"written": r[0]}FAQ
Common questions
What should each row in the sheet contain?
Are the articles ready to publish?
Can I change the length?
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 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.
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 a sheet of topics into article drafts in Drive” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.