---
source_url: https://www.pubnub.com/docs/serverless/events-and-actions/configure-e&a
title: Configure Events & Actions
updated_at: 2026-05-20T11:08:47.477Z
---

> Documentation Index
> For a curated overview of PubNub documentation, see: https://www.pubnub.com/docs/llms.txt
> For the full list of all documentation pages, see: https://www.pubnub.com/docs/llms-full.txt


# Configure Events & Actions

The **Events & Actions** section in the [Admin Portal](https://admin.pubnub.com/) lets you create, edit, and delete event listeners and their actions.

### Event listeners

The **Event Listeners** section shows how many listeners you created, their type and status, and how many actions they trigger. Hover to see the linked action name. For details, see [create event listeners](#create-event-listener).

![Event listeners list: type, status, and linked actions with hover names](https://www.pubnub.com/assets/images/event-listeners-section-3cca4f153e494e5ef52810920c8743da.png)

### Actions

The **Actions** section shows how many actions you created, their type and status, and how many listeners link to them. Hover to see the linked listener name. For details, see [create actions](#create-action).

![Actions list: type, status, and linked listeners with hover names](https://www.pubnub.com/assets/images/action-feedback-21a1fda9b39a4927d3d050ad4e581883.png)

## Create event listener

To create an event listener:

1. Open Admin Portal and choose Events & Actions.
2. Select your app and keyset.
3. Click + Add Event Listener and select the event source. For sources, see Event source.
4. Choose the event producer and event type. Available producers and typesIf you don't see the event type you need, choose a different event source.
5. Select a filter type. The flow may vary based on the selected source and type. NameDescriptionNo filterTriggers actions for all messages.Basic filtersPredetermined UI conditions.Advanced JSONPathJSONPath conditions over payload fields.
6. Pair the listener with an existing action without leaving Event Listeners. In Add Action, pick the action.
7. Click Save Changes.

### Filter types

There are three filter types:

* [No filter](#no-filter)
* [Basic filters](#basic-filters)
* [Advanced JSONPath](#advanced-jsonpath)

#### No filter

No setup necessary. Triggers actions for **all messages**.

#### Basic filters

After choosing **Basic filters**, you see two dropdowns—**Filters** and **Conditions**—and a **Value** input.

1. From Filters, pick a filter. NameDescriptionChannelTrigger an action after a message is published on a specific channel.Sender IDTrigger an action after a message is published by a specific sender.
2. From Conditions, pick a condition. NameDescriptionExact MatchTrigger an action only if there is an exact match.ContainsTrigger an action if the specified value is found.
3. In Value, enter the value that must match. For example, an exact match on channel Matrix triggers an action for every message in Matrix.

#### Advanced JSONPath

JSONPath supports more advanced conditions than Basic filters.

You can use JSONPath to define the following conditions:

| Condition name | Data type | Description |
| --- | --- | --- |
| `channel` | string | Name of the channel the message was sent to. |
| `message` | any | Message content. |
| `meta` | any | Custom metadata. |
| `uuid` | string | Sender ID. |

:::note User ID / UUID
User ID is also referred to as **UUID/uuid** in some APIs and server responses but **holds the value** of the **userId** parameter you [set during initialization](https://www.pubnub.com/docs/general/setup/users-and-devices#set-the-user-id).
:::

To recreate the [Basic filters](#basic-filters) example, use: `$.[?(@.channel == "Matrix")]`. This triggers an action when a message is published to the `Matrix` channel.

## Create action

Choose the action category and follow its steps.

| Name | Description |
| --- | --- |
| [Webhook](https://www.pubnub.com/docs/serverless/events-and-actions/actions/create-webhook-action) | Integrate with a third‑party service. |
| [Amazon SQS](https://www.pubnub.com/docs/serverless/events-and-actions/actions/create-sqs-action) | Use a third‑party message queue. |
| [Amazon Kinesis](https://www.pubnub.com/docs/serverless/events-and-actions/actions/create-kinesis-action) | Use a real‑time streaming service. |
| [Amazon S3](https://www.pubnub.com/docs/serverless/events-and-actions/actions/create-s3-action) | Use third‑party object storage. |
| [Apache Kafka](https://www.pubnub.com/docs/serverless/events-and-actions/actions/create-kafka-action) | Export events to Apache Kafka. |
| [IFTTT Webhook](https://www.pubnub.com/docs/serverless/events-and-actions/actions/create-ifttt-action) | Automate actions across services and devices. |
| [AMQP Action](https://www.pubnub.com/docs/serverless/events-and-actions/actions/create-amqp-action) | Export events to AMQP. |

## Webhook payload example

The JSON below shows a webhook payload triggered when the message `Wake up, Neo...` is sent by `Client-w5h0y` on channel `Matrix`.

:::note User ID / UUID
User ID is also referred to as **UUID/uuid** in some APIs and server responses but **holds the value** of the **userId** parameter you [set during initialization](https://www.pubnub.com/docs/general/setup/users-and-devices#set-the-user-id).
:::

```json
{
  "event": {
    "channel": "Matrix",
    "eventCategory": "message",
    "eventType": "message.publish",
    "eventId": "a2748829-a16e-4ce7-b3ed-67021d2c7c65",
    "eventPayload": {
      "message": "{\"text\":\"Wake up, Neo...\"}",
      "meta": {}
    },
    "iso8601timestamp": "2023-11-28T12:31:32Z",
    "subscribeKey": "sub-c-95c7895c-b977-4728-bebe-f2e5db1b4f90",
    "timetoken": "17011746925168240",
    "senderId": "Client-w5h0y"
  },
  "eventsAndActionsMetadata": {
    "eventListenerMetadata": {
      "eventListenerId": "3db3af56-a41c-4140-99fe-6288250e9e61"
    },
    "actionMetadata": {
      "actionId": "fc379436-68a7-40f4-b710-731fe2c4d67b",
      "actionInstanceId": "3c6bc5ea-8fc4-4524-b089-8dffef870a54",
      "actionInvocationId": "bf2a7cba-0143-4fad-b692-073f7fa37936",
      "webhookMetadata": {
        "retryMetadata": {
          "attemptNum": 0,
          "maxNumRetries": 0
        }
      }
    }
  }
}
```

For webhook payloads, see [Webhooks](https://www.pubnub.com/docs/serverless/events-and-actions/events#webhooks).