Every 10 minutes
Get told when someone mentions a keyword in Slack
When anyone mentions a customer, a competitor or a word like "outage", you get the message and a link to it.
- Runs
- Every 10 minutes
- Apps
- Slack
- AI
- Not needed
- Access
- channels:history
Send this to your assistant
Create a ClickRuntime automation: every 10 minutes, check #support and #sales for 'outage', 'refund' or 'Acme', and email me any messages that mention them with a link to each.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Nobody can read every Slack channel. A customer mentions in #support-escalations that their dashboard has been down since morning, a salesperson writes about a prospect's cancellation in a private deal room, and the word "outage" appears in a thread three levels deep. Leaders only hear about it from a customer's email an hour later. The same goes for a key account's name: the signal is in conversation, but it is spread across too many places for anyone to watch.
Every ten minutes, ClickRuntime reads new messages since its last check, looks for the keywords you define, such as outage, refund or your biggest customer's name, and emails you each match with a permalink to the exact message. It then saves the newest timestamp, so the next run only sees messages that are actually new.
Executives, customer success leads and incident managers tend to use it for words that signal risk.
What you get out of it
Incidents surface within minutes
A mention of outage or data loss in any channel it can read becomes an email within about ten minutes, so the right person hears early, not after a customer escalates.
Key accounts are never discussed unnoticed
If your largest customer's name comes up in a complaint or renewal thread, the account owner finds out the same morning rather than at the next pipeline review, while there is still time to call the customer.
You skip the constant channel scanning
Instead of keeping a dozen channels open and reading them all, you rely on a short list of matches. Attention goes to the conversations that contain what you asked about, and the rest of the day stays uninterrupted.
Context arrives with each match
Each alert links to the original message, so you open the thread with its replies instead of reading a pasted quote with no surrounding discussion, and you can answer in the same place.
Compliance terms can be watched
Teams that must catch a phrase such as a contract term, a safety issue or a competitor's name can use the same list to monitor internal conversation without anyone reading everything.
How it works
What happens, step by step
Every 10 minutes ClickRuntime reads the new messages in the Slack channels you chose.
It looks for the words you care about, such as "outage" or "refund" or a client's name.
Matching messages are emailed to you with the channel name and a link straight to the message.
It remembers where it stopped reading, so each message is only checked once.
Before it runs live
- 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
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Google Sheets
- Combine it with other Slack steps into one automation
Under the hood
The code that runs this automation
import re
from slack_sdk import WebClient
from clickruntime import on_trigger, report_fetched, credentials, state, notify
CHANNELS = {"C01SUPPORT": "#support", "C02SALES00": "#sales"}
WORDS = re.compile(r"\b(outage|refund|acme)\b", re.I)
@on_trigger
def run(event):
slack = WebClient(token=credentials.connection("slack", "work"))
last = state.get("last_ts") or {}
hits = []
for cid, label in CHANNELS.items():
msgs = slack.conversations_history(channel=cid, oldest=last.get(cid, "0"), limit=200)["messages"]
if msgs:
last[cid] = msgs[0]["ts"]
for m in msgs:
if WORDS.search(m.get("text", "")):
link = slack.chat_getPermalink(channel=cid, message_ts=m["ts"])["permalink"]
hits.append(f"{label}: {m['text'][:200]}\n{link}")
report_fetched(len(hits))
state.set("last_ts", last)
if hits:
notify.email_me(f"{len(hits)} Slack messages matched your keywords", "\n\n".join(hits))
return {"matches": len(hits)}FAQ
Common questions
Which channels does it read?
Is the keyword match case sensitive?
Will I get the same message twice?
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
See new job listings as they're posted
Jobs that match your keywords show up in a Slack channel, each one only once.
See how it worksMake sure no question goes unanswered
Questions in your help channel that nobody answered after 2 hours get a nudge to the right people.
See how it worksWelcome new members when they join a Slack channel
Every 5 minutes, people who joined a Slack channel since the last check get a welcome message in that channel that mentions them and links the pinned guide.
See how it worksKeep exploring
Set up “Get told when someone mentions a keyword in Slack” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.