Every 5 minutes
Turn Slack requests into Notion tickets
Requests posted in Slack become Notion tickets with a type and priority, and urgent ones are flagged straight away.
- Runs
- Every 5 minutes
- Apps
- Notion, Slack
- AI
- Yes, uses the built-in AI allowance
- Access
- Slack channels:history, chat:write; Notion insert
Send this to your assistant
Create a ClickRuntime automation: every 5 minutes, take new messages in #requests, work out the type and priority of each, create a ticket in my Requests database in Notion, and post urgent ones to #ops.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A support channel, an internal request form or a shared inbox receives questions all day: a billing issue from a key customer, a request for a new laptop, a bug report, a casual question. They arrive as messages, all looking alike. Someone has to read each one, decide what it is, how urgent it is and who handles it, and then log it. When that person is busy, an urgent outage report waits behind a question about office plants.
Every five minutes ClickRuntime reads new messages, uses its built-in AI to decide the type, priority and a one-line summary, creates a ticket page in Notion with those fields, and posts to Slack only when the priority is high. Low priority items are logged quietly and can be worked through in order.
It suits support, IT and operations teams that do not want to buy a ticketing system yet.
What you get out of it
Urgent requests are seen first
High priority items are announced in Slack while routine ones are just logged. An outage report is not buried under ordinary questions. An outage report is announced in the channel, not buried below questions about office supplies.
Every request has a record
Each message becomes a Notion ticket with type, priority and summary. Nothing depends on someone remembering a message from last Tuesday. Nothing depends on someone remembering a message from last Tuesday, and reporting is simple later.
Sorting work stops being a job
The AI performs first-pass triage, so a person does not read and classify each message. Staff spend the time actually resolving requests. Staff spend the time actually resolving requests instead of sorting them into piles first.
Patterns can be analysed
With types and priorities stored as properties, you can count requests per week and see what generates the most. That supports decisions about documentation or staffing. That supports decisions about documentation, staffing or product fixes, using real counts.
A lightweight alternative to a ticketing tool
Teams get a queue, categories and alerts using Notion and Slack they already pay for. Moving to a dedicated tool later is easier, because the data is already structured. Moving to a dedicated tool later is easier, because the history is already structured.
How it works
What happens, step by step
Every 5 minutes, ClickRuntime reads new messages posted in your Slack requests channel since the last check.
AI reads each request, decides its type and priority, and writes a short summary.
A ticket is created in your Notion requests database with those details.
Urgent requests are also flagged in your #ops Slack channel with the summary and a link to the ticket.
Before it runs live
- Connect Notion and share the database you want it to use
- Connect Slack, then invite the app to the channel (type /invite @ClickRuntime there)
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 Google Sheets
- Combine it with other Notion and Slack steps into one automation
Under the hood
The code that runs this automation
from slack_sdk import WebClient
from clickruntime import on_trigger, credentials, http, state, ai, notify, report_fetched
CHANNEL_ID = "C0123REQUESTS"
DATABASE_ID = "your-requests-database-id"
@on_trigger
def run(event):
slack = WebClient(token=credentials.connection("slack", "work"))
oldest = state.get("oldest") or "0"
msgs = [m for m in slack.conversations_history(channel=CHANNEL_ID, oldest=oldest, limit=50)["messages"]
if not m.get("bot_id") and m.get("subtype") is None]
report_fetched(len(msgs))
if not msgs:
return {"new": 0}
for m in reversed(msgs):
t = ai.generate(m["text"][:2000], max_output_tokens=80,
json_schema={"type": "object", "properties": {"type": {"enum": ["bug", "access", "question", "feature"]},
"priority": {"enum": ["urgent", "normal", "low"]}, "summary": {"type": "string"}}}).json
page = http.post("https://api.notion.com/v1/pages",
headers={"Authorization": f"Bearer {credentials.secret('NOTION_TOKEN')}", "Notion-Version": "2022-06-28"},
json={"parent": {"database_id": DATABASE_ID}, "properties": {
"Name": {"title": [{"text": {"content": t["summary"][:200]}}]},
"Type": {"select": {"name": t["type"]}}, "Priority": {"select": {"name": t["priority"]}}}}).json()
if t["priority"] == "urgent":
notify.slack(f"🚨 Urgent {t['type']}: {t['summary']}\n{page['url']}", channel="#ops")
state.set("oldest", msgs[0]["ts"])
return {"tickets": len(msgs)}FAQ
Common questions
How does the AI decide priority?
Can it assign tickets to people?
What if the AI classifies something wrongly?
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
Save important Slack messages to Notion
React to a message with 🔖 and it's saved to a Notion database, tagged so you can find it later.
See how it worksCollect ideas from Slack in Notion
Ideas posted in a Slack channel become short, tidy pages in your Notion ideas database, with a link back in the thread.
See how it worksTurn meeting recordings into Notion notes
After each call, a summary with action items is saved to Notion and the highlights are posted to Slack.
See how it worksKeep exploring
Set up “Turn Slack requests into Notion tickets” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.