Hellhound monitors Make.com scenarios by receiving two webhook signals from your scenario — one when it starts, one when it finishes. If the finish signal never arrives, or arrives with an error, Hellhound alerts you immediately.
You add two HTTP Request modules to your existing scenario. Nothing else changes. Your scenario logic is untouched.
What Hellhound monitors in Make.com
Hellhound tracks each scenario run and detects:
Missed runs — scenario did not run when expected
Hellhound learns your scenario's schedule and alerts if it goes quiet for longer than expected.
Failed runs — Make.com reported an error
When your run-end module sends success: false, Hellhound immediately alerts you with the error message.
Hung scenarios — run-start received, run-end never came
If your scenario starts but does not complete within 2x its normal duration, Hellhound pages you.
Slow runs — taking much longer than usual
If a scenario that normally takes 30 seconds suddenly takes 10 minutes, Hellhound flags it.
What Hellhound cannot detect
Hellhound monitors at the scenario level, not the module level. It cannot see which specific module inside your scenario failed. For that, use Make.com's built-in error handlers alongside Hellhound.
Hellhound catches:
- ✓ "My scenario didn't run at all"
- ✓ "My scenario crashed partway through"
- ✓ "My scenario is taking way too long"
- ✓ "My scenario is producing no results"
Make.com's own error handling catches:
- → Which specific module failed
- → The exact error message from a module
- → Module-level retry logic
What you need
A Hellhound account — sign up at hellhound.dev
You will need your API key (get it in step 1 below)
A Make.com account with at least one active scenario
The scenario must use HTTP Request modules
(available on all Make.com plans including free)
HTTP Request is a built-in Make.com module — you do not need any special Make.com plan or add-on. It is available on every plan including the free tier.
Get your API key
Your API key authenticates Hellhound's webhook requests. You can find it in two places.
Option A — From the CLI
If you have the Hellhound CLI installed:
Copy the api_key value. You will use it in the next steps.
Option B — From the dashboard
Your API key was shown once when you registered on hellhound.dev. If you did not save it:
- Log in at hellhound.dev/dashboard
- Go to Account Settings → API Key
- Click "Generate new key" and confirm with your password
- Copy the new key — it is shown once
Keep your API key private. Anyone with your API key can create runs under your account. Do not commit it to Git or share it publicly.
If you think your key is compromised, go to Account Settings and generate a new one — your old key stops working immediately.
Add the run-start module
Add an HTTP Request module as the FIRST module in your scenario, immediately after your trigger.
How to add it in Make.com
- Open your scenario in Make.com
- Click the + button after your trigger
- Search for "HTTP" and select HTTP → Make a request
- Configure the module with these exact settings:
| Setting | Value |
|---|---|
| URL | https://hellhound.dev/api/webhook/run-start |
| Method | POST |
| Headers | X-API-Key: your-api-key-here |
| Body type | Raw |
| Content type | application/json |
| Request content | see JSON below |
Important — naming your scenario:
The automation_name is how you identify this scenario in your Hellhound dashboard and in alert messages.
Good names:
Bad names:
Use the same name consistently in both run-start and run-end.
Save the run ID
The run-start response returns a run_id. You need to pass this to the run-end module so Hellhound can match them.
After adding the HTTP module, configure the response parsing:
- Under Response → Parse response: Yes
- Under Response → Output type: JSON
Make.com will now expose the run_id in the data bundle. You can reference it as:
Response shape:
If you cannot use the run_id (e.g. in a complex scenario where storing it is difficult), you can omit it in run-end and use automation_name alone. Hellhound will match the most recent running run for that automation. Using run_id is more reliable.
Add the run-end module
Add an HTTP Request module as the LAST module in your scenario, after all your other modules complete successfully.
Settings
| Setting | Value |
|---|---|
| URL | https://hellhound.dev/api/webhook/run-end |
| Method | POST |
| Headers | X-API-Key: your-api-key-here |
| Body type | Raw |
| Content type | application/json |
| Request content | see JSON below |
Replace {{1.run_id}} with the actual reference to the run_id from your run-start module. The module number depends on where you placed run-start in your scenario.
The automation_name here must exactly match the automation_name you used in run-start. Capitalisation and spacing matter. Copy-paste it to be safe.
Add error handling
This step is critical. Without error handling, Hellhound only detects hung scenarios (where run-end never arrives). With error handling, it catches explicit failures too.
How to add error handling in Make.com
Make.com has two ways to handle errors:
Method 1 — Error handler route (recommended):
- Right-click any module in your scenario
- Select "Add error handler"
- Choose "Break" route type
- Add an HTTP Request module to the error route
Method 2 — Scenario error settings:
Use Make.com's built-in error notification alongside Hellhound's error webhook for maximum coverage.
Settings for the error handler HTTP module:
| Setting | Value |
|---|---|
| URL | https://hellhound.dev/api/webhook/run-end |
| Method | POST |
| Headers | X-API-Key: your-api-key-here |
| Body type | Raw |
| Content type | application/json |
| Request content | see JSON below |
Note: {{error.message}} is Make.com's built-in variable that contains the error from the failed module.
What this looks like in your scenario
Result in Hellhound:
When a module in your scenario fails, Hellhound immediately receives:
- success: false
- error_message: "the actual error from Make.com"
You get an alert within seconds of the failure, not hours later when you happen to check Make.com's execution history.
If you skip this step, Hellhound will still detect failures — but only after a timeout (when run-end never arrives). Adding explicit error handling means you get alerted faster and with a more useful error message.
Set up your alerts
Tell Hellhound where to send alerts for this scenario.
Install the CLI first if you haven't:
Then add your alert destinations:
Test your setup
Run your scenario once manually in Make.com to verify Hellhound is receiving the signals correctly.
How to test
- Open your scenario in Make.com
- Click "Run once" at the bottom
- Watch the execution — all modules should turn green
- Open your Hellhound dashboard
You should see:
- ✓ Your scenario name appears in the agent list
- ✓ Run #1 shows in the run history
- ✓ Status: ok
- ✓ Duration recorded
Verify via CLI
Expected output:
Test error detection
To verify error handling works, temporarily add a module that fails intentionally:
- Add a Tools → Error (throw error) module before your run-end
- Run the scenario once
- You should receive an alert immediately
- Check your dashboard — the run should show as "failed"
- Remove the error module when done
Once you see Run #1 in your dashboard with status "ok", you are done. Hellhound is now monitoring every future execution of this scenario automatically.
Naming your scenarios
Good automation names make your dashboard readable when you are monitoring 20+ scenarios for multiple clients.
Good naming patterns:
Format: {client}-{what-it-does}
Why this matters:
When you get a 3am Slack alert saying:
You know immediately:
- — Which client is affected (Acme)
- — Which automation is broken (lead enrichment)
- — Which person to potentially notify
Compare to getting an alert saying:
At 3am you have no idea what that is.
Keep names consistent:
The automation_name in your HTTP modules must match exactly what you use in hellhound alert add --name.
If you rename a scenario in Make.com, update the automation_name in your HTTP modules to match.
Monitoring multiple scenarios
Each Make.com scenario gets its own automation_name. There is no limit on how many scenarios you can monitor.
Setting up multiple scenarios
Repeat steps 2-5 for each scenario. The only thing that changes between scenarios is the automation_name in the request body.
Everything else — API key, URL, method, headers — stays identical across all your scenarios.
Reusing a Make.com HTTP module template
Save time by creating the HTTP Request modules once and copying them between scenarios:
- Right-click the HTTP Request module in Make.com
- Select "Copy"
- Open another scenario
- Paste the module
- Update only the automation_name in the request body
The URL, method, and headers stay the same.
Setting alerts for each scenario
Each scenario can have different alert destinations. This is especially useful if different scenarios belong to different clients — you can alert the right person for each one.
Plan limits
| Plan | Automations you can monitor |
|---|---|
| Pro ($149) | Up to 20 automations |
| Agency ($349) | Unlimited automations |
If you hit the Pro limit, upgrade to Agency at hellhound.dev/pricing.
A complete working example
Here is a minimal Make.com scenario with Hellhound monitoring configured correctly.
Scenario: Lead enrichment — runs every 15 minutes, fetches new leads from a form, enriches via an API, saves to a CRM.
Key points from this example:
Both the YES and NO router paths end with run-end success: true — "No leads today" is not a failure — it ran correctly
The error handler covers all modules and sends success: false with the actual error message
The automation_name is the same in every HTTP module
run_id is saved from run-start and passed to every run-end
Notice that "No leads found" is treated as success: true. Only actual errors (modules failing, API errors, crashes) should use success: false. A scenario that runs and finds no data is working correctly.
Common issues and fixes
Scenario does not appear in dashboard after running
Cause: The run-start HTTP module did not fire or failed silently.
Check:
- Open Make.com scenario history
- Find the run-start HTTP module
- Click it to see the request details
- Check the response — it should be 200 with a run_id
Common fixes:
- ● Verify the URL is exactly: https://hellhound.dev/api/webhook/run-start
- ● Verify the X-API-Key header has your actual API key (not a placeholder)
- ● Verify the body is valid JSON (no trailing commas, quoted strings)
- ● Make sure the HTTP module runs before any filtering/routing that might skip it
Run shows as "missed" immediately
Cause: run-start fired but run-end never arrived.
Check:
- Is the run-end module the very LAST module in the success path?
- Did the scenario complete fully or stop early?
- Is there a filter or router that might skip the run-end module?
Fix: Move the run-end module to be the absolute last module in your scenario. Make sure every success path through your scenario ends with the run-end module.
Getting an alert with "success: null"
Cause: The run-end module was reached but the success field was missing or null in the request body.
Fix: Check your run-end request body. Make sure it contains:
"success": true
(not a variable — the literal JSON boolean true)
401 Unauthorized from the HTTP module
Cause: Invalid or missing API key.
Fix:
- Get your API key:
cat ~/.hellhound/config.json - In the HTTP module header, verify X-API-Key is set
- Make sure there are no spaces before or after the key value
- The header name must be exactly X-API-Key (capital X, capital A, capital K)
400 Bad Request from the HTTP module
Cause: Malformed JSON in the request body.
Fix: Validate your JSON at jsonlint.com. Common mistakes:
- ● Missing quotes around automation_name value
- ● Trailing comma after the last field
- ● Using Make.com variables incorrectly in the JSON
Correct body:
Alerts not being received
Cause: Alert not configured for this automation name.
Fix:
Important: The --name flag must exactly match the automation_name in your HTTP modules.
Too many false positive alerts
Cause: Hellhound is still building your baseline.
The first 10 runs are the baseline learning period. During these first 10 runs, Hellhound collects data but does not send any anomaly alerts. After 10 runs it knows what normal looks like and only alerts on extreme outliers.
After 10 runs, Hellhound only alerts on extreme outliers:
- ● Output 90%+ shorter than normal
- ● Duration 10x+ slower than normal
- ● Explicit success: false
- ● No run-end received
Day-to-day variation in output size or duration does NOT trigger alerts.
Still stuck?
If the issue is with your API key, you can always regenerate a new one at hellhound.dev/account without contacting us.
Email contact@zerostone.digital with:
- — Your automation_name
- — A screenshot of your HTTP Request module settings
- — The response you are getting from the HTTP module
- — What you expected vs what actually happened
We will reply as fast as we can.
Make.com questions
Does this work with Make.com's free plan? expand_more
Yes. The HTTP Request module is available on all Make.com plans including the free tier. There are no restrictions.
Does adding the HTTP modules slow down my scenario? expand_more
Negligibly. Each HTTP module adds approximately 100-500ms to your scenario's execution time — the same as any other HTTP request to an external API.
What if my Make.com scenario uses routers or filters? expand_more
Make sure both the run-start and run-end modules are on every path through your scenario. If you have a router that splits into two paths, each path that represents a successful execution needs a run-end module.
Can I monitor multiple Make.com accounts with one Hellhound account? expand_more
Yes. Your API key works regardless of which Make.com account the scenario is in. Use a unique automation_name for each scenario across all your Make.com accounts.
What if my scenario runs thousands of times per day? expand_more
Every run is logged and alerts are deduplicated with a 30-minute cooldown. You will not get thousands of alerts. Run history is stored for 90 days (Pro) or 1 year (Agency).
Can I see which module in my scenario failed? expand_more
Hellhound shows the error_message you send in the run-end body. If you pass {{error.message}} from Make.com's error handler, you will see the Make.com error message in your Hellhound alert. For module-level debugging, use Make.com's built-in execution history alongside Hellhound.
My scenario has 50+ modules. Does that change the setup? expand_more
No. The setup is always the same: run-start as the first module, run-end as the last module. The number of modules in between does not matter.
Can I test with Make.com's "Run once" feature? expand_more
Yes. "Run once" is the recommended way to test. It executes the scenario from start to finish and you can watch each module's execution in real time, including both HTTP modules.
What if I need to update the API key in all my scenarios? expand_more
Currently you would need to update the X-API-Key header in each HTTP module individually. We recommend using Make.com's custom variables or a connection to store the API key in one place. See Make.com docs on custom variables for how to do this.
Does Hellhound know about Make.com's built-in retry logic? expand_more
If Make.com retries a failed module, each retry is part of the same run as far as Hellhound is concerned — Hellhound tracks from run-start to run-end. If all retries fail and your error handler fires, Hellhound will receive the failure.
What to do next
Set up alerts
Configure where Hellhound sends alerts when your scenarios fail or go quiet.
→ hellhound alert add dashboardView your dashboard
See all your monitored scenarios, run history, and anomaly logs in one place.
→ Open dashboard helpNeed help?
Something not working? Email us and we will sort it out with you.
contact@zerostone.digital