DOCUMENTATION

Getting Started

Everything you need to monitor your first automation in under 10 minutes.

Last updated: March 2026
QUICK START

Five minutes to your first alert

Hellhound watches any automation you point it at. It learns what "normal" looks like over the first 10 runs, then alerts you by email or Slack the moment something looks seriously wrong.

There are two ways to connect your automations:

CLI — for scripts and code

Best for: Node.js scripts, Python agents, Bash cron jobs, any CLI command you run yourself

Setup time: 2 minutes

Webhook — for Make.com, n8n, Zapier

Best for: Visual automation platforms where you can't run a CLI command

Setup time: 5 minutes
STEP 1

Install Hellhound

Install the CLI globally via npm. You need Node.js 18 or higher.

$ npm install -g hellhound-cli

Verify it worked:

$ hellhound --version
# Should print: 1.0.0 (or current version)

If you get "command not found" after installing, your npm global bin directory may not be in your PATH.

Run: npm config get prefix
Then add {prefix}/bin to your PATH.

On Mac/Linux add this to your ~/.zshrc or ~/.bashrc:

export PATH="$(npm config get prefix)/bin:$PATH"

Then restart your terminal.

STEP 2

Initialize your account

Link the CLI to your Hellhound account. This generates your API key and saves it locally to ~/.hellhound/config.json.

$ hellhound init

You will be prompted for your email address. Enter the email you used to sign up.

What happens:

Hellhound creates your account (or links to your existing one) and saves your API key locally. You only need to do this once per machine.

Example output:

$ hellhound init
Enter your email: you@agency.com
🐕 Hellhound initialized!
API key: hh_live_xxxxxxxxxxxxxxxx
Config saved to ~/.hellhound/config.json
Start monitoring: hellhound watch --name "my-agent" --run "node agent.js"

Your API key is saved at ~/.hellhound/config.json on your machine. Keep it private — it authenticates all CLI commands and webhook requests. If you think your key is compromised, email contact@zerostone.digital and we will rotate it immediately.

STEP 3

Monitor your first automation

Choose the connection method that matches how your automation runs.

Use this if you run your automation with a command like:

node agent.js
python agent.py
./run-pipeline.sh

How it works:

Hellhound wraps your existing command. Instead of running your agent directly, you run it through Hellhound. Your agent code does not change at all.

For task agents (run and exit):

Your agent runs once and finishes. Use hellhound watch.

# Before Hellhound:
node agent.js
# After Hellhound (zero changes to agent.js):
hellhound watch --name "my-agent" --run "node agent.js"

For long-running agents (always on):

Your agent runs continuously. Use hellhound attach.

hellhound attach --name "my-agent" --run "node agent.js"
# Or attach to an already-running process by PID:
hellhound attach --name "my-agent" --pid 48291

Name your agents clearly:

The --name flag is how you identify this automation in your dashboard and in alerts. Use something descriptive like:

"lead-enrichment-pipeline"
"support-inbox-monitor"
"competitor-price-scraper"
"client-acme-daily-report"

Include the client name for client automations
Include what it does
Use hyphens not spaces
Don't use "agent1" or "test" — you'll have 20 agents soon and you need to tell them apart at 3am

STEP 4

Set up your alerts

Hellhound needs to know where to send alerts when something goes wrong. You can set up alerts per automation.

Email alerts

hellhound alert add --name "my-agent" --channel email --to you@agency.com

You can add multiple email addresses:

hellhound alert add --name "my-agent" --channel email --to ops@agency.com
hellhound alert add --name "my-agent" --channel email --to client@company.com

Slack alerts

