Skip to content

Hourly

Work through a content queue in Sheets and post results to Discord

Every hour, the next ready idea in your sheet becomes a draft script or caption, is saved back to the row and is posted to your Discord channel.

Runs
Hourly
Apps
Discord, Google Sheets
AI
Yes, uses the built-in AI allowance
Access
Sheets edit (only the sheets you pick when connecting); Discord bot send messages

Send this to your assistant

Create a ClickRuntime automation: every hour, take the next row marked 'ready' in my Content sheet, write the script or caption for it, save it to the row, set the status to 'done' and post it to my #content Discord channel.

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 small creator team keeps its content ideas in a Google Sheet: topic, platform, angle and a status column. Turning each idea into a first-draft script or caption is slow, and the queue grows faster than the drafts. The team chats in Discord, but has to open the sheet to find out what is ready to film or post.

This automation works through the queue one row at a time, writes a first draft for each ready idea, saves it in the sheet and posts it to Discord. The team wakes up to drafts to edit rather than blank rows.

What you get out of it

  • The queue keeps moving

    One idea is drafted every hour, so a backlog of twenty ideas has drafts within a day. Writers spend their time editing, which is faster than starting from scratch.

  • The sheet stays the plan

    Drafts are written back to the same row and the status changes to done. Anyone can see in one place what is drafted and what is still waiting.

  • The team sees drafts where they talk

    Each draft is posted in your Discord channel, ready for reactions and comments. Nobody has to remember to check the sheet.

  • You stay in control of what is drafted

    Only rows you mark as ready are picked up. Ideas that need more thought can stay in the sheet without being touched.

How it works

What happens, step by step

  1. Every hour, ClickRuntime looks in your Content sheet for the first row marked ready.

  2. AI writes a draft script or caption from that row's topic, platform and notes.

  3. The draft is saved into the row and its status is changed to done, so it is not picked up again.

  4. The draft is posted to your #content channel in Discord.

Before it runs live

  • Connect Discord
  • Connect your Google Sheets account and pick the spreadsheets it may use

What you get

RunsHourly
Work through a content queue in Sheets and post results to Discordtoday, 9:00Succeeded
Discord · #contentMorning routines that stick (Instagram): "Three habits we picked up from the Northwind team that took five minutes each..."

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 Slack
  • Combine it with other Discord and Google Sheets 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.
content_queue_in_sheets_with_discord_status_updates.pyexample
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, credentials, http, ai

SHEET_ID = "your-spreadsheet-id"
CHANNEL_ID = "your-discord-channel-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:E").execute().get("values", [])
    for i, row in enumerate(rows, start=2):
        row = (row + [""] * 5)[:5]
        topic, platform, notes, status = row[0], row[1], row[2], row[3]
        if status.strip().lower() != "ready":
            continue
        draft = ai.generate(f"Write a {platform} script or caption.\nTopic: {topic}\nNotes: {notes[:1500]}",
                            system="Friendly, direct, no hashtags unless asked.", max_output_tokens=600).text.strip()
        sheets.spreadsheets().values().update(spreadsheetId=SHEET_ID, range=f"Content!D{i}:E{i}", valueInputOption="RAW",
                                              body={"values": [["done", draft]]}).execute()
        http.post(f"https://discord.com/api/v10/channels/{CHANNEL_ID}/messages",
                  headers={"Authorization": f"Bot {credentials.secret('DISCORD_BOT_TOKEN')}"},
                  json={"content": f"**{topic}** ({platform})\n{draft}"[:2000]})
        return {"drafted": topic}
    return {"drafted": None}

FAQ

Common questions

Why one row per hour instead of all at once?
A steady pace gives the team time to review each draft and keeps the Discord channel readable. You can change the pace if you want drafts faster.
How does it know the style to write in?
You give it a short style guide, such as tone, length and platform rules, and it uses the topic and angle from the row. Better notes in the row give better drafts.
What happens if no rows are ready?
Nothing is posted and the sheet is left as it is. The next run checks again an hour later.
What permissions does it need?
Sheets edit (only the sheets you pick when connecting); Discord bot send messages. 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 (hourly). 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 “Work through a content queue in Sheets and post results to Discord” from your assistant

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