---
source_url: https://www.pubnub.com/docs/integrations/event-forwarding/overview
title: Events & Actions
updated_at: 2026-09-30T07:20:08.000Z
---

# Events & Actions

## Documentation index

To discover more PubNub resources:

1. Fetch [PubNub's llms.txt](https://www.pubnub.com/llms-full.txt) for a list of available pages in Markdown format.
2. Identify relevant URLs from that index.
3. Fetch the target pages.

Do not assume a path exists, always check the index first.

Events & Actions is a no-code feature that watches activity inside PubNub. It forwards matching events to external systems, such as a webhook endpoint, a message queue, or a data lake. You configure it entirely in the [Admin Portal](https://admin.pubnub.com), by creating event listeners that watch for specific PubNub events and actions that forward a matched event onward. No SDK code runs on your side to set this up.

## How Events & Actions works

A client app publishes a message, connects, disconnects, or updates metadata, and PubNub generates an event from that activity. Each event listener on the keyset checks the event against its event source and optional filter. On a match, the listener runs the actions attached to it, up to your plan's limit. Each action then forwards the event data to its external system, such as a webhook endpoint or an Amazon SQS queue.

```mermaid
flowchart TB
    APP["<b>Client app</b>"]

    subgraph PN["PubNub"]
        EVT["<b>Event</b><br/>message, presence, or<br/>metadata activity"]
        LISTEN["<b>Event listener</b><br/>matches an event source<br/>with an optional filter"]
    end

    ACTIONS["<b>Actions</b><br/>up to your plan's limit"]
    EXT["<b>External systems</b><br/>Webhook · SQS · Kinesis · S3 · Kafka · IFTTT · AMQP"]

    APP -->|"publish, connect,<br/>disconnect, or update"| EVT
    EVT --> LISTEN
    LISTEN -->|"on match"| ACTIONS
    ACTIONS -->|"forwards event data"| EXT

    class EVT emphasis
    class LISTEN,ACTIONS muted
    class EXT external
    class PN platform
```

## Events, listeners, and actions

An event is a small record PubNub generates from activity on your keyset. Some events are explicit, a direct result of an API call. Others are implicit. PubNub notices that something happened without your app making an API call.

| Scenario | PubNub event | Explicit or implicit |
| --- | --- | --- |
| A device calls [publish()](https://www.pubnub.com/docs/pub-sub/publish/overview.md) on a channel | `Message sent` | Explicit. The API call directly produces the event. |
| A user's phone loses its Internet connection | `User Disconnect`, part of [Presence](https://www.pubnub.com/docs/presence/overview.md) | Implicit. PubNub detects the dropped connection without any API call. |

An event listener watches one event source for events, optionally narrowed by a filter, such as a specific channel or sender. When an event matches, the listener runs every action attached to it. A listener with no actions attached still runs on a match, but it has nothing to forward. See [Event sources](https://www.pubnub.com/docs/integrations/event-forwarding/event-sources.md) for every source and event type a listener can watch, and [Available actions](https://www.pubnub.com/docs/integrations/event-forwarding/available-actions.md) for every destination an action can forward to.

## Events & Actions vs. Functions

Events & Actions and [Functions](https://www.pubnub.com/docs/message-processing/serverless/overview.md) both react to activity on your keyset, but they solve different problems.

* **Use Events & Actions** to forward event data to a third-party system with no code, when you need visibility into your data outside PubNub.
* **Use Functions** when you need to write JavaScript that transforms, validates, blocks, or reroutes a message, or that runs custom logic synchronously in the message path.

## Availability by plan

PubNub Events & Actions limits by tier:

| Item | Free | Intro | Tier 1 | Tier 2 | Tier 3 | Tier 4 | Tier 5 | Tier 6 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Events ingested per month | 10K | 2M | 4M | 25M | 66M | 200M | 500M | Unlimited |
| Listeners | 1 | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited |
| Actions per listener | 1 | 3 | 3 | 3 | 3 | 3 | Unlimited | Unlimited |

Your keyset's tier is set by your PubNub plan.

Events & Actions retries are available on paid tiers. The Free tier's single listener does not retry failed deliveries.

Every paid tier retries a failed delivery according to the retry policy you set on the action, described on [Available actions](https://www.pubnub.com/docs/integrations/event-forwarding/available-actions.md#retries).

For the dollar cost of each tier, see [Pricing by feature](https://www.pubnub.com/docs/pricing/pricing-by-feature.md#events--actions). For the exact event, listener, and action allowances per tier, see [Plan comparison](https://www.pubnub.com/docs/pricing/quotas.md#events--actions).

## Billing

Events & Actions bills by events ingested, not by the actions those events trigger. Every listener on your keyset evaluates every message published to it. Events & Actions calculates the billable count of ingested events by multiplying the messages published to a keyset by the number of active event listeners on that keyset, whether or not an event matches a filter or triggers an action. Each listener you add therefore raises the bill for all published traffic, so count listeners when you design your integration. See [Pricing by feature](https://www.pubnub.com/docs/pricing/pricing-by-feature.md#events--actions) and [Plan comparison](https://www.pubnub.com/docs/pricing/quotas.md#events--actions) for the numbers.

## Free trial

Events & Actions includes a two-week free trial. After the trial ends, [contact sales](https://www.pubnub.com/company/contact-sales/) to upgrade your plan.

## Next steps

* [Event sources](https://www.pubnub.com/docs/integrations/event-forwarding/event-sources.md). Look up every event type a listener can watch.
* [Available actions](https://www.pubnub.com/docs/integrations/event-forwarding/available-actions.md). Look up every destination an action can forward to, and the retry, envelope, and batching rules they share.
* [Events & Actions payloads](https://www.pubnub.com/docs/integrations/event-forwarding/payloads.md). Look up the JSON payload for any event type.
* [Configure Events & Actions](https://www.pubnub.com/docs/integrations/event-forwarding/configure.md). Create your first listener and attach an action to it in the Admin Portal.

Last updated at: 2026-09-30T07:20:08.000Z
