On a schedule
Get a written monthly report from your numbers
Each month you get a written analysis of your sheet's figures, compared with earlier periods.
- Runs
- On a schedule
- Apps
- Google Sheets
- AI
- Yes, uses the built-in AI allowance
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: on the 1st of each month, read my P&L sheet, compare last month with the month before and the same month last year, and email me a written analysis.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A small business owner keeps sales, expenses and ad spend in a Google Sheet. At month end she needs a report for her partner or her accountant, so she builds charts, compares against last month and tries to put into words why profit dropped. It takes half a day, so it happens quarterly at best, and by then a problem that began in week two has already cost her money.
On the schedule you set, ClickRuntime reads the ranges you specify, computes period totals and changes against the last period, and passes the figures to ClickRuntime's built-in AI. The AI writes a narrative covering what rose and fell, likely reasons visible in the data and what deserves attention, and the report is emailed.
Owners, finance managers and analysts use it for monthly, weekly or quarterly updates.
What you get out of it
Reports actually get written
A task that takes half a day is skipped when things get busy. Having the draft arrive in your inbox means the review happens regularly, and decisions are based on current numbers.
Totals are calculated, then described
Sums and percentage changes are computed from the sheet before the AI writes anything. The narrative explains calculated numbers, which keeps the figures accurate and the text readable. Nobody has to worry that the AI quietly invented a total.
Problems are noticed in week two
A weekly or monthly report highlights a rise in costs or a fall in sales while it can still be corrected. Leaving it to a quarterly review lets a bad trend run for months.
Stakeholders get plain language
Partners, investors and managers who do not read spreadsheets can follow a written summary. The numbers remain in the sheet for anyone who wants to dig into them. Less time goes to answering what the sheet means.
Consistent reporting over time
The same structure every period makes comparison easy. You can see how this month's report differs from last quarter's, instead of working through a different format each time. Trends become easier to spot over a year.
How it works
What happens, step by step
Every month ClickRuntime reads the profit and loss figures in your Google Sheet.
It compares the latest month with the month before and the same month last year.
AI writes a short report explaining what changed and why it matters.
The report is emailed to you.
Before it runs live
- 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 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 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).spreadsheets()
rows = sheets.values().get(spreadsheetId=SHEET_ID, range="P&L!A1:Z").execute().get("values", [])
header, body = rows[0], rows[1:]
# Columns are months (oldest first): compare the last one, the one before, and 12 months back.
cols = {"last month": len(header) - 1, "month before": len(header) - 2, "same month last year": len(header) - 13}
table = "\n".join(f"{r[0]}: " + ", ".join(f"{k} {r[c] if c < len(r) else ''}" for k, c in cols.items()) for r in body)
analysis = ai.generate(f"Write a short analysis of {header[-1]} for a business owner: what moved, why it matters, "
f"and what to watch.\n{table}", max_output_tokens=900).text
notify.email_me(f"P&L analysis: {header[-1]}", analysis)
return {"lines": len(body)}FAQ
Common questions
Can it report on several tabs or ranges?
Are the numbers in the report reliable?
Can I send the report to my accountant?
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
Fill in company details from their websites
Each company in your sheet gets its industry, B2B or B2C, and a one-line summary from its own website.
See how it worksDraft posts from your content sheet
Each morning the next idea in your sheet becomes a draft, saved back in the row.
See how it worksDraft personal outreach emails from a list
Every contact in your sheet gets a short personalised email written into the row, ready for you to send.
See how it worksKeep exploring
Set up “Get a written monthly report from your numbers” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.