> For the complete documentation index, see [llms.txt](https://codemash.gitbook.io/codemash/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://codemash.gitbook.io/codemash/cloud/push/integrations.md).

# Integrations

Push integrations — the providers that deliver your notifications, and which one is the default.

**Where:** Push → **Integrations** · `/projects/<project>/push/integrations`

An **integration** is your saved connection to one push provider. Saving it sends nothing; it makes the provider available to campaigns, trigger actions and template tests. Every campaign names the integration that delivers it; the **default** integration is the one Cloud picks for you on the forms. A project often has several — APNs for iPhones, Firebase for Android, web push for browsers. The rules that are the same in every module are on the [Integrations concept](/codemash/cloud/concepts/integrations.md) page.

<figure><img src="https://712692422-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHy372bqsaex2cqS3ikhL%2Fuploads%2Fgit-blob-d3da06535da842adf0cdd6e8ae9238c358fee15a%2Fintegrations-list-1.png?alt=media" alt="Push Service Integrations list with six rows: Test Me Fake True DEFAULT, Acme iOS app (APNs) AppleApns True, Acme Android app (FCM) AndroidFirebase True, Acme website (Safari) SafariPush True, Acme website (Chrome) ChromeWeb True, Acme website (Edge) EdgeWeb False; the Add New Integration button at the top right"><figcaption><p>Push Service Integrations with six integrations.</p></figcaption></figure>

## Columns, search and filters

| Column           | What it shows                                                                                               |
| ---------------- | ----------------------------------------------------------------------------------------------------------- |
| Integration Name | The name; press it to open the integration's page.                                                          |
| Provider         | `Fake`, `AppleApns`, `AndroidFirebase`, `SafariPush`, `ChromePush`, `ChromeWeb`, `FirefoxWeb` or `EdgeWeb`. |
| Enabled          | **True** or **False**.                                                                                      |
| Default          | The **DEFAULT** badge on the environment's default integration.                                             |

The list has no search. Right after you enable the module it holds one row, the built-in [Fake Push (Test Me)](/codemash/cloud/push/integrations/providers/fake.md), enabled and the default. With several enabled integrations and no default, a yellow **No Default Set For Active Integrations** warning asks you to set one.

On an integration's page, the badges show its state: **DEFAULT**, **ENABLED** or **DISABLED**, **TESTED** / **TEST FAILED** / **NOT TESTED**, and **CONFIRMED** / **NOT CONFIRMED** (whether a person confirmed that the test push arrived). Secrets are never shown again after save. The **Actions** menu also has **See \<Provider> documentation**, **See SDK documentation** and **See API documentation**; they open an old docs address that does not work yet — use the [provider pages](/codemash/cloud/push/integrations/providers.md), the [SDK](/codemash/sdks/notifications/push.md) and the [API](/codemash/api-reference/notifications/push.md) reference instead.

## What you can do here

* [Connect a provider](/codemash/cloud/push/integrations/providers.md) — **Add New Integration**
* [Test an integration](/codemash/cloud/push/integrations/test.md)
* [Set an integration as default](/codemash/cloud/push/integrations/set-default.md)
* [Disable, enable or delete an integration](/codemash/cloud/push/integrations/disable.md)

## Do it from code

```ts
const { list, defaultIntegrationId } = await norbix.hub.notifications.getPushIntegrations();
console.log(defaultIntegrationId, list.items.map((i) => `${i.viewId} ${i.integrationName} ${i.provider} enabled=${i.isEnabled}`));
// int_5w5gi8BSgF9H7E76Ud6K7F [ 'int_5w5gi8BSgF9H7E76Ud6K7F Test Me Fake enabled=true', 'int_iuH9gfpLnR1VPxGgDePOd Acme iOS app (APNs) AppleApns enabled=true', … ]
```

```sh
norbix hub notifications push integrations get
```

The client setup is on the [Push page](/codemash/cloud/push.md#use-it-from-code). API: [Get Push Integrations](/codemash/api-reference/notifications/push/get-push-integrations.md) · [Get Push Integration](/codemash/api-reference/notifications/push/get-push-integration.md)
