Skip to content
⌘K
InboxAsk a human

How Do I Trigger My Agent from External Apps (Webhooks)?

Updated by Bankr Support

A Bankr webhook gives you a URL that other apps can call to make your agent do something. When Slack, GitHub, Stripe, Zapier or your own app sends a request to that URL, a small handler you write turns it into a prompt, and your agent runs it. It's a developer feature: you write the handler in TypeScript and deploy it with the Bankr CLI.

How It Works

  1. You write a handler that checks the incoming request is genuine and returns a prompt.

  2. You deploy it with bankr webhooks deploy and get a public URL like https://webhooks.bankr.bot/u/<wallet>/<name>.

  3. You give that URL to the other service.

  4. Each time the service calls it, your agent runs the prompt with the permissions you set for that webhook.

Webhooks are included with your Bankr account. You only pay for what the agent does on-chain, the same as any other Bankr session.

Managing Your Webhooks

Manage webhooks, see every call with its status and errors, and rotate secrets at bankr.bot/webhooks. Store signing secrets and API keys there as encrypted environment variables rather than in your code.

Safe by Default

  • Read-only to start: a new webhook can check prices or read data, but can't move funds or swap tokens until you turn on write permissions.

  • Transfer allowlist: before you turn on writes, add the addresses the agent may send to. A write-enabled webhook with an empty allowlist is rejected.

  • Rate limit: new webhooks are limited per minute so a noisy app can't flood your agent. Only the per-minute limit is enforced.

  • IP restrictions: you can limit a webhook to exact IP addresses. Ranges aren't supported, so rely on signature checks for services like GitHub or Stripe that send from many addresses.

What People Use Them For

  • Slack: someone mentions your agent, and it replies in the thread with a portfolio summary.

  • Stripe: a customer pays you, and the agent buys $50 of ETH with USDC from your wallet.

  • GitHub: a new release is published, and the agent posts a summary to your community.

Gotchas

  • Webhook not firing? Check the call logs and error messages on the Webhooks Dashboard.

  • Always verify signatures from the calling service (Slack, Stripe, GitHub) in your handler, so only genuine requests reach your agent.

  • Agent can't send funds? The webhook is probably still read-only, or the recipient isn't on its allowlist.

For writing handlers, provider templates, and the full permission model, see Webhooks on docs.bankr.bot.