Skip to content

Step 3: Configure Sinks

You've got data flowing in from your sources. Now you need to decide where it goes. Sinks are the output side of Inboxclaw — they deliver events to whatever tool, service, or assistant you want.

What Is a Sink?

A sink is a connector that takes events from Inboxclaw and delivers them somewhere. You can have multiple sinks running at the same time, each delivering to a different destination. They work independently — if one fails, the others keep going.

Choosing a Sink

SinkHow it worksBest for
CommandRuns a program on your computer for each eventOpenClaw (simple setup), scripts, local tools
WebhookSends events over the network via HTTPOpenClaw (advanced setup), APIs, serverless functions
SSEStreams events in real-time to connected clientsDashboards, live monitoring, browser apps
HTTP PullLets clients fetch events on their own scheduleApps behind firewalls, batch processing
Win11 ToastShows Windows desktop notificationsPersonal alerts on your PC

Using OpenClaw?

If you're connecting Inboxclaw to OpenClaw as your AI assistant, you have two options:

  • Command — simpler setup, events go directly into your conversation. The AI sees them with full chat history context.
  • Webhook — more flexible, uses OpenClaw's hook system for custom routing, separate agents, and wake modes.

We have a dedicated guide for this: Getting Started: Inboxclaw + OpenClaw. It walks you through both options with complete configuration examples.

Basic Sink Configuration

Sinks are defined in your config.yaml under the sink section. Here's a simple example that sends all events to a webhook:

yaml
sink:
  my_webhook:
    type: webhook
    url: "https://api.myapp.com/events"

And here's one that runs a command for each event:

yaml
sink:
  my_script:
    type: command
    command: "python process_event.py --data '$root'"

Filtering Events

By default, sinks receive all events (match: "*"). You can filter by event type:

yaml
sink:
  email_alerts:
    type: webhook
    url: "https://api.myapp.com/email-events"
    match:
      - "gmail.*"
      - "calendar.event.created"

Retries and Reliability

All sinks automatically retry failed deliveries. Events are tracked in the database, so nothing is lost if Inboxclaw restarts. You can tune retry behavior per sink:

yaml
sink:
  my_webhook:
    type: webhook
    url: "https://api.myapp.com/events"
    max_retries: 5
    retry_interval: "1m"

For the full details on how sinks work, see Sinks Overview.

Next Step

Step 4: Run Your Pipeline — start everything up and verify events are flowing.