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

# Providers

All storage providers you can connect as a Files integration.

> The storage services Files can write to, and what each one asks you for.

*Last updated 2026-09-14 · Applies to all projects*

**Where:** Files → Integrations → **Add New Integration** · `/projects/<project>/files/integrations/pick`

## Why it exists

Every storage service authenticates differently: AWS wants a role or an access key, Google wants a service-account JSON key, Azure wants a connection string. The picker keeps those differences in one place so you can choose the provider you already pay for instead of moving your data.

## When you'd use it

* You already run on AWS and want files in a bucket you control.
* Your company standardises on Azure or Google Cloud.
* A small internal project should keep files on the server's own disk (self-hosted).

## Where to find it

Files → **Integrations** → **Add New Integration**. The same catalog appears as a gallery on the pick screen; providers you already connected are marked.

<figure><img src="https://760328771-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LwSkuCpTNI_AerL8J2a%2Fuploads%2Fgit-blob-9a6ba3d27830b6b6cdefabaffca73856fdab1b96%2Ffiles-integrations-pick.png?alt=media" alt="The Select Files Integration picker"><figcaption><p>Files → Integrations → Add New Integration.</p></figcaption></figure>

## Providers in the dashboard

| Provider                                                                    | What it is                                                                               | What it asks for                                                   |
| --------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
| [AWS S3](/cloud/files/integrations/providers/aws-s3.md)                     | Amazon's object storage. Connect with a cross-account role (recommended) or an IAM user. | Bucket name, region, plus a role ARN or an access key pair         |
| [Google Drive](/cloud/files/integrations/providers/google-drive.md)         | A Google Drive folder, reached with a service account.                                   | Service account JSON key, optional root folder ID                  |
| [Google Cloud Storage](/cloud/files/integrations/providers/google-cloud.md) | A Google Cloud bucket, reached with a service account.                                   | Bucket name, service account JSON key                              |
| [Azure Blob Storage](/cloud/files/integrations/providers/azure-blob.md)     | A container in an Azure storage account.                                                 | Container name, connection string                                  |
| [Local](/cloud/files/integrations/providers/local.md)                       | A folder on the Norbix server's own disk. Self-hosted servers only.                      | A folder name, relative to the server's files root. No credentials |

## Good to know

* **The picker shows what this server will accept, not a fixed list.** [Local](/cloud/files/integrations/providers/local.md) appears only on a server whose operator set a files root, so it is there on a self-hosted install and never on the managed service.
* **FTP and Apple iCloud are not available.** They were never finished, and since September 2026 the backend refuses them outright with "The FTP provider is not available in this version." The dashboard does not offer them. An integration saved for one of them before that change is still listed, and can still be disabled and deleted — it just cannot be enabled, tested, or used.
* **DropBox exists in the API but has no dashboard form**, so it can only be created through the API or an SDK. It has no page here for that reason.
* **Every provider stores its secret write-only.** Re-opening the form shows the non-secret fields filled in and the secret fields empty. See [Integrations](/cloud/files/integrations.md).
* Create and edit use the same form.
* **Test before you save.** The **Test** button checks the credentials against the real provider, so a typo is caught here rather than on the first upload.

## Do it in code

Each provider page above carries the .NET, Go, TypeScript and Python snippet for its own body shape, because **Save Files Integration** takes a different body per provider. Start there rather than here.

**CLI:** the Norbix CLI has no command for files integrations. Use an SDK or the API.

## API reference

Endpoints: [Files → Integrations](/api-reference/files/integrations.md) — [Save Files Integration](/api-reference/files/integrations/save-files-integration.md) carries one body shape per provider.

## Related

[Integrations](/cloud/files/integrations.md) · [Browser](/cloud/files/browser.md) · [Files](/cloud/files.md)
