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

# Integrations

The storages a project uses for its files, which one is the default, and their tests.

**Where:** Files → Integrations · `/projects/<project>/files/integrations`

A **files integration** connects the project to a storage you own — an AWS S3 bucket, an Azure Blob container, a Google Cloud Storage bucket, a Google Drive folder, or a Local folder on a self-hosted server. Files are stored there, not in Norbix. The list is titled **Files Integrations**.

<figure><img src="https://712692422-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHy372bqsaex2cqS3ikhL%2Fuploads%2Fgit-blob-b3fdb64aced9010350d70d00ab297b59ee664962%2Fintegrations-list-1.png?alt=media" alt="Files Integrations list: Product images (Local, True, DEFAULT), Invoices archive (AzureBlobStorage, False), Shop assets (GoogleCloudStorage, True), Media bucket (AwsS3, True), Archive (Local, True), and the Add New Integration button"><figcaption><p>Files Integrations with real rows.</p></figcaption></figure>

## Columns, search and filters

| Column           | What it shows                                                                                                                                       |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| Integration Name | The name; click it to open the integration.                                                                                                         |
| Provider         | The provider, written as the server names it: `Local`, `AwsS3`, `AzureBlobStorage`, `GoogleCloudStorage`, `GoogleDrive`.                            |
| Enabled          | `True` or `False`.                                                                                                                                  |
| Default          | **DEFAULT** on the integration that file calls use when they name none; one per environment (in an environment other than PROD the badge names it). |

No search and no filters; the list pages with **Previous** / **Next** when it is long. When more than one integration is enabled and none of them is the default, a yellow box **No Default Set For Active Integrations** asks you to pick one.

* The first integration you save becomes the default.
* An integration's secret (key, connection string, JSON key) is never shown again after **Save**. Opening a saved integration shows its other fields and an empty secret field; type the secret again whenever you save a change — even a new name — or **Save** answers *Required*.
* Deleting an integration does not delete the files in your storage, it only removes Norbix's access to it.

## What you can do here

* [Connect a provider](/codemash/cloud/files/integrations/providers.md) — **Add New Integration** opens the provider picker.
* [Test an integration](/codemash/cloud/files/integrations/test.md) — **Test integration** uploads, reads, lists and deletes a probe file.
* [Set as default](/codemash/cloud/files/integrations/set-default.md)
* [Disable or delete an integration](/codemash/cloud/files/integrations/disable.md)

## Do it from code

```ts
const { defaultIntegrationId, list } = await norbix.hub.files.getFilesIntegrations();
console.log(defaultIntegrationId, list.items.map((i) => `${i.viewId} ${i.integrationName} ${i.provider} enabled=${i.isEnabled}`));
// int_45rkbZX4ecZBkiv6gXe5Da [ 'int_45rkbZX4ecZBkiv6gXe5Da Product images Local enabled=true',
//   'int_33gYQpa3OdOQxVS3lXj6L3 Invoices archive AzureBlobStorage enabled=false', … ]
```

```sh
norbix hub files integrations get --pageSize 10
```

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