> Part of the walkerOS documentation. Project overview and full index: <https://www.walkeros.io/llms.txt>

# Google Pub/Sub

[Server](#)[ Source code](https://github.com/elbwalker/walkerOS/tree/main/packages/server/destinations/gcp)[ Package](https://www.npmjs.com/package/@walkeros/server-destination-gcp)

Server-side event publishing to [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) topics. Each event is serialized as JSON, optionally keyed for per-message ordering, and published via the official `@google-cloud/pubsub` SDK. Supports Application Default Credentials, service account JSON, or pre-configured client injection. Per-rule topic, ordering-key, and attribute overrides. Idempotent topic provisioning with EU storage policy by default.

The destination ships inside `@walkeros/server-destination-gcp` alongside BigQuery; install the package once and import `destinationPubSub` for Pub/Sub.

Where this fits

Pub/Sub is a **server destination** in the walkerOS flow:

Publishes events to a Pub/Sub topic for fan-out, asynchronous processing, cross-region delivery, and integration with downstream consumers (Dataflow, Cloud Functions, Cloud Run, custom subscribers).

## Installation[​](#installation "Direct link to Installation")

```bash
npm install @walkeros/server-destination-gcp
```

* Integrated
* Bundled

```typescript
import { startFlow } from '@walkeros/collector';
import { destinationPubSub } from '@walkeros/server-destination-gcp';

await startFlow({
  destinations: {
    pubsub: {
      code: destinationPubSub,
      config: {
        settings: {
          projectId: 'YOUR_PROJECT_ID',
          topic: 'events',
        },
      },
    },
  },
});
```

Add to your `flow.json` destinations:

```json
"destinations": {
  "pubsub": {
    "package": "@walkeros/server-destination-gcp",
    "import": "destinationPubSub",
    "config": {
      "settings": {
        "projectId": "YOUR_PROJECT_ID",
        "topic": "events"
      }
    }
  }
}
```

[See bundled mode setup](/preview/pr-749/docs/getting-started/modes/bundled.md) | [CLI reference](/preview/pr-749/docs/apps/cli.md)

## Configuration[​](#configuration "Direct link to Configuration")

This destination uses the standard destination config wrapper (consent, data, env, id, ...). For the shared fields see [destination configuration](/docs/destinations#configuration). Package-specific fields live under `config.settings` and are listed below.

## Settings[​](#settings "Direct link to Settings")

| Property      | Type     | Description                                                                                                                                                                         | More |
| ------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- |
| `client`      | `any`    | Google Cloud Pub/Sub client instance                                                                                                                                                |      |
| `projectId*`  | `string` | Google Cloud Project ID                                                                                                                                                             |      |
| `topic*`      | `string` | Pub/Sub topic short name (like events). The full resource name projects/\<projectId>/topics/\<topic> is built by the SDK.                                                           |      |
| `credentials` | `any`    | Service account credentials as a JSON string or an object with client\_email and private\_key. Default: Application Default Credentials (ADC). (deprecated: use config.credentials) |      |
| `apiEndpoint` | `string` | Override Pub/Sub API endpoint. Useful for the local emulator (like localhost:8085).                                                                                                 |      |
| `orderingKey` | `any`    | Mapping value resolved per-event. Truthy enables per-key ordering for the publish.                                                                                                  |      |
| `attributes`  | `any`    | Default per-event attribute map merged into every published message. Mapping.Map shape.                                                                                             |      |

\* Required fields

## Mapping[​](#mapping "Direct link to Mapping")

Per-event rules under `config.mapping`. For the standard rule fields (consent, condition, data, batch, name, policy) see [mapping](/docs/mapping).

| Property      | Type     | Description                                                                   | More |
| ------------- | -------- | ----------------------------------------------------------------------------- | ---- |
| `topic`       | `string` | Per-rule topic override. Falls back to settings.topic if absent.              |      |
| `orderingKey` | `any`    | Per-rule ordering-key Mapping.Value. Overrides settings.orderingKey when set. |      |
| `attributes`  | `any`    | Per-rule attribute Mapping.Map merged on top of settings.attributes.          |      |

## Examples

### Default publish

An event is published to the configured Pub/Sub topic with the full JSON event as the message body and no ordering key.

Event

```json
{
  "name": "order complete",
  "data": {
    "id": "ORD-500",
    "total": 199.99,
    "currency": "EUR"
  },
  "context": {
    "shopping": [
      "complete",
      0
    ]
  },
  "globals": {
    "pagegroup": "shop"
  },
  "custom": {
    "completely": "random"
  },
  "user": {
    "id": "usr-789"
  },
  "nested": [
    {
      "entity": "product",
      "data": {
        "id": "ers",
        "name": "Everyday Ruck Snack",
        "color": "black",
        "size": "l",
        "price": 420
      },
      "context": {
        "shopping": [
          "complete",
          0
        ]
      },
      "nested": []
    },
    {
      "entity": "product",
      "data": {
        "id": "cc",
        "name": "Cool Cap",
        "size": "one size",
        "price": 42
      },
      "context": {
        "shopping": [
          "complete",
          0
        ]
      },
      "nested": []
    },
    {
      "entity": "gift",
      "data": {
        "name": "Surprise"
      },
      "context": {
        "shopping": [
          "complete",
          0
        ]
      },
      "nested": []
    }
  ],
  "consent": {
    "functional": true
  },
  "id": "52597d5269679369",
  "trigger": "load",
  "entity": "order",
  "action": "complete",
  "timestamp": 1700001100,
  "timing": 3.14,
  "source": {
    "count": 1,
    "trace": "1a2b3c4d5e6f70819a2b3c4d5e6f7081",
    "type": "express",
    "platform": "server"
  }
}
```

Out

```javascript
topic("events", {
  "messageOrdering": false
});

publishMessage("events", {
  "data": {
    "0": 123,
    "1": 34,
    "2": 110,
    "3": 97,
    "4": 109,
    "5": 101,
    "6": 34,
    "7": 58,
    "8": 34,
    "9": 111,
    "10": 114,
    "11": 100,
    "12": 101,
    "13": 114,
    "14": 32,
    "15": 99,
    "16": 111,
    "17": 109,
    "18": 112,
    "19": 108,
    "20": 101,
    "21": 116,
    "22": 101,
    "23": 34,
    "24": 44,
    "25": 34,
    "26": 100,
    "27": 97,
    "28": 116,
    "29": 97,
    "30": 34,
    "31": 58,
    "32": 123,
    "33": 34,
    "34": 105,
    "35": 100,
    "36": 34,
    "37": 58,
    "38": 34,
    "39": 79,
    "40": 82,
    "41": 68,
    "42": 45,
    "43": 53,
    "44": 48,
    "45": 48,
    "46": 34,
    "47": 44,
    "48": 34,
    "49": 116,
    "50": 111,
    "51": 116,
    "52": 97,
    "53": 108,
    "54": 34,
    "55": 58,
    "56": 49,
    "57": 57,
    "58": 57,
    "59": 46,
    "60": 57,
    "61": 57,
    "62": 44,
    "63": 34,
    "64": 99,
    "65": 117,
    "66": 114,
    "67": 114,
    "68": 101,
    "69": 110,
    "70": 99,
    "71": 121,
    "72": 34,
    "73": 58,
    "74": 34,
    "75": 69,
    "76": 85,
    "77": 82,
    "78": 34,
    "79": 125,
    "80": 44,
    "81": 34,
    "82": 99,
    "83": 111,
    "84": 110,
    "85": 116,
    "86": 101,
    "87": 120,
    "88": 116,
    "89": 34,
    "90": 58,
    "91": 123,
    "92": 34,
    "93": 115,
    "94": 104,
    "95": 111,
    "96": 112,
    "97": 112,
    "98": 105,
    "99": 110,
    "100": 103,
    "101": 34,
    "102": 58,
    "103": 91,
    "104": 34,
    "105": 99,
    "106": 111,
    "107": 109,
    "108": 112,
    "109": 108,
    "110": 101,
    "111": 116,
    "112": 101,
    "113": 34,
    "114": 44,
    "115": 48,
    "116": 93,
    "117": 125,
    "118": 44,
    "119": 34,
    "120": 103,
    "121": 108,
    "122": 111,
    "123": 98,
    "124": 97,
    "125": 108,
    "126": 115,
    "127": 34,
    "128": 58,
    "129": 123,
    "130": 34,
    "131": 112,
    "132": 97,
    "133": 103,
    "134": 101,
    "135": 103,
    "136": 114,
    "137": 111,
    "138": 117,
    "139": 112,
    "140": 34,
    "141": 58,
    "142": 34,
    "143": 115,
    "144": 104,
    "145": 111,
    "146": 112,
    "147": 34,
    "148": 125,
    "149": 44,
    "150": 34,
    "151": 99,
    "152": 117,
    "153": 115,
    "154": 116,
    "155": 111,
    "156": 109,
    "157": 34,
    "158": 58,
    "159": 123,
    "160": 34,
    "161": 99,
    "162": 111,
    "163": 109,
    "164": 112,
    "165": 108,
    "166": 101,
    "167": 116,
    "168": 101,
    "169": 108,
    "170": 121,
    "171": 34,
    "172": 58,
    "173": 34,
    "174": 114,
    "175": 97,
    "176": 110,
    "177": 100,
    "178": 111,
    "179": 109,
    "180": 34,
    "181": 125,
    "182": 44,
    "183": 34,
    "184": 117,
    "185": 115,
    "186": 101,
    "187": 114,
    "188": 34,
    "189": 58,
    "190": 123,
    "191": 34,
    "192": 105,
    "193": 100,
    "194": 34,
    "195": 58,
    "196": 34,
    "197": 117,
    "198": 115,
    "199": 114,
    "200": 45,
    "201": 55,
    "202": 56,
    "203": 57,
    "204": 34,
    "205": 125,
    "206": 44,
    "207": 34,
    "208": 110,
    "209": 101,
    "210": 115,
    "211": 116,
    "212": 101,
    "213": 100,
    "214": 34,
    "215": 58,
    "216": 91,
    "217": 123,
    "218": 34,
    "219": 101,
    "220": 110,
    "221": 116,
    "222": 105,
    "223": 116,
    "224": 121,
    "225": 34,
    "226": 58,
    "227": 34,
    "228": 112,
    "229": 114,
    "230": 111,
    "231": 100,
    "232": 117,
    "233": 99,
    "234": 116,
    "235": 34,
    "236": 44,
    "237": 34,
    "238": 100,
    "239": 97,
    "240": 116,
    "241": 97,
    "242": 34,
    "243": 58,
    "244": 123,
    "245": 34,
    "246": 105,
    "247": 100,
    "248": 34,
    "249": 58,
    "250": 34,
    "251": 101,
    "252": 114,
    "253": 115,
    "254": 34,
    "255": 44,
    "256": 34,
    "257": 110,
    "258": 97,
    "259": 109,
    "260": 101,
    "261": 34,
    "262": 58,
    "263": 34,
    "264": 69,
    "265": 118,
    "266": 101,
    "267": 114,
    "268": 121,
    "269": 100,
    "270": 97,
    "271": 121,
    "272": 32,
    "273": 82,
    "274": 117,
    "275": 99,
    "276": 107,
    "277": 32,
    "278": 83,
    "279": 110,
    "280": 97,
    "281": 99,
    "282": 107,
    "283": 34,
    "284": 44,
    "285": 34,
    "286": 99,
    "287": 111,
    "288": 108,
    "289": 111,
    "290": 114,
    "291": 34,
    "292": 58,
    "293": 34,
    "294": 98,
    "295": 108,
    "296": 97,
    "297": 99,
    "298": 107,
    "299": 34,
    "300": 44,
    "301": 34,
    "302": 115,
    "303": 105,
    "304": 122,
    "305": 101,
    "306": 34,
    "307": 58,
    "308": 34,
    "309": 108,
    "310": 34,
    "311": 44,
    "312": 34,
    "313": 112,
    "314": 114,
    "315": 105,
    "316": 99,
    "317": 101,
    "318": 34,
    "319": 58,
    "320": 52,
    "321": 50,
    "322": 48,
    "323": 125,
    "324": 44,
    "325": 34,
    "326": 99,
    "327": 111,
    "328": 110,
    "329": 116,
    "330": 101,
    "331": 120,
    "332": 116,
    "333": 34,
    "334": 58,
    "335": 123,
    "336": 34,
    "337": 115,
    "338": 104,
    "339": 111,
    "340": 112,
    "341": 112,
    "342": 105,
    "343": 110,
    "344": 103,
    "345": 34,
    "346": 58,
    "347": 91,
    "348": 34,
    "349": 99,
    "350": 111,
    "351": 109,
    "352": 112,
    "353": 108,
    "354": 101,
    "355": 116,
    "356": 101,
    "357": 34,
    "358": 44,
    "359": 48,
    "360": 93,
    "361": 125,
    "362": 44,
    "363": 34,
    "364": 110,
    "365": 101,
    "366": 115,
    "367": 116,
    "368": 101,
    "369": 100,
    "370": 34,
    "371": 58,
    "372": 91,
    "373": 93,
    "374": 125,
    "375": 44,
    "376": 123,
    "377": 34,
    "378": 101,
    "379": 110,
    "380": 116,
    "381": 105,
    "382": 116,
    "383": 121,
    "384": 34,
    "385": 58,
    "386": 34,
    "387": 112,
    "388": 114,
    "389": 111,
    "390": 100,
    "391": 117,
    "392": 99,
    "393": 116,
    "394": 34,
    "395": 44,
    "396": 34,
    "397": 100,
    "398": 97,
    "399": 116,
    "400": 97,
    "401": 34,
    "402": 58,
    "403": 123,
    "404": 34,
    "405": 105,
    "406": 100,
    "407": 34,
    "408": 58,
    "409": 34,
    "410": 99,
    "411": 99,
    "412": 34,
    "413": 44,
    "414": 34,
    "415": 110,
    "416": 97,
    "417": 109,
    "418": 101,
    "419": 34,
    "420": 58,
    "421": 34,
    "422": 67,
    "423": 111,
    "424": 111,
    "425": 108,
    "426": 32,
    "427": 67,
    "428": 97,
    "429": 112,
    "430": 34,
    "431": 44,
    "432": 34,
    "433": 115,
    "434": 105,
    "435": 122,
    "436": 101,
    "437": 34,
    "438": 58,
    "439": 34,
    "440": 111,
    "441": 110,
    "442": 101,
    "443": 32,
    "444": 115,
    "445": 105,
    "446": 122,
    "447": 101,
    "448": 34,
    "449": 44,
    "450": 34,
    "451": 112,
    "452": 114,
    "453": 105,
    "454": 99,
    "455": 101,
    "456": 34,
    "457": 58,
    "458": 52,
    "459": 50,
    "460": 125,
    "461": 44,
    "462": 34,
    "463": 99,
    "464": 111,
    "465": 110,
    "466": 116,
    "467": 101,
    "468": 120,
    "469": 116,
    "470": 34,
    "471": 58,
    "472": 123,
    "473": 34,
    "474": 115,
    "475": 104,
    "476": 111,
    "477": 112,
    "478": 112,
    "479": 105,
    "480": 110,
    "481": 103,
    "482": 34,
    "483": 58,
    "484": 91,
    "485": 34,
    "486": 99,
    "487": 111,
    "488": 109,
    "489": 112,
    "490": 108,
    "491": 101,
    "492": 116,
    "493": 101,
    "494": 34,
    "495": 44,
    "496": 48,
    "497": 93,
    "498": 125,
    "499": 44,
    "500": 34,
    "501": 110,
    "502": 101,
    "503": 115,
    "504": 116,
    "505": 101,
    "506": 100,
    "507": 34,
    "508": 58,
    "509": 91,
    "510": 93,
    "511": 125,
    "512": 44,
    "513": 123,
    "514": 34,
    "515": 101,
    "516": 110,
    "517": 116,
    "518": 105,
    "519": 116,
    "520": 121,
    "521": 34,
    "522": 58,
    "523": 34,
    "524": 103,
    "525": 105,
    "526": 102,
    "527": 116,
    "528": 34,
    "529": 44,
    "530": 34,
    "531": 100,
    "532": 97,
    "533": 116,
    "534": 97,
    "535": 34,
    "536": 58,
    "537": 123,
    "538": 34,
    "539": 110,
    "540": 97,
    "541": 109,
    "542": 101,
    "543": 34,
    "544": 58,
    "545": 34,
    "546": 83,
    "547": 117,
    "548": 114,
    "549": 112,
    "550": 114,
    "551": 105,
    "552": 115,
    "553": 101,
    "554": 34,
    "555": 125,
    "556": 44,
    "557": 34,
    "558": 99,
    "559": 111,
    "560": 110,
    "561": 116,
    "562": 101,
    "563": 120,
    "564": 116,
    "565": 34,
    "566": 58,
    "567": 123,
    "568": 34,
    "569": 115,
    "570": 104,
    "571": 111,
    "572": 112,
    "573": 112,
    "574": 105,
    "575": 110,
    "576": 103,
    "577": 34,
    "578": 58,
    "579": 91,
    "580": 34,
    "581": 99,
    "582": 111,
    "583": 109,
    "584": 112,
    "585": 108,
    "586": 101,
    "587": 116,
    "588": 101,
    "589": 34,
    "590": 44,
    "591": 48,
    "592": 93,
    "593": 125,
    "594": 44,
    "595": 34,
    "596": 110,
    "597": 101,
    "598": 115,
    "599": 116,
    "600": 101,
    "601": 100,
    "602": 34,
    "603": 58,
    "604": 91,
    "605": 93,
    "606": 125,
    "607": 93,
    "608": 44,
    "609": 34,
    "610": 99,
    "611": 111,
    "612": 110,
    "613": 115,
    "614": 101,
    "615": 110,
    "616": 116,
    "617": 34,
    "618": 58,
    "619": 123,
    "620": 34,
    "621": 102,
    "622": 117,
    "623": 110,
    "624": 99,
    "625": 116,
    "626": 105,
    "627": 111,
    "628": 110,
    "629": 97,
    "630": 108,
    "631": 34,
    "632": 58,
    "633": 116,
    "634": 114,
    "635": 117,
    "636": 101,
    "637": 125,
    "638": 44,
    "639": 34,
    "640": 105,
    "641": 100,
    "642": 34,
    "643": 58,
    "644": 34,
    "645": 53,
    "646": 50,
    "647": 53,
    "648": 57,
    "649": 55,
    "650": 100,
    "651": 53,
    "652": 50,
    "653": 54,
    "654": 57,
    "655": 54,
    "656": 55,
    "657": 57,
    "658": 51,
    "659": 54,
    "660": 57,
    "661": 34,
    "662": 44,
    "663": 34,
    "664": 116,
    "665": 114,
    "666": 105,
    "667": 103,
    "668": 103,
    "669": 101,
    "670": 114,
    "671": 34,
    "672": 58,
    "673": 34,
    "674": 108,
    "675": 111,
    "676": 97,
    "677": 100,
    "678": 34,
    "679": 44,
    "680": 34,
    "681": 101,
    "682": 110,
    "683": 116,
    "684": 105,
    "685": 116,
    "686": 121,
    "687": 34,
    "688": 58,
    "689": 34,
    "690": 111,
    "691": 114,
    "692": 100,
    "693": 101,
    "694": 114,
    "695": 34,
    "696": 44,
    "697": 34,
    "698": 97,
    "699": 99,
    "700": 116,
    "701": 105,
    "702": 111,
    "703": 110,
    "704": 34,
    "705": 58,
    "706": 34,
    "707": 99,
    "708": 111,
    "709": 109,
    "710": 112,
    "711": 108,
    "712": 101,
    "713": 116,
    "714": 101,
    "715": 34,
    "716": 44,
    "717": 34,
    "718": 116,
    "719": 105,
    "720": 109,
    "721": 101,
    "722": 115,
    "723": 116,
    "724": 97,
    "725": 109,
    "726": 112,
    "727": 34,
    "728": 58,
    "729": 49,
    "730": 55,
    "731": 48,
    "732": 48,
    "733": 48,
    "734": 48,
    "735": 49,
    "736": 49,
    "737": 48,
    "738": 48,
    "739": 44,
    "740": 34,
    "741": 116,
    "742": 105,
    "743": 109,
    "744": 105,
    "745": 110,
    "746": 103,
    "747": 34,
    "748": 58,
    "749": 51,
    "750": 46,
    "751": 49,
    "752": 52,
    "753": 44,
    "754": 34,
    "755": 115,
    "756": 111,
    "757": 117,
    "758": 114,
    "759": 99,
    "760": 101,
    "761": 34,
    "762": 58,
    "763": 123,
    "764": 34,
    "765": 99,
    "766": 111,
    "767": 117,
    "768": 110,
    "769": 116,
    "770": 34,
    "771": 58,
    "772": 49,
    "773": 44,
    "774": 34,
    "775": 116,
    "776": 114,
    "777": 97,
    "778": 99,
    "779": 101,
    "780": 34,
    "781": 58,
    "782": 34,
    "783": 49,
    "784": 97,
    "785": 50,
    "786": 98,
    "787": 51,
    "788": 99,
    "789": 52,
    "790": 100,
    "791": 53,
    "792": 101,
    "793": 54,
    "794": 102,
    "795": 55,
    "796": 48,
    "797": 56,
    "798": 49,
    "799": 57,
    "800": 97,
    "801": 50,
    "802": 98,
    "803": 51,
    "804": 99,
    "805": 52,
    "806": 100,
    "807": 53,
    "808": 101,
    "809": 54,
    "810": 102,
    "811": 55,
    "812": 48,
    "813": 56,
    "814": 49,
    "815": 34,
    "816": 44,
    "817": 34,
    "818": 116,
    "819": 121,
    "820": 112,
    "821": 101,
    "822": 34,
    "823": 58,
    "824": 34,
    "825": 101,
    "826": 120,
    "827": 112,
    "828": 114,
    "829": 101,
    "830": 115,
    "831": 115,
    "832": 34,
    "833": 44,
    "834": 34,
    "835": 112,
    "836": 108,
    "837": 97,
    "838": 116,
    "839": 102,
    "840": 111,
    "841": 114,
    "842": 109,
    "843": 34,
    "844": 58,
    "845": 34,
    "846": 115,
    "847": 101,
    "848": 114,
    "849": 118,
    "850": 101,
    "851": 114,
    "852": 34,
    "853": 44,
    "854": 34,
    "855": 114,
    "856": 101,
    "857": 108,
    "858": 101,
    "859": 97,
    "860": 115,
    "861": 101,
    "862": 34,
    "863": 58,
    "864": 123,
    "865": 34,
    "866": 115,
    "867": 101,
    "868": 114,
    "869": 118,
    "870": 101,
    "871": 114,
    "872": 34,
    "873": 58,
    "874": 34,
    "875": 52,
    "876": 46,
    "877": 56,
    "878": 46,
    "879": 48,
    "880": 34,
    "881": 125,
    "882": 125,
    "883": 125
  }
})
```

### Mapped attributes

A mapping resolves a per-event attribute map, here exposing entity and action as Pub/Sub attributes for routing in subscribers.

Event

```json
{
  "name": "order complete",
  "data": {
    "id": "ORD-500",
    "total": 199.99,
    "currency": "EUR"
  },
  "context": {
    "shopping": [
      "complete",
      0
    ]
  },
  "globals": {
    "pagegroup": "shop"
  },
  "custom": {
    "completely": "random"
  },
  "user": {
    "id": "usr-789"
  },
  "nested": [
    {
      "entity": "product",
      "data": {
        "id": "ers",
        "name": "Everyday Ruck Snack",
        "color": "black",
        "size": "l",
        "price": 420
      },
      "context": {
        "shopping": [
          "complete",
          0
        ]
      },
      "nested": []
    },
    {
      "entity": "product",
      "data": {
        "id": "cc",
        "name": "Cool Cap",
        "size": "one size",
        "price": 42
      },
      "context": {
        "shopping": [
          "complete",
          0
        ]
      },
      "nested": []
    },
    {
      "entity": "gift",
      "data": {
        "name": "Surprise"
      },
      "context": {
        "shopping": [
          "complete",
          0
        ]
      },
      "nested": []
    }
  ],
  "consent": {
    "functional": true
  },
  "id": "52597d5269679369",
  "trigger": "load",
  "entity": "order",
  "action": "complete",
  "timestamp": 1700001100,
  "timing": 3.14,
  "source": {
    "count": 1,
    "trace": "1a2b3c4d5e6f70819a2b3c4d5e6f7081",
    "type": "express",
    "platform": "server"
  }
}
```

Mapping

```json
{
  "settings": {
    "attributes": {
      "entity": "entity",
      "action": "action"
    }
  }
}
```

Out

```javascript
topic("events", {
  "messageOrdering": false
});

publishMessage("events", {
  "data": {
    "0": 123,
    "1": 34,
    "2": 110,
    "3": 97,
    "4": 109,
    "5": 101,
    "6": 34,
    "7": 58,
    "8": 34,
    "9": 111,
    "10": 114,
    "11": 100,
    "12": 101,
    "13": 114,
    "14": 32,
    "15": 99,
    "16": 111,
    "17": 109,
    "18": 112,
    "19": 108,
    "20": 101,
    "21": 116,
    "22": 101,
    "23": 34,
    "24": 44,
    "25": 34,
    "26": 100,
    "27": 97,
    "28": 116,
    "29": 97,
    "30": 34,
    "31": 58,
    "32": 123,
    "33": 34,
    "34": 105,
    "35": 100,
    "36": 34,
    "37": 58,
    "38": 34,
    "39": 79,
    "40": 82,
    "41": 68,
    "42": 45,
    "43": 53,
    "44": 48,
    "45": 48,
    "46": 34,
    "47": 44,
    "48": 34,
    "49": 116,
    "50": 111,
    "51": 116,
    "52": 97,
    "53": 108,
    "54": 34,
    "55": 58,
    "56": 49,
    "57": 57,
    "58": 57,
    "59": 46,
    "60": 57,
    "61": 57,
    "62": 44,
    "63": 34,
    "64": 99,
    "65": 117,
    "66": 114,
    "67": 114,
    "68": 101,
    "69": 110,
    "70": 99,
    "71": 121,
    "72": 34,
    "73": 58,
    "74": 34,
    "75": 69,
    "76": 85,
    "77": 82,
    "78": 34,
    "79": 125,
    "80": 44,
    "81": 34,
    "82": 99,
    "83": 111,
    "84": 110,
    "85": 116,
    "86": 101,
    "87": 120,
    "88": 116,
    "89": 34,
    "90": 58,
    "91": 123,
    "92": 34,
    "93": 115,
    "94": 104,
    "95": 111,
    "96": 112,
    "97": 112,
    "98": 105,
    "99": 110,
    "100": 103,
    "101": 34,
    "102": 58,
    "103": 91,
    "104": 34,
    "105": 99,
    "106": 111,
    "107": 109,
    "108": 112,
    "109": 108,
    "110": 101,
    "111": 116,
    "112": 101,
    "113": 34,
    "114": 44,
    "115": 48,
    "116": 93,
    "117": 125,
    "118": 44,
    "119": 34,
    "120": 103,
    "121": 108,
    "122": 111,
    "123": 98,
    "124": 97,
    "125": 108,
    "126": 115,
    "127": 34,
    "128": 58,
    "129": 123,
    "130": 34,
    "131": 112,
    "132": 97,
    "133": 103,
    "134": 101,
    "135": 103,
    "136": 114,
    "137": 111,
    "138": 117,
    "139": 112,
    "140": 34,
    "141": 58,
    "142": 34,
    "143": 115,
    "144": 104,
    "145": 111,
    "146": 112,
    "147": 34,
    "148": 125,
    "149": 44,
    "150": 34,
    "151": 99,
    "152": 117,
    "153": 115,
    "154": 116,
    "155": 111,
    "156": 109,
    "157": 34,
    "158": 58,
    "159": 123,
    "160": 34,
    "161": 99,
    "162": 111,
    "163": 109,
    "164": 112,
    "165": 108,
    "166": 101,
    "167": 116,
    "168": 101,
    "169": 108,
    "170": 121,
    "171": 34,
    "172": 58,
    "173": 34,
    "174": 114,
    "175": 97,
    "176": 110,
    "177": 100,
    "178": 111,
    "179": 109,
    "180": 34,
    "181": 125,
    "182": 44,
    "183": 34,
    "184": 117,
    "185": 115,
    "186": 101,
    "187": 114,
    "188": 34,
    "189": 58,
    "190": 123,
    "191": 34,
    "192": 105,
    "193": 100,
    "194": 34,
    "195": 58,
    "196": 34,
    "197": 117,
    "198": 115,
    "199": 114,
    "200": 45,
    "201": 55,
    "202": 56,
    "203": 57,
    "204": 34,
    "205": 125,
    "206": 44,
    "207": 34,
    "208": 110,
    "209": 101,
    "210": 115,
    "211": 116,
    "212": 101,
    "213": 100,
    "214": 34,
    "215": 58,
    "216": 91,
    "217": 123,
    "218": 34,
    "219": 101,
    "220": 110,
    "221": 116,
    "222": 105,
    "223": 116,
    "224": 121,
    "225": 34,
    "226": 58,
    "227": 34,
    "228": 112,
    "229": 114,
    "230": 111,
    "231": 100,
    "232": 117,
    "233": 99,
    "234": 116,
    "235": 34,
    "236": 44,
    "237": 34,
    "238": 100,
    "239": 97,
    "240": 116,
    "241": 97,
    "242": 34,
    "243": 58,
    "244": 123,
    "245": 34,
    "246": 105,
    "247": 100,
    "248": 34,
    "249": 58,
    "250": 34,
    "251": 101,
    "252": 114,
    "253": 115,
    "254": 34,
    "255": 44,
    "256": 34,
    "257": 110,
    "258": 97,
    "259": 109,
    "260": 101,
    "261": 34,
    "262": 58,
    "263": 34,
    "264": 69,
    "265": 118,
    "266": 101,
    "267": 114,
    "268": 121,
    "269": 100,
    "270": 97,
    "271": 121,
    "272": 32,
    "273": 82,
    "274": 117,
    "275": 99,
    "276": 107,
    "277": 32,
    "278": 83,
    "279": 110,
    "280": 97,
    "281": 99,
    "282": 107,
    "283": 34,
    "284": 44,
    "285": 34,
    "286": 99,
    "287": 111,
    "288": 108,
    "289": 111,
    "290": 114,
    "291": 34,
    "292": 58,
    "293": 34,
    "294": 98,
    "295": 108,
    "296": 97,
    "297": 99,
    "298": 107,
    "299": 34,
    "300": 44,
    "301": 34,
    "302": 115,
    "303": 105,
    "304": 122,
    "305": 101,
    "306": 34,
    "307": 58,
    "308": 34,
    "309": 108,
    "310": 34,
    "311": 44,
    "312": 34,
    "313": 112,
    "314": 114,
    "315": 105,
    "316": 99,
    "317": 101,
    "318": 34,
    "319": 58,
    "320": 52,
    "321": 50,
    "322": 48,
    "323": 125,
    "324": 44,
    "325": 34,
    "326": 99,
    "327": 111,
    "328": 110,
    "329": 116,
    "330": 101,
    "331": 120,
    "332": 116,
    "333": 34,
    "334": 58,
    "335": 123,
    "336": 34,
    "337": 115,
    "338": 104,
    "339": 111,
    "340": 112,
    "341": 112,
    "342": 105,
    "343": 110,
    "344": 103,
    "345": 34,
    "346": 58,
    "347": 91,
    "348": 34,
    "349": 99,
    "350": 111,
    "351": 109,
    "352": 112,
    "353": 108,
    "354": 101,
    "355": 116,
    "356": 101,
    "357": 34,
    "358": 44,
    "359": 48,
    "360": 93,
    "361": 125,
    "362": 44,
    "363": 34,
    "364": 110,
    "365": 101,
    "366": 115,
    "367": 116,
    "368": 101,
    "369": 100,
    "370": 34,
    "371": 58,
    "372": 91,
    "373": 93,
    "374": 125,
    "375": 44,
    "376": 123,
    "377": 34,
    "378": 101,
    "379": 110,
    "380": 116,
    "381": 105,
    "382": 116,
    "383": 121,
    "384": 34,
    "385": 58,
    "386": 34,
    "387": 112,
    "388": 114,
    "389": 111,
    "390": 100,
    "391": 117,
    "392": 99,
    "393": 116,
    "394": 34,
    "395": 44,
    "396": 34,
    "397": 100,
    "398": 97,
    "399": 116,
    "400": 97,
    "401": 34,
    "402": 58,
    "403": 123,
    "404": 34,
    "405": 105,
    "406": 100,
    "407": 34,
    "408": 58,
    "409": 34,
    "410": 99,
    "411": 99,
    "412": 34,
    "413": 44,
    "414": 34,
    "415": 110,
    "416": 97,
    "417": 109,
    "418": 101,
    "419": 34,
    "420": 58,
    "421": 34,
    "422": 67,
    "423": 111,
    "424": 111,
    "425": 108,
    "426": 32,
    "427": 67,
    "428": 97,
    "429": 112,
    "430": 34,
    "431": 44,
    "432": 34,
    "433": 115,
    "434": 105,
    "435": 122,
    "436": 101,
    "437": 34,
    "438": 58,
    "439": 34,
    "440": 111,
    "441": 110,
    "442": 101,
    "443": 32,
    "444": 115,
    "445": 105,
    "446": 122,
    "447": 101,
    "448": 34,
    "449": 44,
    "450": 34,
    "451": 112,
    "452": 114,
    "453": 105,
    "454": 99,
    "455": 101,
    "456": 34,
    "457": 58,
    "458": 52,
    "459": 50,
    "460": 125,
    "461": 44,
    "462": 34,
    "463": 99,
    "464": 111,
    "465": 110,
    "466": 116,
    "467": 101,
    "468": 120,
    "469": 116,
    "470": 34,
    "471": 58,
    "472": 123,
    "473": 34,
    "474": 115,
    "475": 104,
    "476": 111,
    "477": 112,
    "478": 112,
    "479": 105,
    "480": 110,
    "481": 103,
    "482": 34,
    "483": 58,
    "484": 91,
    "485": 34,
    "486": 99,
    "487": 111,
    "488": 109,
    "489": 112,
    "490": 108,
    "491": 101,
    "492": 116,
    "493": 101,
    "494": 34,
    "495": 44,
    "496": 48,
    "497": 93,
    "498": 125,
    "499": 44,
    "500": 34,
    "501": 110,
    "502": 101,
    "503": 115,
    "504": 116,
    "505": 101,
    "506": 100,
    "507": 34,
    "508": 58,
    "509": 91,
    "510": 93,
    "511": 125,
    "512": 44,
    "513": 123,
    "514": 34,
    "515": 101,
    "516": 110,
    "517": 116,
    "518": 105,
    "519": 116,
    "520": 121,
    "521": 34,
    "522": 58,
    "523": 34,
    "524": 103,
    "525": 105,
    "526": 102,
    "527": 116,
    "528": 34,
    "529": 44,
    "530": 34,
    "531": 100,
    "532": 97,
    "533": 116,
    "534": 97,
    "535": 34,
    "536": 58,
    "537": 123,
    "538": 34,
    "539": 110,
    "540": 97,
    "541": 109,
    "542": 101,
    "543": 34,
    "544": 58,
    "545": 34,
    "546": 83,
    "547": 117,
    "548": 114,
    "549": 112,
    "550": 114,
    "551": 105,
    "552": 115,
    "553": 101,
    "554": 34,
    "555": 125,
    "556": 44,
    "557": 34,
    "558": 99,
    "559": 111,
    "560": 110,
    "561": 116,
    "562": 101,
    "563": 120,
    "564": 116,
    "565": 34,
    "566": 58,
    "567": 123,
    "568": 34,
    "569": 115,
    "570": 104,
    "571": 111,
    "572": 112,
    "573": 112,
    "574": 105,
    "575": 110,
    "576": 103,
    "577": 34,
    "578": 58,
    "579": 91,
    "580": 34,
    "581": 99,
    "582": 111,
    "583": 109,
    "584": 112,
    "585": 108,
    "586": 101,
    "587": 116,
    "588": 101,
    "589": 34,
    "590": 44,
    "591": 48,
    "592": 93,
    "593": 125,
    "594": 44,
    "595": 34,
    "596": 110,
    "597": 101,
    "598": 115,
    "599": 116,
    "600": 101,
    "601": 100,
    "602": 34,
    "603": 58,
    "604": 91,
    "605": 93,
    "606": 125,
    "607": 93,
    "608": 44,
    "609": 34,
    "610": 99,
    "611": 111,
    "612": 110,
    "613": 115,
    "614": 101,
    "615": 110,
    "616": 116,
    "617": 34,
    "618": 58,
    "619": 123,
    "620": 34,
    "621": 102,
    "622": 117,
    "623": 110,
    "624": 99,
    "625": 116,
    "626": 105,
    "627": 111,
    "628": 110,
    "629": 97,
    "630": 108,
    "631": 34,
    "632": 58,
    "633": 116,
    "634": 114,
    "635": 117,
    "636": 101,
    "637": 125,
    "638": 44,
    "639": 34,
    "640": 105,
    "641": 100,
    "642": 34,
    "643": 58,
    "644": 34,
    "645": 53,
    "646": 50,
    "647": 53,
    "648": 57,
    "649": 55,
    "650": 100,
    "651": 53,
    "652": 50,
    "653": 54,
    "654": 57,
    "655": 54,
    "656": 55,
    "657": 57,
    "658": 51,
    "659": 54,
    "660": 57,
    "661": 34,
    "662": 44,
    "663": 34,
    "664": 116,
    "665": 114,
    "666": 105,
    "667": 103,
    "668": 103,
    "669": 101,
    "670": 114,
    "671": 34,
    "672": 58,
    "673": 34,
    "674": 108,
    "675": 111,
    "676": 97,
    "677": 100,
    "678": 34,
    "679": 44,
    "680": 34,
    "681": 101,
    "682": 110,
    "683": 116,
    "684": 105,
    "685": 116,
    "686": 121,
    "687": 34,
    "688": 58,
    "689": 34,
    "690": 111,
    "691": 114,
    "692": 100,
    "693": 101,
    "694": 114,
    "695": 34,
    "696": 44,
    "697": 34,
    "698": 97,
    "699": 99,
    "700": 116,
    "701": 105,
    "702": 111,
    "703": 110,
    "704": 34,
    "705": 58,
    "706": 34,
    "707": 99,
    "708": 111,
    "709": 109,
    "710": 112,
    "711": 108,
    "712": 101,
    "713": 116,
    "714": 101,
    "715": 34,
    "716": 44,
    "717": 34,
    "718": 116,
    "719": 105,
    "720": 109,
    "721": 101,
    "722": 115,
    "723": 116,
    "724": 97,
    "725": 109,
    "726": 112,
    "727": 34,
    "728": 58,
    "729": 49,
    "730": 55,
    "731": 48,
    "732": 48,
    "733": 48,
    "734": 48,
    "735": 49,
    "736": 49,
    "737": 48,
    "738": 48,
    "739": 44,
    "740": 34,
    "741": 116,
    "742": 105,
    "743": 109,
    "744": 105,
    "745": 110,
    "746": 103,
    "747": 34,
    "748": 58,
    "749": 51,
    "750": 46,
    "751": 49,
    "752": 52,
    "753": 44,
    "754": 34,
    "755": 115,
    "756": 111,
    "757": 117,
    "758": 114,
    "759": 99,
    "760": 101,
    "761": 34,
    "762": 58,
    "763": 123,
    "764": 34,
    "765": 99,
    "766": 111,
    "767": 117,
    "768": 110,
    "769": 116,
    "770": 34,
    "771": 58,
    "772": 49,
    "773": 44,
    "774": 34,
    "775": 116,
    "776": 114,
    "777": 97,
    "778": 99,
    "779": 101,
    "780": 34,
    "781": 58,
    "782": 34,
    "783": 49,
    "784": 97,
    "785": 50,
    "786": 98,
    "787": 51,
    "788": 99,
    "789": 52,
    "790": 100,
    "791": 53,
    "792": 101,
    "793": 54,
    "794": 102,
    "795": 55,
    "796": 48,
    "797": 56,
    "798": 49,
    "799": 57,
    "800": 97,
    "801": 50,
    "802": 98,
    "803": 51,
    "804": 99,
    "805": 52,
    "806": 100,
    "807": 53,
    "808": 101,
    "809": 54,
    "810": 102,
    "811": 55,
    "812": 48,
    "813": 56,
    "814": 49,
    "815": 34,
    "816": 44,
    "817": 34,
    "818": 116,
    "819": 121,
    "820": 112,
    "821": 101,
    "822": 34,
    "823": 58,
    "824": 34,
    "825": 101,
    "826": 120,
    "827": 112,
    "828": 114,
    "829": 101,
    "830": 115,
    "831": 115,
    "832": 34,
    "833": 44,
    "834": 34,
    "835": 112,
    "836": 108,
    "837": 97,
    "838": 116,
    "839": 102,
    "840": 111,
    "841": 114,
    "842": 109,
    "843": 34,
    "844": 58,
    "845": 34,
    "846": 115,
    "847": 101,
    "848": 114,
    "849": 118,
    "850": 101,
    "851": 114,
    "852": 34,
    "853": 44,
    "854": 34,
    "855": 114,
    "856": 101,
    "857": 108,
    "858": 101,
    "859": 97,
    "860": 115,
    "861": 101,
    "862": 34,
    "863": 58,
    "864": 123,
    "865": 34,
    "866": 115,
    "867": 101,
    "868": 114,
    "869": 118,
    "870": 101,
    "871": 114,
    "872": 34,
    "873": 58,
    "874": 34,
    "875": 52,
    "876": 46,
    "877": 56,
    "878": 46,
    "879": 48,
    "880": 34,
    "881": 125,
    "882": 125,
    "883": 125
  },
  "attributes": {
    "entity": "order",
    "action": "complete"
  }
})
```

### Mapped payload

A data mapping transforms the event payload before publish. The rewritten object becomes the Pub/Sub message body.

Event

```json
{
  "name": "order complete",
  "data": {
    "id": "ORD-500",
    "total": 199.99,
    "currency": "EUR"
  },
  "context": {
    "shopping": [
      "complete",
      0
    ]
  },
  "globals": {
    "pagegroup": "shop"
  },
  "custom": {
    "completely": "random"
  },
  "user": {
    "id": "usr-789"
  },
  "nested": [
    {
      "entity": "product",
      "data": {
        "id": "ers",
        "name": "Everyday Ruck Snack",
        "color": "black",
        "size": "l",
        "price": 420
      },
      "context": {
        "shopping": [
          "complete",
          0
        ]
      },
      "nested": []
    },
    {
      "entity": "product",
      "data": {
        "id": "cc",
        "name": "Cool Cap",
        "size": "one size",
        "price": 42
      },
      "context": {
        "shopping": [
          "complete",
          0
        ]
      },
      "nested": []
    },
    {
      "entity": "gift",
      "data": {
        "name": "Surprise"
      },
      "context": {
        "shopping": [
          "complete",
          0
        ]
      },
      "nested": []
    }
  ],
  "consent": {
    "functional": true
  },
  "id": "52597d5269679369",
  "trigger": "load",
  "entity": "order",
  "action": "complete",
  "timestamp": 1700001100,
  "timing": 3.14,
  "source": {
    "count": 1,
    "trace": "1a2b3c4d5e6f70819a2b3c4d5e6f7081",
    "type": "express",
    "platform": "server"
  }
}
```

Mapping

```json
{
  "data": {
    "map": {
      "order_id": "data.id",
      "revenue": "data.total",
      "currency": "data.currency"
    }
  }
}
```

Out

```javascript
topic("events", {
  "messageOrdering": false
});

publishMessage("events", {
  "data": {
    "0": 123,
    "1": 34,
    "2": 111,
    "3": 114,
    "4": 100,
    "5": 101,
    "6": 114,
    "7": 95,
    "8": 105,
    "9": 100,
    "10": 34,
    "11": 58,
    "12": 34,
    "13": 79,
    "14": 82,
    "15": 68,
    "16": 45,
    "17": 53,
    "18": 48,
    "19": 48,
    "20": 34,
    "21": 44,
    "22": 34,
    "23": 114,
    "24": 101,
    "25": 118,
    "26": 101,
    "27": 110,
    "28": 117,
    "29": 101,
    "30": 34,
    "31": 58,
    "32": 49,
    "33": 57,
    "34": 57,
    "35": 46,
    "36": 57,
    "37": 57,
    "38": 44,
    "39": 34,
    "40": 99,
    "41": 117,
    "42": 114,
    "43": 114,
    "44": 101,
    "45": 110,
    "46": 99,
    "47": 121,
    "48": 34,
    "49": 58,
    "50": 34,
    "51": 69,
    "52": 85,
    "53": 82,
    "54": 34,
    "55": 125
  }
})
```

### Ordering key from user

A mapping resolves the ordering key from event.user.id, enabling per-user ordering for this publish.

Event

```json
{
  "name": "order complete",
  "data": {
    "id": "ORD-500",
    "total": 199.99,
    "currency": "EUR"
  },
  "context": {
    "shopping": [
      "complete",
      0
    ]
  },
  "globals": {
    "pagegroup": "shop"
  },
  "custom": {
    "completely": "random"
  },
  "user": {
    "id": "usr-789"
  },
  "nested": [
    {
      "entity": "product",
      "data": {
        "id": "ers",
        "name": "Everyday Ruck Snack",
        "color": "black",
        "size": "l",
        "price": 420
      },
      "context": {
        "shopping": [
          "complete",
          0
        ]
      },
      "nested": []
    },
    {
      "entity": "product",
      "data": {
        "id": "cc",
        "name": "Cool Cap",
        "size": "one size",
        "price": 42
      },
      "context": {
        "shopping": [
          "complete",
          0
        ]
      },
      "nested": []
    },
    {
      "entity": "gift",
      "data": {
        "name": "Surprise"
      },
      "context": {
        "shopping": [
          "complete",
          0
        ]
      },
      "nested": []
    }
  ],
  "consent": {
    "functional": true
  },
  "id": "52597d5269679369",
  "trigger": "load",
  "entity": "order",
  "action": "complete",
  "timestamp": 1700001100,
  "timing": 3.14,
  "source": {
    "count": 1,
    "trace": "1a2b3c4d5e6f70819a2b3c4d5e6f7081",
    "type": "express",
    "platform": "server"
  }
}
```

Mapping

```json
{
  "settings": {
    "orderingKey": "user.id"
  }
}
```

Out

```javascript
topic("events", {
  "messageOrdering": true
});

publishMessage("events", {
  "data": {
    "0": 123,
    "1": 34,
    "2": 110,
    "3": 97,
    "4": 109,
    "5": 101,
    "6": 34,
    "7": 58,
    "8": 34,
    "9": 111,
    "10": 114,
    "11": 100,
    "12": 101,
    "13": 114,
    "14": 32,
    "15": 99,
    "16": 111,
    "17": 109,
    "18": 112,
    "19": 108,
    "20": 101,
    "21": 116,
    "22": 101,
    "23": 34,
    "24": 44,
    "25": 34,
    "26": 100,
    "27": 97,
    "28": 116,
    "29": 97,
    "30": 34,
    "31": 58,
    "32": 123,
    "33": 34,
    "34": 105,
    "35": 100,
    "36": 34,
    "37": 58,
    "38": 34,
    "39": 79,
    "40": 82,
    "41": 68,
    "42": 45,
    "43": 53,
    "44": 48,
    "45": 48,
    "46": 34,
    "47": 44,
    "48": 34,
    "49": 116,
    "50": 111,
    "51": 116,
    "52": 97,
    "53": 108,
    "54": 34,
    "55": 58,
    "56": 49,
    "57": 57,
    "58": 57,
    "59": 46,
    "60": 57,
    "61": 57,
    "62": 44,
    "63": 34,
    "64": 99,
    "65": 117,
    "66": 114,
    "67": 114,
    "68": 101,
    "69": 110,
    "70": 99,
    "71": 121,
    "72": 34,
    "73": 58,
    "74": 34,
    "75": 69,
    "76": 85,
    "77": 82,
    "78": 34,
    "79": 125,
    "80": 44,
    "81": 34,
    "82": 99,
    "83": 111,
    "84": 110,
    "85": 116,
    "86": 101,
    "87": 120,
    "88": 116,
    "89": 34,
    "90": 58,
    "91": 123,
    "92": 34,
    "93": 115,
    "94": 104,
    "95": 111,
    "96": 112,
    "97": 112,
    "98": 105,
    "99": 110,
    "100": 103,
    "101": 34,
    "102": 58,
    "103": 91,
    "104": 34,
    "105": 99,
    "106": 111,
    "107": 109,
    "108": 112,
    "109": 108,
    "110": 101,
    "111": 116,
    "112": 101,
    "113": 34,
    "114": 44,
    "115": 48,
    "116": 93,
    "117": 125,
    "118": 44,
    "119": 34,
    "120": 103,
    "121": 108,
    "122": 111,
    "123": 98,
    "124": 97,
    "125": 108,
    "126": 115,
    "127": 34,
    "128": 58,
    "129": 123,
    "130": 34,
    "131": 112,
    "132": 97,
    "133": 103,
    "134": 101,
    "135": 103,
    "136": 114,
    "137": 111,
    "138": 117,
    "139": 112,
    "140": 34,
    "141": 58,
    "142": 34,
    "143": 115,
    "144": 104,
    "145": 111,
    "146": 112,
    "147": 34,
    "148": 125,
    "149": 44,
    "150": 34,
    "151": 99,
    "152": 117,
    "153": 115,
    "154": 116,
    "155": 111,
    "156": 109,
    "157": 34,
    "158": 58,
    "159": 123,
    "160": 34,
    "161": 99,
    "162": 111,
    "163": 109,
    "164": 112,
    "165": 108,
    "166": 101,
    "167": 116,
    "168": 101,
    "169": 108,
    "170": 121,
    "171": 34,
    "172": 58,
    "173": 34,
    "174": 114,
    "175": 97,
    "176": 110,
    "177": 100,
    "178": 111,
    "179": 109,
    "180": 34,
    "181": 125,
    "182": 44,
    "183": 34,
    "184": 117,
    "185": 115,
    "186": 101,
    "187": 114,
    "188": 34,
    "189": 58,
    "190": 123,
    "191": 34,
    "192": 105,
    "193": 100,
    "194": 34,
    "195": 58,
    "196": 34,
    "197": 117,
    "198": 115,
    "199": 114,
    "200": 45,
    "201": 55,
    "202": 56,
    "203": 57,
    "204": 34,
    "205": 125,
    "206": 44,
    "207": 34,
    "208": 110,
    "209": 101,
    "210": 115,
    "211": 116,
    "212": 101,
    "213": 100,
    "214": 34,
    "215": 58,
    "216": 91,
    "217": 123,
    "218": 34,
    "219": 101,
    "220": 110,
    "221": 116,
    "222": 105,
    "223": 116,
    "224": 121,
    "225": 34,
    "226": 58,
    "227": 34,
    "228": 112,
    "229": 114,
    "230": 111,
    "231": 100,
    "232": 117,
    "233": 99,
    "234": 116,
    "235": 34,
    "236": 44,
    "237": 34,
    "238": 100,
    "239": 97,
    "240": 116,
    "241": 97,
    "242": 34,
    "243": 58,
    "244": 123,
    "245": 34,
    "246": 105,
    "247": 100,
    "248": 34,
    "249": 58,
    "250": 34,
    "251": 101,
    "252": 114,
    "253": 115,
    "254": 34,
    "255": 44,
    "256": 34,
    "257": 110,
    "258": 97,
    "259": 109,
    "260": 101,
    "261": 34,
    "262": 58,
    "263": 34,
    "264": 69,
    "265": 118,
    "266": 101,
    "267": 114,
    "268": 121,
    "269": 100,
    "270": 97,
    "271": 121,
    "272": 32,
    "273": 82,
    "274": 117,
    "275": 99,
    "276": 107,
    "277": 32,
    "278": 83,
    "279": 110,
    "280": 97,
    "281": 99,
    "282": 107,
    "283": 34,
    "284": 44,
    "285": 34,
    "286": 99,
    "287": 111,
    "288": 108,
    "289": 111,
    "290": 114,
    "291": 34,
    "292": 58,
    "293": 34,
    "294": 98,
    "295": 108,
    "296": 97,
    "297": 99,
    "298": 107,
    "299": 34,
    "300": 44,
    "301": 34,
    "302": 115,
    "303": 105,
    "304": 122,
    "305": 101,
    "306": 34,
    "307": 58,
    "308": 34,
    "309": 108,
    "310": 34,
    "311": 44,
    "312": 34,
    "313": 112,
    "314": 114,
    "315": 105,
    "316": 99,
    "317": 101,
    "318": 34,
    "319": 58,
    "320": 52,
    "321": 50,
    "322": 48,
    "323": 125,
    "324": 44,
    "325": 34,
    "326": 99,
    "327": 111,
    "328": 110,
    "329": 116,
    "330": 101,
    "331": 120,
    "332": 116,
    "333": 34,
    "334": 58,
    "335": 123,
    "336": 34,
    "337": 115,
    "338": 104,
    "339": 111,
    "340": 112,
    "341": 112,
    "342": 105,
    "343": 110,
    "344": 103,
    "345": 34,
    "346": 58,
    "347": 91,
    "348": 34,
    "349": 99,
    "350": 111,
    "351": 109,
    "352": 112,
    "353": 108,
    "354": 101,
    "355": 116,
    "356": 101,
    "357": 34,
    "358": 44,
    "359": 48,
    "360": 93,
    "361": 125,
    "362": 44,
    "363": 34,
    "364": 110,
    "365": 101,
    "366": 115,
    "367": 116,
    "368": 101,
    "369": 100,
    "370": 34,
    "371": 58,
    "372": 91,
    "373": 93,
    "374": 125,
    "375": 44,
    "376": 123,
    "377": 34,
    "378": 101,
    "379": 110,
    "380": 116,
    "381": 105,
    "382": 116,
    "383": 121,
    "384": 34,
    "385": 58,
    "386": 34,
    "387": 112,
    "388": 114,
    "389": 111,
    "390": 100,
    "391": 117,
    "392": 99,
    "393": 116,
    "394": 34,
    "395": 44,
    "396": 34,
    "397": 100,
    "398": 97,
    "399": 116,
    "400": 97,
    "401": 34,
    "402": 58,
    "403": 123,
    "404": 34,
    "405": 105,
    "406": 100,
    "407": 34,
    "408": 58,
    "409": 34,
    "410": 99,
    "411": 99,
    "412": 34,
    "413": 44,
    "414": 34,
    "415": 110,
    "416": 97,
    "417": 109,
    "418": 101,
    "419": 34,
    "420": 58,
    "421": 34,
    "422": 67,
    "423": 111,
    "424": 111,
    "425": 108,
    "426": 32,
    "427": 67,
    "428": 97,
    "429": 112,
    "430": 34,
    "431": 44,
    "432": 34,
    "433": 115,
    "434": 105,
    "435": 122,
    "436": 101,
    "437": 34,
    "438": 58,
    "439": 34,
    "440": 111,
    "441": 110,
    "442": 101,
    "443": 32,
    "444": 115,
    "445": 105,
    "446": 122,
    "447": 101,
    "448": 34,
    "449": 44,
    "450": 34,
    "451": 112,
    "452": 114,
    "453": 105,
    "454": 99,
    "455": 101,
    "456": 34,
    "457": 58,
    "458": 52,
    "459": 50,
    "460": 125,
    "461": 44,
    "462": 34,
    "463": 99,
    "464": 111,
    "465": 110,
    "466": 116,
    "467": 101,
    "468": 120,
    "469": 116,
    "470": 34,
    "471": 58,
    "472": 123,
    "473": 34,
    "474": 115,
    "475": 104,
    "476": 111,
    "477": 112,
    "478": 112,
    "479": 105,
    "480": 110,
    "481": 103,
    "482": 34,
    "483": 58,
    "484": 91,
    "485": 34,
    "486": 99,
    "487": 111,
    "488": 109,
    "489": 112,
    "490": 108,
    "491": 101,
    "492": 116,
    "493": 101,
    "494": 34,
    "495": 44,
    "496": 48,
    "497": 93,
    "498": 125,
    "499": 44,
    "500": 34,
    "501": 110,
    "502": 101,
    "503": 115,
    "504": 116,
    "505": 101,
    "506": 100,
    "507": 34,
    "508": 58,
    "509": 91,
    "510": 93,
    "511": 125,
    "512": 44,
    "513": 123,
    "514": 34,
    "515": 101,
    "516": 110,
    "517": 116,
    "518": 105,
    "519": 116,
    "520": 121,
    "521": 34,
    "522": 58,
    "523": 34,
    "524": 103,
    "525": 105,
    "526": 102,
    "527": 116,
    "528": 34,
    "529": 44,
    "530": 34,
    "531": 100,
    "532": 97,
    "533": 116,
    "534": 97,
    "535": 34,
    "536": 58,
    "537": 123,
    "538": 34,
    "539": 110,
    "540": 97,
    "541": 109,
    "542": 101,
    "543": 34,
    "544": 58,
    "545": 34,
    "546": 83,
    "547": 117,
    "548": 114,
    "549": 112,
    "550": 114,
    "551": 105,
    "552": 115,
    "553": 101,
    "554": 34,
    "555": 125,
    "556": 44,
    "557": 34,
    "558": 99,
    "559": 111,
    "560": 110,
    "561": 116,
    "562": 101,
    "563": 120,
    "564": 116,
    "565": 34,
    "566": 58,
    "567": 123,
    "568": 34,
    "569": 115,
    "570": 104,
    "571": 111,
    "572": 112,
    "573": 112,
    "574": 105,
    "575": 110,
    "576": 103,
    "577": 34,
    "578": 58,
    "579": 91,
    "580": 34,
    "581": 99,
    "582": 111,
    "583": 109,
    "584": 112,
    "585": 108,
    "586": 101,
    "587": 116,
    "588": 101,
    "589": 34,
    "590": 44,
    "591": 48,
    "592": 93,
    "593": 125,
    "594": 44,
    "595": 34,
    "596": 110,
    "597": 101,
    "598": 115,
    "599": 116,
    "600": 101,
    "601": 100,
    "602": 34,
    "603": 58,
    "604": 91,
    "605": 93,
    "606": 125,
    "607": 93,
    "608": 44,
    "609": 34,
    "610": 99,
    "611": 111,
    "612": 110,
    "613": 115,
    "614": 101,
    "615": 110,
    "616": 116,
    "617": 34,
    "618": 58,
    "619": 123,
    "620": 34,
    "621": 102,
    "622": 117,
    "623": 110,
    "624": 99,
    "625": 116,
    "626": 105,
    "627": 111,
    "628": 110,
    "629": 97,
    "630": 108,
    "631": 34,
    "632": 58,
    "633": 116,
    "634": 114,
    "635": 117,
    "636": 101,
    "637": 125,
    "638": 44,
    "639": 34,
    "640": 105,
    "641": 100,
    "642": 34,
    "643": 58,
    "644": 34,
    "645": 53,
    "646": 50,
    "647": 53,
    "648": 57,
    "649": 55,
    "650": 100,
    "651": 53,
    "652": 50,
    "653": 54,
    "654": 57,
    "655": 54,
    "656": 55,
    "657": 57,
    "658": 51,
    "659": 54,
    "660": 57,
    "661": 34,
    "662": 44,
    "663": 34,
    "664": 116,
    "665": 114,
    "666": 105,
    "667": 103,
    "668": 103,
    "669": 101,
    "670": 114,
    "671": 34,
    "672": 58,
    "673": 34,
    "674": 108,
    "675": 111,
    "676": 97,
    "677": 100,
    "678": 34,
    "679": 44,
    "680": 34,
    "681": 101,
    "682": 110,
    "683": 116,
    "684": 105,
    "685": 116,
    "686": 121,
    "687": 34,
    "688": 58,
    "689": 34,
    "690": 111,
    "691": 114,
    "692": 100,
    "693": 101,
    "694": 114,
    "695": 34,
    "696": 44,
    "697": 34,
    "698": 97,
    "699": 99,
    "700": 116,
    "701": 105,
    "702": 111,
    "703": 110,
    "704": 34,
    "705": 58,
    "706": 34,
    "707": 99,
    "708": 111,
    "709": 109,
    "710": 112,
    "711": 108,
    "712": 101,
    "713": 116,
    "714": 101,
    "715": 34,
    "716": 44,
    "717": 34,
    "718": 116,
    "719": 105,
    "720": 109,
    "721": 101,
    "722": 115,
    "723": 116,
    "724": 97,
    "725": 109,
    "726": 112,
    "727": 34,
    "728": 58,
    "729": 49,
    "730": 55,
    "731": 48,
    "732": 48,
    "733": 48,
    "734": 48,
    "735": 49,
    "736": 49,
    "737": 48,
    "738": 48,
    "739": 44,
    "740": 34,
    "741": 116,
    "742": 105,
    "743": 109,
    "744": 105,
    "745": 110,
    "746": 103,
    "747": 34,
    "748": 58,
    "749": 51,
    "750": 46,
    "751": 49,
    "752": 52,
    "753": 44,
    "754": 34,
    "755": 115,
    "756": 111,
    "757": 117,
    "758": 114,
    "759": 99,
    "760": 101,
    "761": 34,
    "762": 58,
    "763": 123,
    "764": 34,
    "765": 99,
    "766": 111,
    "767": 117,
    "768": 110,
    "769": 116,
    "770": 34,
    "771": 58,
    "772": 49,
    "773": 44,
    "774": 34,
    "775": 116,
    "776": 114,
    "777": 97,
    "778": 99,
    "779": 101,
    "780": 34,
    "781": 58,
    "782": 34,
    "783": 49,
    "784": 97,
    "785": 50,
    "786": 98,
    "787": 51,
    "788": 99,
    "789": 52,
    "790": 100,
    "791": 53,
    "792": 101,
    "793": 54,
    "794": 102,
    "795": 55,
    "796": 48,
    "797": 56,
    "798": 49,
    "799": 57,
    "800": 97,
    "801": 50,
    "802": 98,
    "803": 51,
    "804": 99,
    "805": 52,
    "806": 100,
    "807": 53,
    "808": 101,
    "809": 54,
    "810": 102,
    "811": 55,
    "812": 48,
    "813": 56,
    "814": 49,
    "815": 34,
    "816": 44,
    "817": 34,
    "818": 116,
    "819": 121,
    "820": 112,
    "821": 101,
    "822": 34,
    "823": 58,
    "824": 34,
    "825": 101,
    "826": 120,
    "827": 112,
    "828": 114,
    "829": 101,
    "830": 115,
    "831": 115,
    "832": 34,
    "833": 44,
    "834": 34,
    "835": 112,
    "836": 108,
    "837": 97,
    "838": 116,
    "839": 102,
    "840": 111,
    "841": 114,
    "842": 109,
    "843": 34,
    "844": 58,
    "845": 34,
    "846": 115,
    "847": 101,
    "848": 114,
    "849": 118,
    "850": 101,
    "851": 114,
    "852": 34,
    "853": 44,
    "854": 34,
    "855": 114,
    "856": 101,
    "857": 108,
    "858": 101,
    "859": 97,
    "860": 115,
    "861": 101,
    "862": 34,
    "863": 58,
    "864": 123,
    "865": 34,
    "866": 115,
    "867": 101,
    "868": 114,
    "869": 118,
    "870": 101,
    "871": 114,
    "872": 34,
    "873": 58,
    "874": 34,
    "875": 52,
    "876": 46,
    "877": 56,
    "878": 46,
    "879": 48,
    "880": 34,
    "881": 125,
    "882": 125,
    "883": 125
  },
  "orderingKey": "usr-789"
})
```

### Topic override

A mapping rule overrides the destination default topic so order events are published to a dedicated topic.

Event

```json
{
  "name": "order complete",
  "data": {
    "id": "ORD-500",
    "total": 199.99,
    "currency": "EUR"
  },
  "context": {
    "shopping": [
      "complete",
      0
    ]
  },
  "globals": {
    "pagegroup": "shop"
  },
  "custom": {
    "completely": "random"
  },
  "user": {
    "id": "usr-789"
  },
  "nested": [
    {
      "entity": "product",
      "data": {
        "id": "ers",
        "name": "Everyday Ruck Snack",
        "color": "black",
        "size": "l",
        "price": 420
      },
      "context": {
        "shopping": [
          "complete",
          0
        ]
      },
      "nested": []
    },
    {
      "entity": "product",
      "data": {
        "id": "cc",
        "name": "Cool Cap",
        "size": "one size",
        "price": 42
      },
      "context": {
        "shopping": [
          "complete",
          0
        ]
      },
      "nested": []
    },
    {
      "entity": "gift",
      "data": {
        "name": "Surprise"
      },
      "context": {
        "shopping": [
          "complete",
          0
        ]
      },
      "nested": []
    }
  ],
  "consent": {
    "functional": true
  },
  "id": "52597d5269679369",
  "trigger": "load",
  "entity": "order",
  "action": "complete",
  "timestamp": 1700001100,
  "timing": 3.14,
  "source": {
    "count": 1,
    "trace": "1a2b3c4d5e6f70819a2b3c4d5e6f7081",
    "type": "express",
    "platform": "server"
  }
}
```

Mapping

```json
{
  "settings": {
    "topic": "orders"
  }
}
```

Out

```javascript
topic("orders", {
  "messageOrdering": false
});

publishMessage("orders", {
  "data": {
    "0": 123,
    "1": 34,
    "2": 110,
    "3": 97,
    "4": 109,
    "5": 101,
    "6": 34,
    "7": 58,
    "8": 34,
    "9": 111,
    "10": 114,
    "11": 100,
    "12": 101,
    "13": 114,
    "14": 32,
    "15": 99,
    "16": 111,
    "17": 109,
    "18": 112,
    "19": 108,
    "20": 101,
    "21": 116,
    "22": 101,
    "23": 34,
    "24": 44,
    "25": 34,
    "26": 100,
    "27": 97,
    "28": 116,
    "29": 97,
    "30": 34,
    "31": 58,
    "32": 123,
    "33": 34,
    "34": 105,
    "35": 100,
    "36": 34,
    "37": 58,
    "38": 34,
    "39": 79,
    "40": 82,
    "41": 68,
    "42": 45,
    "43": 53,
    "44": 48,
    "45": 48,
    "46": 34,
    "47": 44,
    "48": 34,
    "49": 116,
    "50": 111,
    "51": 116,
    "52": 97,
    "53": 108,
    "54": 34,
    "55": 58,
    "56": 49,
    "57": 57,
    "58": 57,
    "59": 46,
    "60": 57,
    "61": 57,
    "62": 44,
    "63": 34,
    "64": 99,
    "65": 117,
    "66": 114,
    "67": 114,
    "68": 101,
    "69": 110,
    "70": 99,
    "71": 121,
    "72": 34,
    "73": 58,
    "74": 34,
    "75": 69,
    "76": 85,
    "77": 82,
    "78": 34,
    "79": 125,
    "80": 44,
    "81": 34,
    "82": 99,
    "83": 111,
    "84": 110,
    "85": 116,
    "86": 101,
    "87": 120,
    "88": 116,
    "89": 34,
    "90": 58,
    "91": 123,
    "92": 34,
    "93": 115,
    "94": 104,
    "95": 111,
    "96": 112,
    "97": 112,
    "98": 105,
    "99": 110,
    "100": 103,
    "101": 34,
    "102": 58,
    "103": 91,
    "104": 34,
    "105": 99,
    "106": 111,
    "107": 109,
    "108": 112,
    "109": 108,
    "110": 101,
    "111": 116,
    "112": 101,
    "113": 34,
    "114": 44,
    "115": 48,
    "116": 93,
    "117": 125,
    "118": 44,
    "119": 34,
    "120": 103,
    "121": 108,
    "122": 111,
    "123": 98,
    "124": 97,
    "125": 108,
    "126": 115,
    "127": 34,
    "128": 58,
    "129": 123,
    "130": 34,
    "131": 112,
    "132": 97,
    "133": 103,
    "134": 101,
    "135": 103,
    "136": 114,
    "137": 111,
    "138": 117,
    "139": 112,
    "140": 34,
    "141": 58,
    "142": 34,
    "143": 115,
    "144": 104,
    "145": 111,
    "146": 112,
    "147": 34,
    "148": 125,
    "149": 44,
    "150": 34,
    "151": 99,
    "152": 117,
    "153": 115,
    "154": 116,
    "155": 111,
    "156": 109,
    "157": 34,
    "158": 58,
    "159": 123,
    "160": 34,
    "161": 99,
    "162": 111,
    "163": 109,
    "164": 112,
    "165": 108,
    "166": 101,
    "167": 116,
    "168": 101,
    "169": 108,
    "170": 121,
    "171": 34,
    "172": 58,
    "173": 34,
    "174": 114,
    "175": 97,
    "176": 110,
    "177": 100,
    "178": 111,
    "179": 109,
    "180": 34,
    "181": 125,
    "182": 44,
    "183": 34,
    "184": 117,
    "185": 115,
    "186": 101,
    "187": 114,
    "188": 34,
    "189": 58,
    "190": 123,
    "191": 34,
    "192": 105,
    "193": 100,
    "194": 34,
    "195": 58,
    "196": 34,
    "197": 117,
    "198": 115,
    "199": 114,
    "200": 45,
    "201": 55,
    "202": 56,
    "203": 57,
    "204": 34,
    "205": 125,
    "206": 44,
    "207": 34,
    "208": 110,
    "209": 101,
    "210": 115,
    "211": 116,
    "212": 101,
    "213": 100,
    "214": 34,
    "215": 58,
    "216": 91,
    "217": 123,
    "218": 34,
    "219": 101,
    "220": 110,
    "221": 116,
    "222": 105,
    "223": 116,
    "224": 121,
    "225": 34,
    "226": 58,
    "227": 34,
    "228": 112,
    "229": 114,
    "230": 111,
    "231": 100,
    "232": 117,
    "233": 99,
    "234": 116,
    "235": 34,
    "236": 44,
    "237": 34,
    "238": 100,
    "239": 97,
    "240": 116,
    "241": 97,
    "242": 34,
    "243": 58,
    "244": 123,
    "245": 34,
    "246": 105,
    "247": 100,
    "248": 34,
    "249": 58,
    "250": 34,
    "251": 101,
    "252": 114,
    "253": 115,
    "254": 34,
    "255": 44,
    "256": 34,
    "257": 110,
    "258": 97,
    "259": 109,
    "260": 101,
    "261": 34,
    "262": 58,
    "263": 34,
    "264": 69,
    "265": 118,
    "266": 101,
    "267": 114,
    "268": 121,
    "269": 100,
    "270": 97,
    "271": 121,
    "272": 32,
    "273": 82,
    "274": 117,
    "275": 99,
    "276": 107,
    "277": 32,
    "278": 83,
    "279": 110,
    "280": 97,
    "281": 99,
    "282": 107,
    "283": 34,
    "284": 44,
    "285": 34,
    "286": 99,
    "287": 111,
    "288": 108,
    "289": 111,
    "290": 114,
    "291": 34,
    "292": 58,
    "293": 34,
    "294": 98,
    "295": 108,
    "296": 97,
    "297": 99,
    "298": 107,
    "299": 34,
    "300": 44,
    "301": 34,
    "302": 115,
    "303": 105,
    "304": 122,
    "305": 101,
    "306": 34,
    "307": 58,
    "308": 34,
    "309": 108,
    "310": 34,
    "311": 44,
    "312": 34,
    "313": 112,
    "314": 114,
    "315": 105,
    "316": 99,
    "317": 101,
    "318": 34,
    "319": 58,
    "320": 52,
    "321": 50,
    "322": 48,
    "323": 125,
    "324": 44,
    "325": 34,
    "326": 99,
    "327": 111,
    "328": 110,
    "329": 116,
    "330": 101,
    "331": 120,
    "332": 116,
    "333": 34,
    "334": 58,
    "335": 123,
    "336": 34,
    "337": 115,
    "338": 104,
    "339": 111,
    "340": 112,
    "341": 112,
    "342": 105,
    "343": 110,
    "344": 103,
    "345": 34,
    "346": 58,
    "347": 91,
    "348": 34,
    "349": 99,
    "350": 111,
    "351": 109,
    "352": 112,
    "353": 108,
    "354": 101,
    "355": 116,
    "356": 101,
    "357": 34,
    "358": 44,
    "359": 48,
    "360": 93,
    "361": 125,
    "362": 44,
    "363": 34,
    "364": 110,
    "365": 101,
    "366": 115,
    "367": 116,
    "368": 101,
    "369": 100,
    "370": 34,
    "371": 58,
    "372": 91,
    "373": 93,
    "374": 125,
    "375": 44,
    "376": 123,
    "377": 34,
    "378": 101,
    "379": 110,
    "380": 116,
    "381": 105,
    "382": 116,
    "383": 121,
    "384": 34,
    "385": 58,
    "386": 34,
    "387": 112,
    "388": 114,
    "389": 111,
    "390": 100,
    "391": 117,
    "392": 99,
    "393": 116,
    "394": 34,
    "395": 44,
    "396": 34,
    "397": 100,
    "398": 97,
    "399": 116,
    "400": 97,
    "401": 34,
    "402": 58,
    "403": 123,
    "404": 34,
    "405": 105,
    "406": 100,
    "407": 34,
    "408": 58,
    "409": 34,
    "410": 99,
    "411": 99,
    "412": 34,
    "413": 44,
    "414": 34,
    "415": 110,
    "416": 97,
    "417": 109,
    "418": 101,
    "419": 34,
    "420": 58,
    "421": 34,
    "422": 67,
    "423": 111,
    "424": 111,
    "425": 108,
    "426": 32,
    "427": 67,
    "428": 97,
    "429": 112,
    "430": 34,
    "431": 44,
    "432": 34,
    "433": 115,
    "434": 105,
    "435": 122,
    "436": 101,
    "437": 34,
    "438": 58,
    "439": 34,
    "440": 111,
    "441": 110,
    "442": 101,
    "443": 32,
    "444": 115,
    "445": 105,
    "446": 122,
    "447": 101,
    "448": 34,
    "449": 44,
    "450": 34,
    "451": 112,
    "452": 114,
    "453": 105,
    "454": 99,
    "455": 101,
    "456": 34,
    "457": 58,
    "458": 52,
    "459": 50,
    "460": 125,
    "461": 44,
    "462": 34,
    "463": 99,
    "464": 111,
    "465": 110,
    "466": 116,
    "467": 101,
    "468": 120,
    "469": 116,
    "470": 34,
    "471": 58,
    "472": 123,
    "473": 34,
    "474": 115,
    "475": 104,
    "476": 111,
    "477": 112,
    "478": 112,
    "479": 105,
    "480": 110,
    "481": 103,
    "482": 34,
    "483": 58,
    "484": 91,
    "485": 34,
    "486": 99,
    "487": 111,
    "488": 109,
    "489": 112,
    "490": 108,
    "491": 101,
    "492": 116,
    "493": 101,
    "494": 34,
    "495": 44,
    "496": 48,
    "497": 93,
    "498": 125,
    "499": 44,
    "500": 34,
    "501": 110,
    "502": 101,
    "503": 115,
    "504": 116,
    "505": 101,
    "506": 100,
    "507": 34,
    "508": 58,
    "509": 91,
    "510": 93,
    "511": 125,
    "512": 44,
    "513": 123,
    "514": 34,
    "515": 101,
    "516": 110,
    "517": 116,
    "518": 105,
    "519": 116,
    "520": 121,
    "521": 34,
    "522": 58,
    "523": 34,
    "524": 103,
    "525": 105,
    "526": 102,
    "527": 116,
    "528": 34,
    "529": 44,
    "530": 34,
    "531": 100,
    "532": 97,
    "533": 116,
    "534": 97,
    "535": 34,
    "536": 58,
    "537": 123,
    "538": 34,
    "539": 110,
    "540": 97,
    "541": 109,
    "542": 101,
    "543": 34,
    "544": 58,
    "545": 34,
    "546": 83,
    "547": 117,
    "548": 114,
    "549": 112,
    "550": 114,
    "551": 105,
    "552": 115,
    "553": 101,
    "554": 34,
    "555": 125,
    "556": 44,
    "557": 34,
    "558": 99,
    "559": 111,
    "560": 110,
    "561": 116,
    "562": 101,
    "563": 120,
    "564": 116,
    "565": 34,
    "566": 58,
    "567": 123,
    "568": 34,
    "569": 115,
    "570": 104,
    "571": 111,
    "572": 112,
    "573": 112,
    "574": 105,
    "575": 110,
    "576": 103,
    "577": 34,
    "578": 58,
    "579": 91,
    "580": 34,
    "581": 99,
    "582": 111,
    "583": 109,
    "584": 112,
    "585": 108,
    "586": 101,
    "587": 116,
    "588": 101,
    "589": 34,
    "590": 44,
    "591": 48,
    "592": 93,
    "593": 125,
    "594": 44,
    "595": 34,
    "596": 110,
    "597": 101,
    "598": 115,
    "599": 116,
    "600": 101,
    "601": 100,
    "602": 34,
    "603": 58,
    "604": 91,
    "605": 93,
    "606": 125,
    "607": 93,
    "608": 44,
    "609": 34,
    "610": 99,
    "611": 111,
    "612": 110,
    "613": 115,
    "614": 101,
    "615": 110,
    "616": 116,
    "617": 34,
    "618": 58,
    "619": 123,
    "620": 34,
    "621": 102,
    "622": 117,
    "623": 110,
    "624": 99,
    "625": 116,
    "626": 105,
    "627": 111,
    "628": 110,
    "629": 97,
    "630": 108,
    "631": 34,
    "632": 58,
    "633": 116,
    "634": 114,
    "635": 117,
    "636": 101,
    "637": 125,
    "638": 44,
    "639": 34,
    "640": 105,
    "641": 100,
    "642": 34,
    "643": 58,
    "644": 34,
    "645": 53,
    "646": 50,
    "647": 53,
    "648": 57,
    "649": 55,
    "650": 100,
    "651": 53,
    "652": 50,
    "653": 54,
    "654": 57,
    "655": 54,
    "656": 55,
    "657": 57,
    "658": 51,
    "659": 54,
    "660": 57,
    "661": 34,
    "662": 44,
    "663": 34,
    "664": 116,
    "665": 114,
    "666": 105,
    "667": 103,
    "668": 103,
    "669": 101,
    "670": 114,
    "671": 34,
    "672": 58,
    "673": 34,
    "674": 108,
    "675": 111,
    "676": 97,
    "677": 100,
    "678": 34,
    "679": 44,
    "680": 34,
    "681": 101,
    "682": 110,
    "683": 116,
    "684": 105,
    "685": 116,
    "686": 121,
    "687": 34,
    "688": 58,
    "689": 34,
    "690": 111,
    "691": 114,
    "692": 100,
    "693": 101,
    "694": 114,
    "695": 34,
    "696": 44,
    "697": 34,
    "698": 97,
    "699": 99,
    "700": 116,
    "701": 105,
    "702": 111,
    "703": 110,
    "704": 34,
    "705": 58,
    "706": 34,
    "707": 99,
    "708": 111,
    "709": 109,
    "710": 112,
    "711": 108,
    "712": 101,
    "713": 116,
    "714": 101,
    "715": 34,
    "716": 44,
    "717": 34,
    "718": 116,
    "719": 105,
    "720": 109,
    "721": 101,
    "722": 115,
    "723": 116,
    "724": 97,
    "725": 109,
    "726": 112,
    "727": 34,
    "728": 58,
    "729": 49,
    "730": 55,
    "731": 48,
    "732": 48,
    "733": 48,
    "734": 48,
    "735": 49,
    "736": 49,
    "737": 48,
    "738": 48,
    "739": 44,
    "740": 34,
    "741": 116,
    "742": 105,
    "743": 109,
    "744": 105,
    "745": 110,
    "746": 103,
    "747": 34,
    "748": 58,
    "749": 51,
    "750": 46,
    "751": 49,
    "752": 52,
    "753": 44,
    "754": 34,
    "755": 115,
    "756": 111,
    "757": 117,
    "758": 114,
    "759": 99,
    "760": 101,
    "761": 34,
    "762": 58,
    "763": 123,
    "764": 34,
    "765": 99,
    "766": 111,
    "767": 117,
    "768": 110,
    "769": 116,
    "770": 34,
    "771": 58,
    "772": 49,
    "773": 44,
    "774": 34,
    "775": 116,
    "776": 114,
    "777": 97,
    "778": 99,
    "779": 101,
    "780": 34,
    "781": 58,
    "782": 34,
    "783": 49,
    "784": 97,
    "785": 50,
    "786": 98,
    "787": 51,
    "788": 99,
    "789": 52,
    "790": 100,
    "791": 53,
    "792": 101,
    "793": 54,
    "794": 102,
    "795": 55,
    "796": 48,
    "797": 56,
    "798": 49,
    "799": 57,
    "800": 97,
    "801": 50,
    "802": 98,
    "803": 51,
    "804": 99,
    "805": 52,
    "806": 100,
    "807": 53,
    "808": 101,
    "809": 54,
    "810": 102,
    "811": 55,
    "812": 48,
    "813": 56,
    "814": 49,
    "815": 34,
    "816": 44,
    "817": 34,
    "818": 116,
    "819": 121,
    "820": 112,
    "821": 101,
    "822": 34,
    "823": 58,
    "824": 34,
    "825": 101,
    "826": 120,
    "827": 112,
    "828": 114,
    "829": 101,
    "830": 115,
    "831": 115,
    "832": 34,
    "833": 44,
    "834": 34,
    "835": 112,
    "836": 108,
    "837": 97,
    "838": 116,
    "839": 102,
    "840": 111,
    "841": 114,
    "842": 109,
    "843": 34,
    "844": 58,
    "845": 34,
    "846": 115,
    "847": 101,
    "848": 114,
    "849": 118,
    "850": 101,
    "851": 114,
    "852": 34,
    "853": 44,
    "854": 34,
    "855": 114,
    "856": 101,
    "857": 108,
    "858": 101,
    "859": 97,
    "860": 115,
    "861": 101,
    "862": 34,
    "863": 58,
    "864": 123,
    "865": 34,
    "866": 115,
    "867": 101,
    "868": 114,
    "869": 118,
    "870": 101,
    "871": 114,
    "872": 34,
    "873": 58,
    "874": 34,
    "875": 52,
    "876": 46,
    "877": 56,
    "878": 46,
    "879": 48,
    "880": 34,
    "881": 125,
    "882": 125,
    "883": 125
  }
})
```

### Page view

A page view is published to the default topic with no ordering key, demonstrating the simplest publish path.

Event

```json
{
  "name": "page view",
  "data": {
    "title": "Documentation",
    "url": "https://example.com/docs"
  },
  "context": {
    "dev": [
      "test",
      1
    ]
  },
  "globals": {
    "pagegroup": "docs"
  },
  "custom": {
    "completely": "random"
  },
  "user": {
    "id": "us3r",
    "device": "c00k13",
    "session": "s3ss10n"
  },
  "nested": [
    {
      "entity": "child",
      "data": {
        "is": "subordinated"
      }
    }
  ],
  "consent": {
    "functional": true
  },
  "id": "408ff7a6af540165",
  "trigger": "load",
  "entity": "page",
  "action": "view",
  "timestamp": 1700001101,
  "timing": 3.14,
  "source": {
    "count": 1,
    "trace": "9f8e7d6c5b4a39281706f5e4d3c2b1a0",
    "type": "express",
    "platform": "server"
  }
}
```

Out

```javascript
topic("events", {
  "messageOrdering": false
});

publishMessage("events", {
  "data": {
    "0": 123,
    "1": 34,
    "2": 110,
    "3": 97,
    "4": 109,
    "5": 101,
    "6": 34,
    "7": 58,
    "8": 34,
    "9": 112,
    "10": 97,
    "11": 103,
    "12": 101,
    "13": 32,
    "14": 118,
    "15": 105,
    "16": 101,
    "17": 119,
    "18": 34,
    "19": 44,
    "20": 34,
    "21": 100,
    "22": 97,
    "23": 116,
    "24": 97,
    "25": 34,
    "26": 58,
    "27": 123,
    "28": 34,
    "29": 116,
    "30": 105,
    "31": 116,
    "32": 108,
    "33": 101,
    "34": 34,
    "35": 58,
    "36": 34,
    "37": 68,
    "38": 111,
    "39": 99,
    "40": 117,
    "41": 109,
    "42": 101,
    "43": 110,
    "44": 116,
    "45": 97,
    "46": 116,
    "47": 105,
    "48": 111,
    "49": 110,
    "50": 34,
    "51": 44,
    "52": 34,
    "53": 117,
    "54": 114,
    "55": 108,
    "56": 34,
    "57": 58,
    "58": 34,
    "59": 104,
    "60": 116,
    "61": 116,
    "62": 112,
    "63": 115,
    "64": 58,
    "65": 47,
    "66": 47,
    "67": 101,
    "68": 120,
    "69": 97,
    "70": 109,
    "71": 112,
    "72": 108,
    "73": 101,
    "74": 46,
    "75": 99,
    "76": 111,
    "77": 109,
    "78": 47,
    "79": 100,
    "80": 111,
    "81": 99,
    "82": 115,
    "83": 34,
    "84": 125,
    "85": 44,
    "86": 34,
    "87": 99,
    "88": 111,
    "89": 110,
    "90": 116,
    "91": 101,
    "92": 120,
    "93": 116,
    "94": 34,
    "95": 58,
    "96": 123,
    "97": 34,
    "98": 100,
    "99": 101,
    "100": 118,
    "101": 34,
    "102": 58,
    "103": 91,
    "104": 34,
    "105": 116,
    "106": 101,
    "107": 115,
    "108": 116,
    "109": 34,
    "110": 44,
    "111": 49,
    "112": 93,
    "113": 125,
    "114": 44,
    "115": 34,
    "116": 103,
    "117": 108,
    "118": 111,
    "119": 98,
    "120": 97,
    "121": 108,
    "122": 115,
    "123": 34,
    "124": 58,
    "125": 123,
    "126": 34,
    "127": 112,
    "128": 97,
    "129": 103,
    "130": 101,
    "131": 103,
    "132": 114,
    "133": 111,
    "134": 117,
    "135": 112,
    "136": 34,
    "137": 58,
    "138": 34,
    "139": 100,
    "140": 111,
    "141": 99,
    "142": 115,
    "143": 34,
    "144": 125,
    "145": 44,
    "146": 34,
    "147": 99,
    "148": 117,
    "149": 115,
    "150": 116,
    "151": 111,
    "152": 109,
    "153": 34,
    "154": 58,
    "155": 123,
    "156": 34,
    "157": 99,
    "158": 111,
    "159": 109,
    "160": 112,
    "161": 108,
    "162": 101,
    "163": 116,
    "164": 101,
    "165": 108,
    "166": 121,
    "167": 34,
    "168": 58,
    "169": 34,
    "170": 114,
    "171": 97,
    "172": 110,
    "173": 100,
    "174": 111,
    "175": 109,
    "176": 34,
    "177": 125,
    "178": 44,
    "179": 34,
    "180": 117,
    "181": 115,
    "182": 101,
    "183": 114,
    "184": 34,
    "185": 58,
    "186": 123,
    "187": 34,
    "188": 105,
    "189": 100,
    "190": 34,
    "191": 58,
    "192": 34,
    "193": 117,
    "194": 115,
    "195": 51,
    "196": 114,
    "197": 34,
    "198": 44,
    "199": 34,
    "200": 100,
    "201": 101,
    "202": 118,
    "203": 105,
    "204": 99,
    "205": 101,
    "206": 34,
    "207": 58,
    "208": 34,
    "209": 99,
    "210": 48,
    "211": 48,
    "212": 107,
    "213": 49,
    "214": 51,
    "215": 34,
    "216": 44,
    "217": 34,
    "218": 115,
    "219": 101,
    "220": 115,
    "221": 115,
    "222": 105,
    "223": 111,
    "224": 110,
    "225": 34,
    "226": 58,
    "227": 34,
    "228": 115,
    "229": 51,
    "230": 115,
    "231": 115,
    "232": 49,
    "233": 48,
    "234": 110,
    "235": 34,
    "236": 125,
    "237": 44,
    "238": 34,
    "239": 110,
    "240": 101,
    "241": 115,
    "242": 116,
    "243": 101,
    "244": 100,
    "245": 34,
    "246": 58,
    "247": 91,
    "248": 123,
    "249": 34,
    "250": 101,
    "251": 110,
    "252": 116,
    "253": 105,
    "254": 116,
    "255": 121,
    "256": 34,
    "257": 58,
    "258": 34,
    "259": 99,
    "260": 104,
    "261": 105,
    "262": 108,
    "263": 100,
    "264": 34,
    "265": 44,
    "266": 34,
    "267": 100,
    "268": 97,
    "269": 116,
    "270": 97,
    "271": 34,
    "272": 58,
    "273": 123,
    "274": 34,
    "275": 105,
    "276": 115,
    "277": 34,
    "278": 58,
    "279": 34,
    "280": 115,
    "281": 117,
    "282": 98,
    "283": 111,
    "284": 114,
    "285": 100,
    "286": 105,
    "287": 110,
    "288": 97,
    "289": 116,
    "290": 101,
    "291": 100,
    "292": 34,
    "293": 125,
    "294": 125,
    "295": 93,
    "296": 44,
    "297": 34,
    "298": 99,
    "299": 111,
    "300": 110,
    "301": 115,
    "302": 101,
    "303": 110,
    "304": 116,
    "305": 34,
    "306": 58,
    "307": 123,
    "308": 34,
    "309": 102,
    "310": 117,
    "311": 110,
    "312": 99,
    "313": 116,
    "314": 105,
    "315": 111,
    "316": 110,
    "317": 97,
    "318": 108,
    "319": 34,
    "320": 58,
    "321": 116,
    "322": 114,
    "323": 117,
    "324": 101,
    "325": 125,
    "326": 44,
    "327": 34,
    "328": 105,
    "329": 100,
    "330": 34,
    "331": 58,
    "332": 34,
    "333": 52,
    "334": 48,
    "335": 56,
    "336": 102,
    "337": 102,
    "338": 55,
    "339": 97,
    "340": 54,
    "341": 97,
    "342": 102,
    "343": 53,
    "344": 52,
    "345": 48,
    "346": 49,
    "347": 54,
    "348": 53,
    "349": 34,
    "350": 44,
    "351": 34,
    "352": 116,
    "353": 114,
    "354": 105,
    "355": 103,
    "356": 103,
    "357": 101,
    "358": 114,
    "359": 34,
    "360": 58,
    "361": 34,
    "362": 108,
    "363": 111,
    "364": 97,
    "365": 100,
    "366": 34,
    "367": 44,
    "368": 34,
    "369": 101,
    "370": 110,
    "371": 116,
    "372": 105,
    "373": 116,
    "374": 121,
    "375": 34,
    "376": 58,
    "377": 34,
    "378": 112,
    "379": 97,
    "380": 103,
    "381": 101,
    "382": 34,
    "383": 44,
    "384": 34,
    "385": 97,
    "386": 99,
    "387": 116,
    "388": 105,
    "389": 111,
    "390": 110,
    "391": 34,
    "392": 58,
    "393": 34,
    "394": 118,
    "395": 105,
    "396": 101,
    "397": 119,
    "398": 34,
    "399": 44,
    "400": 34,
    "401": 116,
    "402": 105,
    "403": 109,
    "404": 101,
    "405": 115,
    "406": 116,
    "407": 97,
    "408": 109,
    "409": 112,
    "410": 34,
    "411": 58,
    "412": 49,
    "413": 55,
    "414": 48,
    "415": 48,
    "416": 48,
    "417": 48,
    "418": 49,
    "419": 49,
    "420": 48,
    "421": 49,
    "422": 44,
    "423": 34,
    "424": 116,
    "425": 105,
    "426": 109,
    "427": 105,
    "428": 110,
    "429": 103,
    "430": 34,
    "431": 58,
    "432": 51,
    "433": 46,
    "434": 49,
    "435": 52,
    "436": 44,
    "437": 34,
    "438": 115,
    "439": 111,
    "440": 117,
    "441": 114,
    "442": 99,
    "443": 101,
    "444": 34,
    "445": 58,
    "446": 123,
    "447": 34,
    "448": 99,
    "449": 111,
    "450": 117,
    "451": 110,
    "452": 116,
    "453": 34,
    "454": 58,
    "455": 49,
    "456": 44,
    "457": 34,
    "458": 116,
    "459": 114,
    "460": 97,
    "461": 99,
    "462": 101,
    "463": 34,
    "464": 58,
    "465": 34,
    "466": 57,
    "467": 102,
    "468": 56,
    "469": 101,
    "470": 55,
    "471": 100,
    "472": 54,
    "473": 99,
    "474": 53,
    "475": 98,
    "476": 52,
    "477": 97,
    "478": 51,
    "479": 57,
    "480": 50,
    "481": 56,
    "482": 49,
    "483": 55,
    "484": 48,
    "485": 54,
    "486": 102,
    "487": 53,
    "488": 101,
    "489": 52,
    "490": 100,
    "491": 51,
    "492": 99,
    "493": 50,
    "494": 98,
    "495": 49,
    "496": 97,
    "497": 48,
    "498": 34,
    "499": 44,
    "500": 34,
    "501": 116,
    "502": 121,
    "503": 112,
    "504": 101,
    "505": 34,
    "506": 58,
    "507": 34,
    "508": 101,
    "509": 120,
    "510": 112,
    "511": 114,
    "512": 101,
    "513": 115,
    "514": 115,
    "515": 34,
    "516": 44,
    "517": 34,
    "518": 112,
    "519": 108,
    "520": 97,
    "521": 116,
    "522": 102,
    "523": 111,
    "524": 114,
    "525": 109,
    "526": 34,
    "527": 58,
    "528": 34,
    "529": 115,
    "530": 101,
    "531": 114,
    "532": 118,
    "533": 101,
    "534": 114,
    "535": 34,
    "536": 44,
    "537": 34,
    "538": 114,
    "539": 101,
    "540": 108,
    "541": 101,
    "542": 97,
    "543": 115,
    "544": 101,
    "545": 34,
    "546": 58,
    "547": 123,
    "548": 34,
    "549": 115,
    "550": 101,
    "551": 114,
    "552": 118,
    "553": 101,
    "554": 114,
    "555": 34,
    "556": 58,
    "557": 34,
    "558": 52,
    "559": 46,
    "560": 56,
    "561": 46,
    "562": 48,
    "563": 34,
    "564": 125,
    "565": 125,
    "566": 125
  }
})
```

## Authentication[​](#authentication "Direct link to Authentication")

Three modes, evaluated in order:

1. **Application Default Credentials (ADC).** Nothing to configure beyond `projectId`. Works on GCP-native runtimes (Cloud Run, Cloud Functions, GKE, GCE) where the runtime service account is attached, and locally with `gcloud auth application-default login`.
2. **Service account JSON.** Pass credentials via `config.credentials`, either as a parsed object or a JSON string (the destination JSON-parses strings). Pair with `$env.NAME` to inject from an environment variable. (The package-specific `settings.credentials` still works but is deprecated.)
3. **Pre-configured client.** Pass an existing `PubSub` SDK instance as `settings.client`. Useful for shared clients across destinations or custom transport configuration.

When `settings.projectId` and the credentials' `project_id` both resolve, the top-level `settings.projectId` wins. The runtime publish target stays unambiguous.

## Ordering[​](#ordering "Direct link to Ordering")

`orderingKey` is a `Mapping.Value` resolved per event. Truthy resolved values enable per-key ordering, the topic handle is constructed with `messageOrdering: true`, and the resolved key flows on the publish.

```
{

  "settings": {

    "projectId": "my-project",

    "topic": "user-events",

    "orderingKey": "user.id"

  }

}
```

Per-rule overrides live under `mapping.<entity>.<action>.settings.orderingKey`.

If a publish fails for an ordered key, Pub/Sub permanently halts subsequent publishes for that key until `topic.resumePublishing(key)` is called. The destination handles this automatically: on publish failure for an ordered key it calls `resumePublishing` immediately and re-throws so the caller observes the original error.

## Attributes[​](#attributes "Direct link to Attributes")

`settings.attributes` is a `Mapping.Map` of attribute name to mapping value. Each value is resolved per event and stringified. Per-rule overrides under `mapping.<entity>.<action>.settings.attributes` are merged onto the defaults.

```
{

  "settings": {

    "projectId": "my-project",

    "topic": "events",

    "attributes": {

      "tenant": "user.tenant_id",

      "schema_version": { "value": "v4" }

    }

  }

}
```

## Setup[​](#setup "Direct link to Setup")

Provision the topic once per environment:

```bash
walkeros setup destination.pubsub
```

Idempotent: re-running on an existing topic logs `setup: topic exists` and runs drift detection. Drift on `messageStoragePolicy.allowedPersistenceRegions`, `messageRetentionDuration`, `kmsKeyName`, or `labels` emits `WARN setup.drift {...}` and never auto-mutates. Migrations are an operator decision.

`config.setup`:

* `false` (default): no provisioning. Operator must run setup explicitly.
* `true`: provisions with safe defaults (EU multi-region storage policy).
* `{ messageStoragePolicy, messageRetentionDuration, kmsKeyName, labels }`: object form for explicit overrides.

Default storage regions: `['europe-west1', 'europe-west3', 'europe-west4']` (EU multi-region). Override `messageStoragePolicy.allowedPersistenceRegions` for projects with org policies that restrict geography.

The provisioning identity needs `pubsub.topics.create` and `pubsub.topics.get` on the project. The runtime publish identity needs `roles/pubsub.publisher` on the topic itself.

Subscription provisioning is owned by the [Pub/Sub source](/preview/pr-749/docs/sources/server/pubsub.md), not this destination.

## Emulator[​](#emulator "Direct link to Emulator")

The official Pub/Sub emulator runs locally for development:

```bash
gcloud beta emulators pubsub start --host-port=localhost:8085
export PUBSUB_EMULATOR_HOST=localhost:8085
```

The SDK automatically picks up `PUBSUB_EMULATOR_HOST`. For explicit configuration, set `settings.apiEndpoint` (e.g. `localhost:8085`).

## Simulate[​](#simulate "Direct link to Simulate")

`walkeros push --simulate destination.pubsub` runs offline with the package's mock Pub/Sub client and prints the publish it would make; nothing reaches GCP. The step's `import` (`destinationPubSub`) selects the Pub/Sub examples and mock, not BigQuery's.

```text
success: true
  destination.pubsub
    mapping: none
    call PubSub.topic.publishMessage({"data":"{\"name\":\"order complete\",...}"})
```

## Troubleshooting[​](#troubleshooting "Direct link to Troubleshooting")

* **`NOT_FOUND` on publish**: the topic does not exist. Run `walkeros setup destination.<id>` once.
* **`PERMISSION_DENIED` / `UNAUTHENTICATED`**: the runtime service account lacks `roles/pubsub.publisher` on the topic, or ADC is not configured. The destination logs the actionable message including the topic and project IDs.
* **Ordering stuck**: a previous publish for an ordering key failed. The destination calls `resumePublishing` automatically; if stalls persist, check publish-side error logs for the original failure.

## Next steps[​](#next-steps "Direct link to Next steps")

* [Pub/Sub source](/preview/pr-749/docs/sources/server/pubsub.md) for consuming events from a Pub/Sub topic
* [GCP package overview](/preview/pr-749/docs/destinations/server/gcp.md) for BigQuery and shared GCP setup
