Skip to main content
Event filtering allows you to specify exactly which event types you want to receive, reducing unnecessary webhook traffic and simplifying your event handler code.

How it works

WSAPI Cloud allows users to configure an allowlist for event filtering. Filtered events are discarded server-side before delivery, reducing bandwidth and processing overhead on your end.

Available event types

CategoryEventsDescription
Chatschat_setting, chat_presence, chat_push_name, chat_status, chat_pictureChat metadata updates
Messagesmessage, message_read, message_delete, message_starMessage lifecycle events
Callscall_offer, call_accept, call_terminateCall notifications
ContactscontactContact information changes
GroupsgroupGroup setting and membership changes
NewslettersnewsletterNewsletter/channel subscription and mute changes
Useruser_presenceAccount-level events
Syncmessage_history_syncInitial data synchronization finished

Session events

WSAPI also emits session-related events that indicate the connection status of your instance. These cannot be filtered out, but you can choose to ignore them in your event handler if you don’t need them. These events are: logged_in, logged_out, login_error and initial_sync_finished

Configuring filters

Update the eventFilters at wsapi.chat/app/settings. You can also override filters on a per-instance basis under the Instance Settings section in the instance details page. When overriding settings for an instance, the event delivery mode (webhook vs. SSE) will also be applied based on the instance’s specific configuration.

Benefits

  • Reduced bandwidth — only receive events you care about
  • Simpler handler code — no need to filter events in your application
  • Immediate effect — filter changes apply instantly without reconnection
Filtered events are discarded server-side before delivery. They are not queued or stored — if you change your filter later, past events that were filtered out cannot be retrieved.
Yes. Filter changes take effect immediately. You don’t need to reconnect your SSE connection or update your webhook URL.
Start with the specific events your integration needs and expand as requirements grow. This keeps your webhook handler simple and your bandwidth usage minimal.