Collects as they arrive, acts daily
Keep a daily journal Doc
Notes you send during the day are added to a running Doc under today's date each evening.
- Runs
- Collects as they arrive, acts daily
- Apps
- Google Docs
- AI
- Not needed
- Access
- read+write (doc shared with SA as Editor)
Send this to your assistant
Create a ClickRuntime automation: give me a link to send notes to during the day. Every evening at 9pm, add today's date and those notes to the end of my Journal doc.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A community manager collects interesting items all day: customer quotes, links, ideas, support patterns. They arrive in Slack threads, emails and browser tabs, and by the end of the week she remembers perhaps half. The team's monthly review asks for highlights, and she spends an evening hunting through messages to reconstruct what she once thought worth keeping.
Items you send to a ClickRuntime trigger link are stored as they arrive. At the time you set each day, they are written into your Google Doc as a new dated section with a batch update inserting the text at the end, and the stored items are cleared. By morning, the Doc holds yesterday's collected notes.
Product teams, researchers and journalists use it to build a running notebook without opening the Doc each time.
What you get out of it
Notes gather without interruption
You send an item and carry on, since nothing needs to open or format a document. Capturing becomes quick enough that you actually do it, which is the main reason notebooks fail.
Each day gets its own section
A dated heading groups the day's items, so you can find what was collected on a particular Tuesday. Long documents stay navigable because the structure is the same each time.
Review sessions start with material
When the monthly review arrives, the Doc already holds highlights, in order. You do not have to search chat history, so the meeting is spent discussing, not remembering. You can read it in minutes. That also ends the evening hunt through chat history.
Patterns appear over time
Reading several weeks of collected quotes and links shows recurring themes, such as repeated customer questions. Those patterns are hard to see item by item but obvious in a log.
One place for items from many tools
Whether the item starts in Slack, email or a browser shortcut, it ends up in the same document. That removes the sorting you would otherwise do by hand. Everything lands in one place, whichever tool it came from, and nobody has to retype anything between apps.
How it works
What happens, step by step
During the day, whenever you send a note to your trigger link, ClickRuntime saves it.
Once a day it adds all the saved notes to the end of your journal Google Doc as bullet points under today's date.
The saved notes are then cleared, so tomorrow starts fresh.
Before it runs live
- Connect Google Docs
- Paste your automation's link into the other app's webhook settings
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
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Google Docs 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 datetime import date
from clickruntime import on_event, on_trigger, credentials, state
DOC_ID = "journal-doc-id"
@on_event
def remember(event):
note = ((event.json or {}).get("text") or event.body).strip()
state.set("notes", (state.get("notes") or []) + [note])
return {"saved": True}
@on_trigger
def write_journal(event):
notes = state.get("notes") or []
if not notes:
return {"written": 0}
docs = build("docs", "v1", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False)
end = docs.documents().get(documentId=DOC_ID).execute()["body"]["content"][-1]["endIndex"] - 1
text = f"\n{date.today():%A %d %B %Y}\n" + "\n".join(f"• {n}" for n in notes) + "\n"
docs.documents().batchUpdate(documentId=DOC_ID, body={"requests": [
{"insertText": {"location": {"index": end}, "text": text}}]}).execute()
state.delete("notes")
return {"written": len(notes)}FAQ
Common questions
When does the digest get written into the Doc?
What happens to items after they are written?
Can I tag items so they sort into different sections?
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
Create a proposal from your template
Sending client details to a link creates a filled-in proposal or contract Doc.
See how it worksAdd entries to a work log Doc
Anything you send to a link is added with a timestamp to the end of your log Doc.
See how it worksGet told about new Docs in a shared folder
When someone creates a Doc in your shared folder, you get its title, author and link.
See how it worksKeep exploring
Set up “Keep a daily journal Doc” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.