The moment it happens
Get a Slack message for each published story
When a story goes live, Slack shows its name, who published it and where it lives on the site.
- Runs
- The moment it happens
- Apps
- Storyblok
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: when a story is published in my Storyblok space, post its name, author and full URL to #website in Slack.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A marketing manager finds out a new campaign page went live because a customer replied to it. The editor published on Thursday afternoon and assumed someone would tell social, support and the sales team. Nobody did, so the launch tweet went out two days late and support answered questions about a page they had never seen.
As soon as Storyblok sends its publish webhook, ClickRuntime fetches the story through the Management API so it has the real name, slug and full path, then posts a message to the Slack channel you choose. People who care about content see it within seconds, with a link they can open straight away.
Teams usually point it at a channel like #content-live, so marketing, support and developers can follow what changes on the site without logging in to Storyblok.
What you get out of it
Launches no longer slip through unnoticed
The people who share, support or test a page learn about it the minute it is live. A campaign that used to wait two days for a social post can be promoted the same afternoon.
Support can answer questions from day one
A message in Slack with the story name and link means the support team reads new pages before customers ask about them. Fewer replies start with a guess, and fewer tickets bounce between teams.
Mistakes get caught while they are still small
A typo or a wrong image on a fresh page is easiest to spot in the first minutes. When the whole channel sees the publish, someone usually notices and tells the editor before many visitors do.
Developers see content changes that touch the site
A published story can affect routes, navigation or cached pages. A notification gives engineers a timestamp to compare with a performance dip or a broken link report. That context saves time when diagnosing why something behaves differently after a release.
You get a running log of what shipped
Scrolling the channel shows which stories went live and when, which helps with weekly content reviews and with reconstructing what changed before a traffic drop. It also makes the weekly content review faster, because the history is already written down.
How it works
What happens, step by step
When a story is published in Storyblok, Storyblok tells ClickRuntime straight away.
ClickRuntime looks up the story to find its name, who published it and its address on your site.
A message appears in your #website Slack channel with the story name, the author and a link to the live page.
Before it runs live
- Connect Storyblok
- 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 Storyblok steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, credentials, http, notify
SITE = "https://www.example.com/"
@on_event
def handle(event):
body = event.json or {}
if body.get("action") != "published":
return {"skipped": body.get("action")}
story = http.get(f"https://mapi.storyblok.com/v1/spaces/{body['space_id']}/stories/{body['story_id']}",
headers={"Authorization": credentials.secret("STORYBLOK_MANAGEMENT_TOKEN")}).json()["story"]
author = (story.get("last_author") or {}).get("friendly_name", "someone")
notify.slack(f"📰 Published: {story['name']} by {author}\n{SITE}{story['full_slug']}", channel="#website")
return {"story": story["id"]}FAQ
Common questions
Does it fire when a story is unpublished or only saved?
Why does it fetch the story from the Management API?
Can I notify different channels for different content types?
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
Get a Friday round-up of Storyblok activity
Each Friday you get one email grouping the stories published and changed during the week.
See how it worksChase stories with unpublished edits
Every Monday you see stories whose changes have waited more than a month to be published.
See how it worksPost new orders and sign-ups to Slack
When something happens in your shop, app or form, the details land in the right channel straight away.
See how it worksKeep exploring
Set up “Get a Slack message for each published story” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.