Automate What Happens
After an Event Arrives.
Endpoint Actions let you compose safe outbound requests, transform event data, and chain forward, tag, notify, and ignore steps with provider-aware conditions. Every run is recorded with a redacted, size-bounded step-by-step execution trace for debugging.
Compose Safe Automation Chains.
Build bounded automation chains that match how your team actually handles webhooks and email.
Forward
Route webhooks or normalized email events to remote destinations with configurable timeouts, bounded retries, and built-in destination safeguards. Requires an active paid subscription.
Notify
Alert your team through Slack, email, Discord, PagerDuty, or any notification channel when specific webhooks arrive.
Tag
Automatically categorize requests with workspace tags. Filter by Stripe events, error types, environments, or any custom taxonomy.
Ignore / Resolve
Automatically dismiss health checks, keep-alives, and duplicate retries. Keep your feed focused on the requests that matter.
Transform
Build a bounded JSON value from request data using select, set, remove, rename, pick, and wrap operations. The output is available to later steps and kept out of execution traces.
HTTP Request
Build a new outbound HTTP request from bounded context with URL, header, and body templates. Shares the same SSRF protections as Forward steps. Requires an active paid subscription.
Debugging-First Automation
Most automation tools are fire-and-forget. CatchHook gives you a redacted execution trace for every run.
Condition Engine
Filter by provider, event type, HTTP method, path, content type, signature status, and more. Regex supported.
Execution Traces
Step-by-step status, timing, redacted outcome summaries, and errors — visible right in the request detail.
Rerun Support
Changed your config? Rerun the current action against a historical request without waiting for a new webhook.
Failure Controls
Choose whether a failed step stops the chain or lets later steps continue, with the outcome recorded in the execution trace.
Plan Limits
| Feature | Pro | Team | Business |
|---|---|---|---|
| Actions per endpoint | 3 | 5 | Unlimited |
| Steps per action | 5 | 10 | 20 |
| Execution traces | |||
| Rerun support | |||
| API & MCP management | |||
| Per-step conditions | |||
| Transform step | — | — | |
| HTTP Request step | — | — | |
| Action Secrets | — | — |
Common Questions
How do actions differ from the old forwarding targets?
Actions replace forwarding targets with a more flexible system. Instead of just forwarding, you can chain forward, tag, notify, and ignore steps together with conditions and failure policies.
Can I see what happened when an action ran?
Yes. Every action run has a detailed trace showing step-by-step status, timing, redacted outcome summaries, and errors — visible in the request detail view and via the API/MCP.
What happens if a step fails?
You control it. Set the failure policy to "continue" to skip the failed step, or "stop" to halt the chain. Notification steps always continue by default.
Can I use Forward steps during a trial?
Manual replay and the Notify, Tag, and Ignore step types remain available during a trial. Automated Forward steps require an active paid subscription.
Can I manage actions via AI assistants?
Yes. Four MCP tools are available for AI editors like Cursor, Claude Code, and Windsurf — list, create, delete actions, and inspect execution traces.
What can I do with Transform and HTTP Request steps?
Transform reshapes request data into a bounded JSON value using select, set, remove, rename, pick, and wrap operations — no arbitrary code execution. HTTP Request then uses that value to call any external API with templated URLs, headers, and bodies, all protected by the same SSRF safeguards as Forward steps.
How do Action Secrets work?
Store encrypted credentials in Workspace → Action Secrets and reference them in HTTP Request templates as {{ secrets.my_key }}. Secret values are write-only — CatchHook never displays them after creation, and deletion is blocked while any step references the secret.
Stop Building Custom Glue Code
Configure actions once, then debug each run from a clear, redacted execution trace.