> 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/concepts/integrations.md).

# Integrations

Your saved connection to an outside provider — one form, one default per environment, the same badges and actions in every module.

> An **integration** is your saved connection to one outside provider — an email service, a storage account, a payment gateway, an LLM. Norbix keeps the provider's settings and secrets once, so the rest of the project only says "use this integration".

## What it is

Norbix does not run its own mail servers, phone networks or storage. You bring a provider you trust, and the integration stores how to reach it. Integrations are one cross-cutting feature: the form, the badges, the actions and the default rules are built once, and almost every module has its own list of providers.

## The parts

* **The provider form.** Cloud uses one shared integration screen in every module. Pick a provider in the module's provider gallery (**Add New Integration**), fill **Integration Name** and the provider's own fields, and **Save**. The same screen holds the badges, the **Actions** menu and the test panel; only the provider fields change.
* **Badges.** **DEFAULT** (outside production: **DEFAULT FOR \<ENV>**), **ENABLED** / **DISABLED**, the last test result **TESTED** / **TEST FAILED** / **NOT TESTED**, and — where a person must confirm delivery — **CONFIRMED** / **NOT CONFIRMED**.
* **Actions.** **Set as default**, **Enable** / **Disable**, **Delete**, and links to the provider's documentation and to the SDK and API documentation.
* **Test.** Where the module supports it, **Test integration** checks the provider. For Email, SMS, Push and Payments a person then clicks **I received it** to confirm that the test arrived (**CONFIRMED**).

## Rules that are the same everywhere

* **Integrations belong to one environment.** Each environment has its own integrations and its own default (every module except the single Webhooks integration). Saving, deleting, enabling, disabling, setting the default and testing act on the copy of the environment you are working in. See [Environments](/codemash/cloud/project/settings/environments.md).
* **The default is a pre-selection.** A form that needs a provider pre-selects the default of the current environment; with no default it pre-selects the only integration when there is exactly one, else nothing and you choose. For Email, SMS and Push campaigns and trigger actions the server never falls back to the default: a request without a provider is refused (`CM-ERRORS-INTEGRATIONS-003`).
* **No default, several enabled integrations** — the list warns **No Default Set For Active Integrations**.
* **A disabled integration cannot be the default** (`CM-ERRORS-INTEGRATIONS-004`), and a disabled integration is never used for a new send (`CM-ERRORS-INTEGRATIONS-005`).
* **The default is protected** in Database, Files, Email, SMS, Push and AI (LLM). It cannot be deleted or disabled while other integrations exist in the same environment — make another one the default first (`CM-ERRORS-INTEGRATIONS-021`).
* **What uses an Email, SMS or Push integration protects it.** An integration that a trigger uses cannot be deleted (`CM-ERRORS-INTEGRATIONS-019`; an enabled trigger also blocks Disable), and one used by an authentication flow cannot be deleted either (`CM-ERRORS-INTEGRATIONS-020`).
* **Secrets stay hidden.** The server never sends a saved secret back, so on a saved integration the secret field is empty and an info note under it says why. Type the secret again when you save changes.

## Where it lives

