The moment it happens
Post failed Mux assets to Slack
You learn when a video fails to process, with the asset ID and the error.
- Runs
- The moment it happens
- Apps
- Mux
- AI
- Not needed
- Access
- Mux Video read
Send this to your assistant
Create a ClickRuntime automation: when a Mux asset in production errors, post the asset ID and the error message to #video-ops in Slack.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A creator uploads a 40-minute webinar recording through your product, the upload finishes, and the player shows a spinner forever. On Mux, the asset moved to the errored state because the file was corrupt, the codec was unsupported or the source URL could not be fetched. Nobody on your side knows until the user emails support a day later, by which time they have uploaded it twice and are frustrated.
When Mux sends a video.asset.errored webhook, ClickRuntime receives it as it arrives, formats the asset ID, the error type and message, and the passthrough value you attached to the upload, then posts it to the Slack channel or inbox you choose. There is no polling, so the notice appears moments after processing fails.
Teams that run user-generated video, course platforms and internal training libraries rely on it the most.
What you get out of it
Customers are contacted before they complain
A failed asset becomes a message to the support channel within seconds. Someone can write to the uploader that the file needs re-exporting, which beats a ticket arriving after two retries.
Support starts with the facts
The post carries the asset ID and Mux's error message, such as an invalid input file. The person answering knows whether to ask for a new export or to escalate a pipeline bug.
Pipeline bugs show up as a pattern
Five errors in an hour from one source indicate a regression, for example a transcoding setting or a broken upload URL. Seeing them in sequence in a channel makes that obvious, whereas one email would not.
Storage and encoding spend is not wasted
Assets stuck in errored state still occupy records and retries. Knowing about them quickly lets you delete them or retry the upload instead of paying for repeated failed processing. Retrying or deleting them early keeps your asset list clean.
Launches and live content are protected
If a keynote recording fails minutes before it is meant to go public, the team hears right away. Hours of delay can cost an event its audience. Hours of delay can cost an event its audience and a creator their trust.
How it works
What happens, step by step
When a video fails to process in Mux, Mux tells ClickRuntime straight away.
ClickRuntime ignores anything outside your production environment.
A message appears in your #video-ops Slack channel with the video's ID and the error Mux reported.
Before it runs live
- Connect Mux
- 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 Mux steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, notify
@on_event
def handle(event):
body = event.json or {}
if body.get("type") != "video.asset.errored" or body.get("environment", {}).get("name") != "Production":
return {"skipped": True}
asset = body["data"]
errors = "; ".join((asset.get("errors") or {}).get("messages", [])) or "no message"
notify.slack(f"❌ Mux asset {asset['id']} errored: {errors}", channel="#video-ops")
return {"asset": asset["id"]}FAQ
Common questions
Which Mux webhook does it use?
Can I tell which user uploaded the failed video?
Does it also report successes?
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
Track your Mux live stream status in Slack
You see when a stream goes active, idle or disconnected.
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 worksBook appointments only when you're free
Booking requests are accepted only for free slots within your hours, and land on your calendar with the attendee.
See how it worksKeep exploring
Set up “Post failed Mux assets to Slack” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