Get a Slack incoming webhook URL:

  1. Go to api.slack.com/apps
  2. Create a new app or use an existing one
  3. Enable Incoming Webhooks
  4. Add a webhook to your workspace
  5. Copy the webhook URL (starts with https://hooks.slack.com/...)
hellhound alert add \
--name "my-agent" \
--channel slack \
--to "https://hooks.slack.com/services/YOUR/WEBHOOK/URL"

Create a dedicated Slack channel for Hellhound alerts. Something like #automation-alerts or #hellhound. That way alerts are visible to the whole team without polluting general channels.

SMS alerts (Agency plan)

SMS alerts are available on the Agency plan. Phone numbers must be in E.164 format (+14155552671).

hellhound alert add --name "my-agent" --channel sms --to +14155552671

View your alert config

hellhound alert list --name "my-agent"

For Make.com / n8n / Zapier

Alert config for webhook-based automations works the same way. Use the automation_name you set in the webhook as the --name flag:

hellhound alert add --name "lead-pipeline" --channel slack \
--to "https://hooks.slack.com/services/YOUR/WEBHOOK/URL"
THE DASHBOARD

Your monitoring dashboard

Open your dashboard at hellhound.dev/dashboard.

What you see:

Agent list — every automation you are monitoring. Each shows:

  • Green dot — actively monitored, last run normal
  • Amber dot — anomaly detected on last or recent run
  • Red dot — crashed, dead heartbeat, or missed run

Click any agent to see its run history.

Run history

Each row shows one execution of your automation:

Run #— sequential run number
Status— ok / anomaly / crash / missed
Duration— how long it took
Output— how much output it produced
Time— when it ran

Click any run to see the full detail including:

  • — Exact anomaly reasons
  • — Which alerts were sent and when

What "anomaly" means

Anomaly means Hellhound detected something statistically unusual compared to your automation's baseline. It does NOT necessarily mean something is wrong.

When you see an anomaly:

  1. Click the run to see the specific reason
  2. Check if your automation actually produced correct output
  3. If it was a false alarm, ignore it — the baseline will adjust

Common false alarms in the first 50 runs:

  • — Your automation ran with fewer records than usual
  • — The API it calls was slow
  • — You ran it manually in a slightly different way

False alarms reduce significantly after 50+ runs as the baseline learns your automation's real patterns.

HOW IT WORKS

How Hellhound detects problems

Hellhound uses baseline learning — not rules you configure. It watches your automation run and learns what normal looks like, then alerts when something deviates significantly.

The baseline period

For the first 10 runs, Hellhound collects data but does not alert. This is the baseline learning period.

After 10 runs, it knows:

  • — How long your automation normally takes
  • — How much output it normally produces
  • — What format the output is normally in

Every run after that is compared against this baseline.

What triggers an alert

Hellhound only alerts on extreme outliers to minimize false positives. Small day-to-day variations are ignored.

These always trigger an alert (no baseline needed):

  • Crash — exit code not zero
  • Error keywords — "failed", "error", "timeout" in logs

These trigger an alert after baseline is established:

  • Output 90%+ shorter than baseline
    Example: normally 5,000 chars, now 50 chars
  • Duration 10x+ slower than baseline
    Example: normally 30 seconds, now 5 minutes
  • Duration 95%+ faster than usual (exit 0 only)
    Example: normally 30 seconds, now 1 second — likely crashed immediately
  • Output format changed — was JSON, now plain text
  • No heartbeat received — long-running agent went quiet
  • Identical output every run — possible stuck loop
  • No output — when baseline shows it normally produces content
  • Missed scheduled run — silence where output was expected

What does not trigger an alert

These are intentionally ignored:

  • Output 20%, 40%, or even 80% shorter than baseline
  • Duration 2x or 3x slower than baseline
  • Normal variation in output length
  • API responses that are slightly slower

This is deliberate. Automation output varies naturally based on how much data your agents process. Hellhound only fires when something is extreme enough that no human would call it normal.

Alert deduplication

If the same automation keeps failing, Hellhound does not send you an alert for every single run. It deduplicates alerts with a 30-minute cooldown per automation per alert type.

You get alerted when something goes wrong. You do not get 47 emails because your cron job failed 47 times.

FAQ

Common questions

Do I need to change my agent code? expand_more

No. For CLI-based automations, Hellhound wraps your command from the outside — your code does not change at all. For Make.com, n8n, and Zapier, you add two HTTP request modules to your scenario — nothing about your existing automation logic changes.

What if my automation runs 100 times per day? expand_more

Every run is logged. Alerts deduplicate with a 30-minute cooldown so you are not flooded with notifications. Run history is stored for 90 days (Pro) or 1 year (Agency).

What if I have many automations with different names for the same client? expand_more

Name them descriptively and consistently. We recommend including the client name: "acme-lead-pipeline", "acme-invoice-processor". The dashboard shows all agents and you can see their status at a glance.

What does Hellhound store from my automation output? expand_more

Only the first and last 200 characters of output as a preview, plus metadata — duration, output length, exit code, format, timestamp. The full content of your automation output is never sent to our servers. Your clients' data stays on your infrastructure.

My automation produces different amounts of output depending on how many records it processes. Will this cause false alerts? expand_more

Hellhound uses a rolling average baseline and only alerts on extreme deviations (90%+ shorter or 10x+ longer). Minor variations from different data volumes will not trigger alerts. If you regularly process wildly different volumes, the baseline will adapt over time to reflect your actual distribution.

How do I monitor an automation that runs on someone else's server? expand_more

Install the CLI on that server, run hellhound init with your API key, and use hellhound watch or attach as normal. The CLI sends data to hellhound.dev so the server needs outbound internet access.

What happens if Hellhound itself goes down? expand_more

Your automations continue running normally — Hellhound is monitoring-only and not in the critical path of your automation. We do not guarantee 100% uptime. If monitoring is unavailable, you simply do not receive alerts during that period.

Can I use Hellhound for Make.com automations that run on a schedule? expand_more

Yes. Hellhound detects missed scheduled runs — if an automation does not send a run-start signal within the expected window, you get alerted. This catches cases where Make.com fails to trigger the scenario at all.

Something is not working. How do I get help? expand_more

Email contact@zerostone.digital with:

  • — Your automation name
  • — What you expected to happen
  • — What actually happened
  • — Any error messages from the CLI (run with --verbose if available)

We will respond as fast as we can.

What to do next