| Module           | Portal page                                                                   | Providers                                                                               | SDK methods                                                          | API reference                                                                 |
| ---------------- | ----------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| Membership       | [Membership → Integrations](/codemash/cloud/membership/integrations.md)       | [sign-in providers](/codemash/cloud/membership/integrations/providers.md)               | [Membership integrations](/codemash/sdks/membership/integrations.md) | [Membership integrations](/codemash/api-reference/membership/integrations.md) |
| Database         | [Database → Integrations](/codemash/cloud/integrations.md)                    | [MongoDB](/codemash/cloud/integrations/providers.md)                                    | [Database integrations](/codemash/sdks/database/integrations.md)     | [Database integrations](/codemash/api-reference/database/integrations.md)     |
| Files            | [Files → Integrations](/codemash/cloud/files/integrations.md)                 | [storage providers](/codemash/cloud/files/integrations/providers.md)                    | [Files integrations](/codemash/sdks/files/integrations.md)           | [Files integrations](/codemash/api-reference/files/integrations.md)           |
| Code             | [Code → Integrations](/codemash/cloud/code/integrations.md)                   | [function hosts](/codemash/cloud/code/integrations/providers.md)                        | [Code integrations](/codemash/sdks/code/integrations.md)             | [Code integrations](/codemash/api-reference/code/integrations.md)             |
| Code marketplace | [Marketplace connection](/codemash/cloud/code/marketplace/connection.md)      | [Marketplace](/codemash/cloud/code/marketplace.md)                                      | [Marketplace](/codemash/sdks/code/marketplace.md)                    | [Marketplace](/codemash/api-reference/code/marketplace.md)                    |
| Email            | [Email → Integrations](/codemash/cloud/emails/integrations.md)                | [email providers](/codemash/cloud/emails/integrations/providers.md)                     | [Email](/codemash/sdks/notifications/email.md)                       | [Email](/codemash/api-reference/notifications/email.md)                       |
| SMS              | [SMS → Integrations](/codemash/cloud/sms/integrations.md)                     | [SMS providers](/codemash/cloud/sms/integrations/providers.md)                          | [SMS](/codemash/sdks/notifications/sms.md)                           | [SMS](/codemash/api-reference/notifications/sms.md)                           |
| Push             | [Push → Integrations](/codemash/cloud/push/integrations.md)                   | [push providers](/codemash/cloud/push/integrations/providers.md)                        | [Push](/codemash/sdks/notifications/push.md)                         | [Push](/codemash/api-reference/notifications/push.md)                         |
| Payments         | [Payments → Integrations](/codemash/cloud/payments/integrations.md)           | [payment providers](/codemash/cloud/payments/integrations/providers.md)                 | [Payments integrations](/codemash/sdks/payments/integrations.md)     | [Payments integrations](/codemash/api-reference/payments/integrations.md)     |
| Logs             | [Logs → Integrations](/codemash/cloud/logs/integrations.md)                   | [log destinations](/codemash/cloud/logs/integrations/providers.md)                      | [Logs integrations](/codemash/sdks/logs/integrations.md)             | [Logs integrations](/codemash/api-reference/logs/integrations.md)             |
| AI — LLM and MCP | [Project → Integrations](/codemash/cloud/ai/integrations.md)                  | [LLM](/codemash/cloud/ai/llm/providers.md) · [MCP](/codemash/cloud/ai/mcp/providers.md) | [AI integrations](/codemash/sdks/ai/integrations.md)                 | [AI integrations](/codemash/api-reference/ai/integrations.md)                 |
| AI — embeddings  | [Project → Settings → AI](/codemash/cloud/project/settings/ai.md)             | —                                                                                       | not in the SDK reference yet                                         | not in the API reference yet                                                  |
| Webhooks         | [Project → Settings → Webhooks](/codemash/cloud/project/settings/webhooks.md) | —                                                                                       | [Webhook integration](/codemash/sdks/webhooks/integration.md)        | [Webhook integration](/codemash/api-reference/webhooks/integration.md)        |

## What is different per module

| Module           | Set as default | Test | Person confirms delivery | Notes                                                                                                        |
| ---------------- | :------------: | :--: | :----------------------: | ------------------------------------------------------------------------------------------------------------ |
| Membership       |    API only    |   —  |             —            | Sign-in providers; no test.                                                                                  |
| Database         |       yes      |  yes |             —            | Every record call can name another integration; without it the default of the request's environment is used. |
| Files            |       yes      |  yes |             —            | New uploads go to the default; changing it does not move files.                                              |
| Code             |       yes      |  yes |             —            | The test runs a test function.                                                                               |
| Code marketplace |        —       |  yes |             —            | Holds the connection's secrets and token mappings.                                                           |
| Email            |       yes      |  yes |            yes           | Domain health check (DKIM, SPF, DMARC); system emails go through the default.                                |
| SMS              |       yes      |  yes |            yes           | The sender (number or sender ID) belongs to the integration.                                                 |
| Push             |       yes      |  yes |            yes           | The test goes to a team member's registered device.                                                          |
| Payments         |        —       |  yes |            yes           | No default: payment triggers name their integrations.                                                        |
| Logs             |        —       |  yes |             —            |                                                                                                              |
| AI — LLM         |       yes      |  yes |             —            |                                                                                                              |
| AI — MCP         |        —       |  yes |             —            |                                                                                                              |
| AI — embeddings  |        —       |  yes |             —            |                                                                                                              |
| Webhooks         |        —       |   —  |             —            | One integration per project: its signing secret (reveal, rotate) and extra headers.                          |

## Related

* [Campaigns](/codemash/cloud/concepts/campaigns.md) — every campaign names its provider
* [Triggers](/codemash/cloud/concepts/triggers.md) — every Email, SMS and Push action names its provider
* [Environments](/codemash/cloud/project/settings/environments.md) — one copy and one default per environment
