Skip to content

Daily

Log a daily snapshot of your Trello board to Google Sheets

Every evening each card on your board is saved as a dated row with its list, due date and members, so you can see how work moved over weeks.

Runs
Daily
Apps
Google Sheets, Trello
AI
Optional
Access
Trello read; Sheets write

Send this to your assistant

Create a ClickRuntime automation: every evening, copy all cards on my Trello board with their list, due date and members into new rows in my Google Sheet.

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

An agency project manager is asked at every monthly client review how long tasks sat in each stage and why delivery slipped. Trello only shows where cards are now. Reconstructing last month from the activity feed takes an afternoon, and the answers are still guesses.

A dated row for every card every evening builds a history the board itself does not keep. Questions about cycle time, bottlenecks and workload get answered with a filter or a chart instead of memory.

What you get out of it

  • History Trello does not keep

    The board shows today. The sheet shows every day before it, so you can see where a card was last Tuesday and how long it stayed there.

  • Find bottlenecks with real numbers

    Counting how many days cards spend in Review or Waiting on client shows exactly where work stalls. That turns a vague feeling into something you can fix.

  • Reports clients and managers trust

    Charts built from daily snapshots show progress over a sprint or a month. They hold up in a client review far better than a recollection.

  • Workload by person at a glance

    Because members are logged with each card, you can see who was carrying the most open work on any given day. It helps spread new work fairly.

  • An optional summary of what changed

    With AI turned on, you also get a short email each evening describing what moved compared with the day before. It is a quick read for anyone who does not live in the board.

How it works

What happens, step by step

  1. Every evening, ClickRuntime reads every open card and list on your Trello board.

  2. It writes one row per card to your Google Sheet with today's date, the card name, its list, due date and members.

  3. If AI is turned on, it compares today with yesterday and emails you a short summary of what moved.

  4. Over time the sheet becomes a day-by-day history of your board.

Before it runs live

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

What you get

RunsDaily
Log a daily snapshot of your Trello board to Google Sheetstoday, 9:00Succeeded
Google Sheets · Snapshots2026-10-19 | Acme homepage redesign | In review | 2026-10-24 | Priya, Sam

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 Google Sheets and Trello 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.
daily_trello_board_snapshot_to_sheets.pyexample
from datetime import date
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, credentials, http, state, ai, notify

BOARD_ID = "your-board-id"
SHEET_ID = "your-spreadsheet-id"

@on_trigger
def run(event):
    auth = {"key": credentials.secret("TRELLO_API_KEY"), "token": credentials.secret("TRELLO_TOKEN")}
    lists = {l["id"]: l["name"] for l in http.get(f"https://api.trello.com/1/boards/{BOARD_ID}/lists", params=auth).json()}
    members = {m["id"]: m["fullName"] for m in http.get(f"https://api.trello.com/1/boards/{BOARD_ID}/members", params=auth).json()}
    cards = http.get(f"https://api.trello.com/1/boards/{BOARD_ID}/cards", params=auth).json()
    today = date.today().isoformat()
    rows = [[today, c["name"], lists.get(c["idList"], ""), c.get("due") or "", ", ".join(members.get(m, "") for m in c["idMembers"])] for c in cards]
    sheets = build("sheets", "v4", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False)
    sheets.spreadsheets().values().append(spreadsheetId=SHEET_ID, range="Snapshots!A:E", valueInputOption="USER_ENTERED", body={"values": rows}).execute()
    now = {r[1]: r[2] for r in rows}
    before = state.get("last") or {}
    changes = [f"{n}: {before[n]} → {l}" for n, l in now.items() if n in before and before[n] != l]
    if changes:
        try:
            notify.email_me("Board changes today", ai.generate("\n".join(changes), system="Summarise these Trello moves in 3 sentences.", max_output_tokens=200).text)
        except ai.AIError:
            notify.email_me("Board changes today", "\n".join(changes))
    state.set("last", now)
    return {"rows": len(rows), "changes": len(changes)}

FAQ

Common questions

Will the sheet get too big?
Each evening adds one row per open card, so a board with 60 cards adds about 60 rows a day. Google Sheets handles years of that, and you can move older rows to an archive tab if you like.
Are archived cards included?
Only open cards are captured, so the snapshot reflects the board as your team sees it. Cards that were archived simply stop appearing from that day on.
Can I chart time in each list?
Yes. Because every row has the date and the list, a pivot table counting rows per card per list gives you the number of days each card spent at each stage.
What permissions does it need?
Trello read; Sheets write. Nothing else in your accounts is used.
Does it need AI?
No, but you can ask for an AI step (for example a summary). It then uses ClickRuntime's built-in 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 “Log a daily snapshot of your Trello board to Google Sheets” from your assistant

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