How to Get Alerts When Customer PPE Runs Fail on Apify
Get instant email and Slack alerts when a paying customer's Apify PPE actor run fails. ApifyForge Monitor uses Actor.addWebhook() ad-hoc webhooks to catch failures from all users, not just your own runs.
Apify provides built-in monitoring with aggregate charts and threshold alerts for your own runs, but does not currently offer per-run alerting for customer-triggered PPE failures. ApifyForge Monitor fills that gap by registering ad-hoc webhooks inside the actor code, so every failure from every user triggers an instant email or Slack notification. This page explains the problem, how ApifyForge Monitor solves it, and how to prevent customer churn from undetected failures.
What Apify provides for monitoring
Apify provides built-in monitoring with aggregate charts, threshold alerts, and status-based notifications for runs you start yourself. The Apify dashboard shows success/failure percentages over a 30-day rolling window, and you can configure static webhooks in the Apify console to fire on specific events for your own runs. These tools are useful for tracking your personal test runs and spotting long-term trends.
However, static webhooks configured in the Apify console only fire for the actor owner's own runs. They do not fire when a paying customer triggers a run of your PPE actor. This means customer failures go undetected until a support ticket or negative Store review appears.
The blind spot: customer-triggered PPE failures
PPE (pay-per-event) actors generate revenue every time a customer triggers a run. When that run fails, the customer loses trust. Most PPE customers do not file support requests — they leave a 1-star review or stop using the actor entirely.
Without run-level alerting for customer runs, the developer often discovers the problem days later. By then, the damage is done: the customer has churned, and the negative review is already public.
The core issue is that Apify's monitoring infrastructure was designed around the actor owner's perspective. Aggregate stats and owner-run webhooks cover the developer's own usage, but customer-triggered runs exist in a different scope that requires a different approach.
How ApifyForge Monitor catches customer failures
ApifyForge Monitor uses Apify's Actor.addWebhook() method to register an ad-hoc webhook inside the actor code itself. Because the webhook is registered at runtime on every run, it fires for all users — not just the owner.
When any run (yours or a customer's) fails, times out, or is aborted, Apify sends the event payload to ApifyForge Monitor. ApifyForge Monitor then delivers an alert with the actor name, error message, run ID, and a direct console link. Each alert arrives within seconds of the failure.
Alert examples by tier
Free tier alerts include: actor name, run status, run ID, duration, timestamp, and error message. This gives you enough context to identify the failing actor and open the run in the Apify console.
Developer tier ($9/month) adds: exit code with diagnostic label (OOM, timeout, exception), event type tracking (FAILED vs TIMED_OUT vs ABORTED), SUCCEEDED event monitoring, and Slack alerts.
Pro tier ($29/month) adds: the triggering user ID (so you can see which customer hit the failure), custom error messages from Actor.setStatusMessage(), and custom integration support for PagerDuty, Teams, and Linear.
Preventing customer churn with real-time alerts
The most common reason PPE actor customers churn is unresolved failures. If a paying customer's run fails repeatedly and the issue is never fixed, they stop using the actor. According to a 2023 PagerDuty survey, the average mean time to detect production incidents is 4.2 hours without real-time alerting. For PPE actor developers, that gap translates directly to lost revenue.
ApifyForge Monitor reduces detection time to seconds. You see the failure the moment it happens, diagnose the root cause from the error message and exit code, and deploy a fix before more customers are affected.
Getting started
Add one line of code to your actor's main function:
await Actor.addWebhook({
eventTypes: ['ACTOR.RUN.FAILED', 'ACTOR.RUN.TIMED_OUT', 'ACTOR.RUN.ABORTED'],
requestUrl: 'https://apifyforge.com/api/webhooks/apify-failures'
});Deploy your actor and monitoring is live. Sign up at apifyforge.com/connect to configure your alert preferences.
For the full setup walkthrough with Python examples and production patterns, see the Setup Guide. To understand what exit codes mean in your alerts, see Exit Codes Explained.
Last updated: March 2026
Frequently Asked Questions
Does Apify notify actor owners when customer runs fail?
Apify provides built-in monitoring with aggregate charts, threshold alerts, and status notifications for your own runs. For per-run alerting on customer-triggered PPE failures, ApifyForge Monitor extends this by registering ad-hoc webhooks that fire on every run, regardless of who started it.
Can I see which customer triggered the failure?
Yes, on the Pro plan ($29/month). The alert includes the triggering user ID, so you can identify which customer's run failed and follow up if needed. Free and Developer plans include the error details and run link but not the user ID.
How quickly do alerts arrive after a customer's run fails?
Alerts arrive within seconds of the failure event. Apify fires the ad-hoc webhook immediately when the run status changes, and ApifyForge Monitor processes the payload and sends the email or Slack notification in real time.
What failure types are tracked for customer runs?
ApifyForge Monitor tracks 3 Apify platform event types: ACTOR.RUN.FAILED (runtime errors, uncaught exceptions, out-of-memory crashes), ACTOR.RUN.TIMED_OUT (runs exceeding the configured timeout), and ACTOR.RUN.ABORTED (manually stopped or system-killed runs). All 3 types are tracked for every user's runs, including customers.
How does this help prevent negative reviews on the Apify Store?
Most PPE customers do not file support requests when a run fails — they leave a negative review or stop using the actor. By alerting you within seconds of the failure, ApifyForge Monitor gives you time to diagnose and fix the issue before more customers are affected. Faster fixes mean fewer bad experiences and fewer negative reviews.
Related guides
How to Set Up Apify Actor Failure Monitoring
Step-by-step guide to setting up Apify actor failure monitoring with ApifyForge Monitor. Includes full JavaScript and Python code examples using Actor.addWebhook() and Actor.add_webhook(), production patterns, and webhook testing instructions.
ApifyForge Monitor vs Apify Built-In Monitoring
Detailed comparison of ApifyForge Monitor, Apify's built-in dashboard monitoring, and Sentry for Apify actor failure tracking. Covers customer PPE run alerts, real-time notifications, setup complexity, and pricing.
How to Get Apify Actor Failure Alerts in Slack
Set up Slack alerts for Apify actor failures including customer PPE runs. Step-by-step guide to connecting Slack with ApifyForge Monitor for real-time failure notifications in your team channel.
Apify Actor Exit Codes: What They Mean and How to Diagnose Them
Reference guide to Apify actor exit codes: 0 (success), 1 (unhandled error), 91 (actor error), 137 (out of memory), 143 (SIGTERM), and 255 (platform error). Includes causes, fixes, and how ApifyForge Monitor translates codes into diagnostic labels.
Start Monitoring Your Actors
ApifyForge Monitor is free for up to 3 actors. 1 line of code, zero Apify credits.
Get started free