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
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.