Skip to content

Hourly

Get alerted when Braze webhook sends fail

You find out when a campaign's webhook sends start erroring, before the problem runs for days.

Runs
Hourly
Apps
Braze
AI
Not needed
Access
campaigns.data_series

Send this to your assistant

Create a ClickRuntime automation: every hour, check today's webhook errors for my Braze campaign 'Order Sync' and email me if there are more than 10.

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

Braze campaigns that call a webhook, for example to notify a partner system or a CRM when a message is sent, can fail without anybody noticing. The receiving endpoint changes, a certificate expires or the partner starts rate limiting, and Braze records the failed calls as errors in the campaign statistics. The campaign keeps sending emails, but the downstream system stops receiving updates, and the gap is found by someone asking why a report is empty.

Once an hour, ClickRuntime fetches the data series for the campaign, reads the webhook errors count and compares it with your threshold. If errors rise above it, you get an alert. Quiet hours with no errors produce nothing at all, so a message means something is wrong.

Marketing operations and engineering teams who connect Braze to other systems rely on it to catch broken integrations. Teams that depend on a webhook feeding a CRM, billing system or data warehouse benefit most from this check, particularly after any endpoint or credential change.

What you get out of it

  • Integrations are repaired within the hour

    A rising error count surfaces within an hour of the receiving system failing. Fixing a broken endpoint quickly limits how much downstream data goes missing. The message arrives while the cause is still recent and the logs are available.

  • Downstream data stays complete

    When a partner or CRM misses webhook calls, its records fall out of step with Braze. Catching errors early means fewer manual backfills afterwards. Backfilling a week of missing records is slow and error prone, so preventing the gap is worth much more than repairing it.

  • Silent failures become visible

    Braze does not email you when webhook sends fail. Checking the error figure on a schedule turns an invisible problem into a message you can act on. Without a scheduled check, the first sign is often a stakeholder noticing an empty report days later.

  • Thresholds filter out harmless noise

    One or two stray errors rarely matter. Setting the limit to match your normal level means alerts appear only for genuine breakage. A properly chosen number keeps people trusting the alert when it does fire, and prevents fatigue.

  • Marketing and engineering share the signal

    The alert names the campaign and the error count, so both teams look at the same facts. That shortens the argument about whether the fault lies in the campaign or the endpoint.

How it works

What happens, step by step

  1. Every hour, ClickRuntime checks today's numbers for your chosen Braze campaign, such as Order Sync.

  2. It counts how many of the campaign's webhook sends have failed today.

  3. If there are more than 10 errors, you get an email with the count, so you can fix the problem before it runs for days.

Before it runs live

  • Connect Braze

What you get

RunsHourly
Get alerted when Braze webhook sends failtoday, 9:00Succeeded
Email · Braze webhook errors27 webhook errors today on Order Sync (limit 10).

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

  • Run it at a different time, more or less often, or only on weekdays
  • 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 Braze 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.
webhook_channel_error_alert.pyexample
from clickruntime import on_trigger, credentials, notify, http

BRAZE = "https://rest.iad-01.braze.com"
CAMPAIGN_ID = "order-sync-campaign-id"  # Braze campaign "Order Sync"
MAX_ERRORS = 10

@on_trigger
def run(event):
    resp = http.get(f"{BRAZE}/campaigns/data_series",
                    headers={"Authorization": f"Bearer {credentials.secret('BRAZE_API_KEY')}"},
                    params={"campaign_id": CAMPAIGN_ID, "length": 1})
    resp.raise_for_status()
    today = resp.json()["data"][-1]
    errors = sum(v.get("errors", 0) for v in today["messages"].get("webhook", []))
    if errors > MAX_ERRORS:
        notify.email_me("Braze Order Sync webhook errors", f"{errors} webhook errors today on Order Sync (limit {MAX_ERRORS}).")
    return {"errors": errors}

FAQ

Common questions

What counts as a webhook error in Braze?
The data series for a campaign includes an errors figure for webhook sends, representing calls that did not complete successfully. The workflow reads that number and compares it with your limit. Braze decides what is counted as an error.
Can it monitor several campaigns?
Yes. The workflow can loop over a list of campaign IDs and check each one's error count, then alert with the names of those over the limit. Give your AI assistant the IDs and confirm the plan.
Why hourly rather than instant?
Braze reports the figure through its statistics rather than sending an event when a webhook fails, so the check runs on a schedule. An hourly interval balances timely warning with the number of API calls made.
What permissions does it need?
campaigns.data_series. 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 each time it runs (hourly). Checks that find nothing to do and stop right away aren't counted.
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 alerted when Braze webhook sends fail” from your assistant

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