Code when you need it, tools when you do not.
Build workflows from triggers, prebuilt actions and your own Node.js or Python. Hoook runs them, retries them and keeps the history, and your agent can call them as tools.
trigger: stripe.invoice.payment_failed
steps: linear.create_issue → slack.send_message
code step · Node.js · add the customer's plan from your database
✓ deployed · retries on · run history kept
your agent can call this workflow as a tool too
The same integration, shipped.
Without Hoook
- Glue scripts on a server nobody remembers setting up
- Multi-step processes your agent cannot run reliably on its own
- No record of what ran, or where it stopped
- A no-code tool that stops the moment you need real code
With Hoook
- Every workflow in one place, versioned and synced with GitHub
- Wrap a process as one tool, and let Hoook run the steps
- Each run inspectable step by step, and retried on failure
- Prebuilt steps where they fit, your own code where they do not
From idea to running workflow
- 01
Pick a trigger
An HTTP request, a schedule, an agent's tool call or an event from any app.
Event sourceawait hoook.triggers.deploy({ userId, id: "stripe-payment-failed", webhookUrl })
✓ listening to Stripe for u_42
invoice.payment_failed · verified · deduplicated
POST https://your-app.com/agent/events
agent: opened Linear issue ENG-812 and told #billing
- 02
Add the steps
Chain prebuilt actions, branch on conditions, and write code where you need it.
workflow.tstrigger: stripe.invoice.payment_failed
steps: linear.create_issue → slack.send_message
code step · Node.js · add the customer's plan from your database
✓ deployed · retries on · run history kept
your agent can call this workflow as a tool too
- 03
Test with real data
Run each step against a real event before you deploy.
workflow.tstrigger: stripe.invoice.payment_failed
steps: linear.create_issue → slack.send_message
code step · Node.js · add the customer's plan from your database
✓ deployed · retries on · run history kept
your agent can call this workflow as a tool too
- 04
Deploy and watch
Hoook runs it on every event, retries failed steps and alerts you when one gives up.
workflow.tstrigger: stripe.invoice.payment_failed
steps: linear.create_issue → slack.send_message
code step · Node.js · add the customer's plan from your database
✓ deployed · retries on · run history kept
your agent can call this workflow as a tool too
await hoook.triggers.deploy({ userId, id: "stripe-payment-failed", webhookUrl })
✓ listening to Stripe for u_42
invoice.payment_failed · verified · deduplicated
POST https://your-app.com/agent/events
agent: opened Linear issue ENG-812 and told #billing
What Hoook takes off your plate.
Backends for your agents
Wrap a multi-step process as one tool your agent can call.
Internal automation
Route leads, sync records and post updates without a ticket to engineering.
Workflows for your users
Run workflows on your end users' connected accounts through Connect.
The numbers behind agent integrations
Public documentation from the providers, and our own figures, each labelled with its source.
for the Free plan, which includes credits every month.
Hoook pricingof prebuilt tools and triggers, across the apps your users already work in.
Hoook app catalogueis how long Stripe keeps retrying a webhook your endpoint did not accept, so the same event can arrive late or more than once.
Stripe webhooks documentationBuilt for agents that act.
Real code
Node.js and Python steps with most packages available.
Control flow included
Delays, filters, branching and parallel steps on the plans that need them.
Git sync
Develop in branches, review in pull requests and deploy on merge.
Priced on usage
Credits meter compute, so a quiet workflow costs almost nothing.