Busabase

Webhooks & Events

React to approvals, mentions, and uploads in real time — no code required, or a little code if you need it.

Webhooks & Events

Open the space menu in the top-left corner and choose Webhooks to set up automation rules — no code required for the simple cases, and a small sandboxed function when you need one.

The Webhooks dialog, listing three rules with different actions and a successful run.

The Webhooks dialog, listing three rules with different actions and a successful run.

What can trigger a rule

Pick an event when you create a rule. You can also scope a rule to one Base, or leave it space-wide.

The four event types a rule can react to.

EventFires when
New RecordA record is created and merges into a Base
@AI mentionSomeone @mentions an agent in a comment
Changes requestedA reviewer sends a change request back for revisions
Asset uploadedA file is uploaded that Busabase can't read the text of yet (e.g. an image or a scanned PDF) — handy for wiring up an external OCR or transcription step

What a rule can do

Every rule does one of three things:

ActionWhat happens
WebhookSends a signed HTTP POST to a URL you provide — the classic "notify another system" webhook
Notify agentSame signed POST, aimed at your AI agent's endpoint, so it can pick up the work
Run functionRuns a small piece of JavaScript you write, right inside Busabase — no server of your own required

Webhook and Notify agent rules just need a URL (and, optionally, a secret Busabase uses to sign the request so the receiving end can verify it really came from you).

Writing a function

Run function is the most flexible option: you write a short script that receives the event as input and can call fetch(url, options) to reach out to any other service directly — Slack, a ticketing system, your own API, anything with a URL.

The function editor: code, a helper note on what's available, and the timeout setting.

The function editor: code, a helper note on what's available, and the timeout setting.

A function can:

  • Read input — the event's data (record fields, the base it happened in, and so on)
  • Call console.log(...) — anything you log shows up later in the delivery log, which is the easiest way to debug a rule
  • Call fetch(url, options) as many times as it needs (up to 10 calls) to notify other systems, look something up, or chain a couple of requests together
  • return a value — it's just recorded for your own reference, nothing more happens with it

You also set a timeout (100ms–5000ms) for how long the whole function is allowed to run, including any fetch calls it makes.

Keeping it safe

A function runs in an isolated sandbox — it can't read your files, your environment variables, or anything else on the server it's running on. The only thing it can touch is the network, through fetch, and even that is guarded: requests aimed at your own internal network (localhost, private IP ranges, or cloud infrastructure addresses) are blocked automatically. A function is meant to talk to the outside world, not to probe your own infrastructure.

Checking whether it worked

Every rule keeps a short history of its recent runs — expand a rule to see it. A Success entry shows whatever you logged; a Failed entry shows the error, so you can see exactly what went wrong and fix it.

A rule's delivery log, showing a successful run with its logged output.

A rule's delivery log, showing a successful run with its logged output.

Use the Test now button any time to fire a rule immediately with a realistic sample payload — no need to wait for the real event to happen, and it works even while the rule is still turned off.

See also: Core Concepts · Quick Start · REST API

On this page