Every 15 minutes
Summarise and tag new feedback in Notion
Each new feedback row gets a summary, a sentiment and tags, so you can sort and filter it without reading every entry.
- Runs
- Every 15 minutes
- Apps
- Notion
- AI
- Yes, uses the built-in AI allowance
- Access
- read+write
Send this to your assistant
Create a ClickRuntime automation: every 15 minutes, for new rows in my Notion Feedback database with an empty Summary, add a one-line summary, a sentiment (positive, neutral or negative) and up to 3 tags.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A Notion database of customer feedback, interview notes or support comments fills up faster than anyone can read it. Each row contains a paragraph or a page of text, and the Summary, Sentiment and Tags columns that were meant to make it useful are empty because filling them in by hand takes two minutes per row. A product manager facing 300 untagged rows cannot filter for complaints about pricing, so the data goes unused.
Every 15 minutes ClickRuntime finds rows whose Summary property is empty, reads the page content, asks its built-in AI to write a one-sentence summary, classify sentiment and suggest tags, and writes them back into the same row's properties. Rows that already have a summary are never touched, so your manual edits are safe.
Teams with user research, feedback boards or note-taking databases use it to make their entries sortable.
What you get out of it
Filtering finally works on feedback
With tags and sentiment filled in, you can show only negative comments about onboarding. A question that needed an afternoon of reading is answered with a view in two clicks.
Rows are triaged within minutes of being added
A new note is summarised on the next run, so reviewers see its gist in the table. They decide which to open without reading each one in full. Reviewers decide which rows to open without reading every one, so a morning of triage becomes a short scan.
Backlogs get cleared once
Rows created before the automation, if their Summary is empty, are processed as well. A year of untouched notes is catalogued without a manual afternoon of effort. Notes that were already in the database before setup are catalogued without a dedicated afternoon.
Manual work is respected
Because only empty Summary cells are filled, anything a person wrote stays as written. The AI adds structure where there is none, and never overwrites a considered note. The AI adds structure where there is none and never overwrites a considered note.
Consistent labels support reporting
One system applies the same sentiment scale to every row, so counts by sentiment are comparable week to week. Charts built on the properties mean something. Charts and rollups built on the properties mean something, because the same scale is used everywhere.
How it works
What happens, step by step
Every 15 minutes ClickRuntime finds pages in your Notion feedback database that don't have a summary yet.
It reads the content of each one.
AI writes a one-line summary, rates the sentiment and adds a few tags.
The summary, sentiment and tags are filled into the page's fields in Notion.
Before it runs live
- Connect Notion and share the database you want it to 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
- Act only on the items that match your own rules, and skip the rest
- 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 Notion steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, report_fetched, credentials, http, ai
NOTION = "https://api.notion.com/v1"
def headers():
return {"Authorization": f"Bearer {credentials.secret('NOTION_TOKEN')}", "Notion-Version": "2022-06-28"}
def query(db, body=None):
resp = http.post(f"{NOTION}/databases/{db}/query", headers=headers(), json=body or {})
resp.raise_for_status()
return resp.json()["results"]
def title(page, prop="Name"):
return "".join(t["plain_text"] for t in page["properties"][prop]["title"])
FEEDBACK = "feedback-database-id"
SCHEMA = {"type": "object", "properties": {"summary": {"type": "string"},
"sentiment": {"type": "string", "enum": ["positive", "neutral", "negative"]},
"tags": {"type": "array", "items": {"type": "string"}, "maxItems": 3}}, "required": ["summary", "sentiment", "tags"]}
@on_trigger
def run(event):
rows = query(FEEDBACK, {"filter": {"property": "Summary", "rich_text": {"is_empty": True}}})
report_fetched(len(rows))
if not rows:
return {"summary": "Nothing new"}
for row in rows[:25]:
text = "".join(t["plain_text"] for t in row["properties"]["Feedback"]["rich_text"])[:2000]
d = ai.generate("Give a one-line summary, the sentiment and up to 3 short tags:\n" + text,
json_schema=SCHEMA, max_output_tokens=120).json
http.patch(f"{NOTION}/pages/{row['id']}", headers=headers(), json={"properties": {
"Summary": {"rich_text": [{"text": {"content": d["summary"]}}]},
"Sentiment": {"select": {"name": d["sentiment"]}},
"Tags": {"multi_select": [{"name": t} for t in d["tags"][:3]]},
}}).raise_for_status()
return {"tagged": min(len(rows), 25)}FAQ
Common questions
How does it know which rows to process?
Can I use my own list of tags?
Does it read long pages?
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
Export finished Notion pages to Markdown
When a page is marked ready, you get it as Markdown by email and the page is marked as exported.
See how it worksGet alerts when a Notion value goes out of range
When a reading or metric in your database passes your limit, you hear about it once, not on every check.
See how it worksPost Notion database changes to Slack
Your team hears when a project is added or its status changes, without checking Notion.
See how it worksKeep exploring
Set up “Summarise and tag new feedback in Notion” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.