Skip to content

Daily

Turn a sheet of ideas into post drafts

Each morning the next idea in your sheet becomes a ready-to-edit draft in Slack for your team to review.

Runs
Daily
Apps
Google Sheets, Slack
AI
Yes, uses the built-in AI allowance
Access
Sheets read+write; Slack chat:write

Send this to your assistant

Create a ClickRuntime automation: each weekday morning, take the next row marked 'Idea' in my Content sheet, write a LinkedIn post from it, post the draft to #marketing and mark the row 'In review'.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A content marketer keeps a Google Sheet of post ideas: a topic, a target audience and a few notes. The sheet is full, but nothing gets written because starting from a blank page takes an hour each time, and ideas lose their relevance as the weeks go by. When she finally writes, she posts a draft in Slack for her team to comment on, then forgets to update the sheet, so nobody knows which ideas are done.

Each day, ClickRuntime reads the next idea that has no draft yet, asks ClickRuntime's built-in AI to write a first draft using the topic, audience and notes in the row, and posts it to a Slack channel for review. It then writes the draft and a status of Drafted back to that row.

Social media managers, newsletter writers and small agencies use it to keep a steady pipeline of content going.

What you get out of it

  • The blank page is gone

    Each day starts with a draft to edit rather than a topic to stare at. Editing a rough draft is much faster than writing from scratch, and consistent output beats occasional bursts.

  • Team feedback happens in Slack

    Reviewers comment on the draft where the conversation already happens. A thread of suggestions under one post is quicker than sharing a document and chasing people for comments. Fewer file versions get lost in email.

  • The sheet shows true status

    Because the row is updated with the draft and a status each time, anyone can see what is waiting, drafted or published. That stops two people from working on the same idea without knowing.

  • Ideas turn into posts while fresh

    A topic added on Monday has a draft on Tuesday. Timely ideas, like a reaction to industry news, are still relevant when they are published, which improves engagement. Missed timing is a common reason posts underperform.

  • A steady publishing rhythm

    One draft a day, ready for review, makes a regular schedule realistic. Consistency is what grows an audience, and it is the first thing that fails when drafting is done by hand.

How it works

What happens, step by step

  1. Every morning, ClickRuntime reads the Content tab of your Google Sheet and finds the next idea still marked "Idea".

  2. AI writes a short LinkedIn post draft about that topic.

  3. The draft is posted to your #marketing Slack channel for your team to review.

  4. The row in the sheet is updated with the draft and its new status, so the same idea is not drafted twice.

Before it runs live

  • Connect your Google Sheets account and pick the spreadsheets it may use
  • Connect Slack, then invite the app to the channel (type /invite @ClickRuntime there)

What you get

RunsDaily
Turn a sheet of ideas into post draftstoday, 9:00Succeeded
Slack · #marketing✍️ Draft for review: How Acme cut onboarding time in half Last quarter our onboarding took 14 days. Today it takes 6…

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • 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 Gmail
  • Combine it with other Google Sheets and Slack steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
ai_content_drafts_from_a_sheet_reviewed_in_slack.pyexample
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, credentials, ai, notify

SHEET_ID = "your-spreadsheet-id"

@on_trigger
def run(event):
    sheets = build("sheets", "v4", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False)
    rows = sheets.spreadsheets().values().get(spreadsheetId=SHEET_ID, range="Content!A2:C").execute().get("values", [])
    for i, row in enumerate(rows, start=2):
        topic, status = (row + ["", ""])[:2]
        if status == "Idea":
            break
    else:
        return {"drafted": None}
    draft = ai.generate(f"Write a LinkedIn post (under 180 words, no hashtags spam) about: {topic}",
                        max_output_tokens=400).text
    notify.slack(f"✍️ Draft for review: *{topic}*\n\n{draft}", channel="#marketing")
    sheets.spreadsheets().values().update(spreadsheetId=SHEET_ID, range=f"Content!B{i}:C{i}",
                                          valueInputOption="RAW", body={"values": [["In review", draft]]}).execute()
    return {"drafted": topic}

FAQ

Common questions

Will the AI write in my own voice?
You can include a short description of your voice and a sample or two in the instructions, such as plain, friendly and no jargon. Drafts are still a starting point, so expect to edit before publishing and to refine the instructions after a few rounds.
What columns does the sheet need?
At minimum an idea or topic column and a status column. Optional ones like audience, tone, keywords and a draft column help the writing. Tell your AI assistant the names of your columns and the automation will use them as they are.
Does it publish anything automatically?
No. It posts the draft to Slack for people to review and saves it to the sheet. Nothing is published to a blog or social account. A person decides what to edit, approve and post.
What permissions does it need?
Sheets read+write; Slack chat:write. Nothing else in your accounts is used.
Does it need AI?
Yes. It uses ClickRuntime's built-in AI, so you don't need an OpenAI or Anthropic key. Every plan includes a monthly AI allowance.
How many runs does it use?
One run each time it runs (daily). Checks that find nothing to do and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Turn a sheet of ideas into post drafts” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.