All documentation
Reference

Webhooks: Projects, Channels and Event Filters

Control exactly which project events reach each destination and understand why cross-project delivery is blocked.

Text

Overview

Every webhook endpoint belongs to exactly one PulseGrid project. An endpoint is selected only when: 1. It belongs to the same project as the event. 2. It is active. 3. Its event filter contains * or the exact event name. 4. The project's monthly webhook allowance is available. Example: - Alpha endpoint + Alpha message + * filter = delivered. - Alpha endpoint + Yinhla101 message = not delivered. - Alpha endpoint + Alpha payment.completed + message-only filter = not delivered. - Paused Alpha endpoint + Alpha message = not delivered. This design protects tenant data and lets one PulseGrid account run multiple independent applications safely.

Setup

To receive every event in a project, enter: * To receive one exact event, enter: order.created To receive several exact events, comma-separate them: order.created, order.paid, order.cancelled Event names are exact. Prefer predictable lowercase dot-separated names. Recommended naming examples: chat.message.created customer.created order.created order.paid payment.failed driver.location.updated

Code example

Webhooks: Projects, Channels and Event Filters
Project Alpha
  Channel: support
  Event: chat.message.created
  Endpoint filter: chat.message.created, support.ticket.created
  Result: DELIVERED

Project Yinhla101
  Channel: demo
  Event: chat.message.created
  Endpoint belongs to: Alpha
  Result: NOT DELIVERED - project does not match

Notes

A skipped event is not shown as a failed delivery because PulseGrid never attempted to send it. Failed means a matching delivery was created but the receiving server did not accept it successfully. Create a separate endpoint under each project that should notify the same external backend. The endpoint URLs may be identical, but their signing secrets and usage records are independent.