Skip to content

The moment it happens

Get a Slack alert when a scraper fails

When any actor run fails or times out, you get its name and a link to the run in Slack.

Runs
The moment it happens
Apps
Apify
AI
Not needed
Access
API token

Send this to your assistant

Create a ClickRuntime automation: give me a webhook link for Apify. When any actor run fails or times out, post the actor name and a link to the run to #scrapers in Slack.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A growth analyst relies on an Apify actor that scrapes competitor pricing every night, and a Google Sheet downstream feeds a pricing dashboard. One evening the target site changes its layout, the actor throws errors and the run ends as FAILED. Nothing breaks loudly. The dashboard simply keeps showing stale prices, and the gap is found days later when a colleague asks why a number looks wrong.

When an Apify run finishes with a FAILED, TIMED-OUT or ABORTED status, Apify sends a webhook to ClickRuntime. ClickRuntime picks out the actor name, the run status and the run link, then posts a short message to Slack or sends an email. It reacts as soon as the event arrives, with no polling delay.

Teams running many actors for clients, lead lists or monitoring get the most from it.

What you get out of it

  • Stale data never reaches reports

    Because the failure reaches you the same evening, the dashboard is fixed or flagged before the next morning's meeting. Decisions stop being made on prices that are three days old.

  • Debugging starts at the right page

    The message links straight to the failed run, where the log, input and exit code are already waiting. You skip the hunt through the Apify console for which actor and which run broke.

  • Client scrapes stay on schedule

    If you deliver scraped data to customers, a silent failure becomes a missed delivery. An immediate alert lets you rerun the actor and still hit the agreed time. Your customer hears about a fix, not about a gap.

  • Timeouts get noticed too

    Runs that hit the time limit are easy to overlook because nothing crashes. Treating them as failures catches the slow pages and blocked proxies that quietly shrink your dataset. That keeps the dataset complete.

  • The whole team sees one signal

    Posting to a shared Slack channel means the person on call and the person who wrote the actor see the same message, so ownership gets sorted in the thread instead of by forwarded email.

How it works

What happens, step by step

  1. When an Apify scraper run fails, times out or is stopped, Apify tells ClickRuntime straight away.

  2. ClickRuntime looks up the scraper's name.

  3. It posts to #scrapers in Slack with the scraper name, what happened and a link to the run.

Before it runs live

  • Connect Apify
  • Paste your automation's link into the other app's webhook settings

What you get

RunsThe moment it happens
Get a Slack alert when a scraper failsjust nowSucceeded
Slack · #scrapersApify run timed-out: northwind-price-crawler https://console.apify.com/actors/aB12cD34/runs/Xy98Zw76

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • 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 Apify steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
actor_run_failed_alert.pyexample
from clickruntime import on_event, credentials, http, notify

FAILED = {"ACTOR.RUN.FAILED", "ACTOR.RUN.TIMED_OUT", "ACTOR.RUN.ABORTED"}

@on_event
def handle(event):
    payload = event.json or {}
    if payload.get("eventType") not in FAILED:
        return {"posted": False}
    run = payload.get("resource") or {}
    token = credentials.secret("APIFY_TOKEN")
    actor = http.get(f"https://api.apify.com/v2/acts/{run['actId']}",
                     headers={"Authorization": f"Bearer {token}"}).json()["data"]
    link = f"https://console.apify.com/actors/{run['actId']}/runs/{run['id']}"
    notify.slack(f"Apify run {run.get('status', 'FAILED').lower()}: {actor['name']}\n{link}",
                 channel="#scrapers")
    return {"posted": True, "actor": actor["name"]}

FAQ

Common questions

Which Apify events count as a failure?
Apify can notify on run failed, run timed out and run aborted, as well as on success. This alert is built around the failure states. You choose the event types when the webhook is registered, so a successful run does not generate noise in your channel.
Do I have to set up the webhook in Apify myself?
Apify webhooks live in the actor's settings or in the API. Your AI assistant can give you the ClickRuntime URL to paste, or you can add it under the actor's Integrations tab. Once saved, a failure triggers a message with no further steps on your side.
What if the actor retries and succeeds?
Each run is a separate event, so a failed run still produces an alert even if a later attempt works. If that is too noisy, you can ask for the alert to wait for a second failure in a row before posting.
What permissions does it need?
API token. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run for each event the app sends.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Get a Slack alert when a scraper fails” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.