diff --git a/fern/customization/provider-keys.mdx b/fern/customization/provider-keys.mdx
index c87e1c55..7ca102ef 100644
--- a/fern/customization/provider-keys.mdx
+++ b/fern/customization/provider-keys.mdx
@@ -24,3 +24,15 @@ You can find more details in the [Custom LLMs](/customization/custom-llm/fine-tu
## Voice Providers
All voice providers are supported. Once you've validated your API through the [Dashboard](https://dashboard.vapi.ai), any voice ID from your provider can be used in the `voice.voiceId` field of the [Assistant](/api-reference/assistants/create-assistant).
+
+## Cloud Providers
+
+Vapi stores recordings of conversations with assistants in the cloud. By default, Vapi stores these recordings in its
+own bucket in Cloudflare R2. You can configure Vapi to store recordings in your own bucket in AWS S3, GCP, or
+Cloudflare R2.
+
+You can find more details on how to configure your Cloud Provider keys here:
+
+ * [AWS S3](/providers/cloud/s3)
+ * [GCP Cloud Storage](/providers/cloud/gcp)
+ * [Cloudflare R2](/providers/cloud/cloudflare)
diff --git a/fern/docs.yml b/fern/docs.yml
index c5eb56f7..8a229f6f 100644
--- a/fern/docs.yml
+++ b/fern/docs.yml
@@ -332,6 +332,14 @@ navigation:
path: providers/transcriber/gladia.mdx
- page: Talkscriber
path: providers/transcriber/talkscriber.mdx
+ - section: Cloud
+ contents:
+ - page: AWS S3
+ path: providers/cloud/s3.mdx
+ - page: GCP Cloud Storage
+ path: providers/cloud/gcp.mdx
+ - page: Cloudflare R2
+ path: providers/cloud/cloudflare.mdx
- page: Voiceflow
path: providers/voiceflow.mdx
- section: Security & Privacy
diff --git a/fern/providers/cloud/cloudflare.mdx b/fern/providers/cloud/cloudflare.mdx
new file mode 100644
index 00000000..2d69d720
--- /dev/null
+++ b/fern/providers/cloud/cloudflare.mdx
@@ -0,0 +1,31 @@
+---
+title: Cloudflare R2
+subtitle: Store recordings of chat conversations in Cloudflare R2
+slug: providers/cloud/cloudflare
+---
+
+Your assistants can be configured to record chat conversations and upload
+the recordings to a bucket in Cloudflare R2 when the conversation ends. You will
+need to configure the credential and bucket settings in the "Cloud Providers"
+section of the "Provider Credentials" page in the Vapi dashboard.
+
+See these [instructions](https://developers.cloudflare.com/r2/api/s3/tokens/) for generating R2 tokens and access keys.
+
+## Credential Settings
+
+Setting | Description
+------------------------ | -------------------------------------------------------
+Cloudflare Account ID | Your customer account id for Cloudflare
+Cloudflare Account Email | The email address associated with the account id
+Cloudflare API Key/Token | The value of an API Key/Token generated for the account (Cloudflare uses the terms API Key and API Token interchangeably)
+Bucket Name | The name of the bucket in R2 to upload recordings to
+Bucket URL | This is required only for buckets with a custom hostname or domain name. Enter the hostname for the bucket. You will need to set up a CORS policy in R2 for the hostname/domain name. See [instructions](https://developers.cloudflare.com/r2/buckets/cors/) for configuring CORS.
+Bucket Path Prefix | An optional path prefix for recordings uploaded to the bucket
+Bucket Access Key ID | The access key id associated with the API token you generated for R2 (this a string of 32 characters)
+Bucket Secret Access Key | The secret access key associated with the API token you generated for R2 (this is a string of 64 characters)
+
+## Example
+
+
+
+
diff --git a/fern/providers/cloud/gcp.mdx b/fern/providers/cloud/gcp.mdx
new file mode 100644
index 00000000..d6fc5f8a
--- /dev/null
+++ b/fern/providers/cloud/gcp.mdx
@@ -0,0 +1,32 @@
+---
+title: GCP Cloud Storage
+subtitle: Store recordings of chat conversations in GCP Cloud Storage
+slug: providers/cloud/gcp
+---
+
+Your assistants can be configured to record chat conversations and upload
+the recordings to a bucket in GCP Cloud Storage when the conversation ends. You will
+need to configure the credential and bucket settings in the "Cloud Providers"
+section of the "Provider Credentials" page in the Vapi dashboard.
+
+See these [instructions](https://cloud.google.com/iam/docs/keys-create-delete) for generating service account keys for GCP.
+
+See these [instructions](https://cloud.google.com/storage/docs/authentication/hmackeys) for generating HMAC Keys for Cloud Storage.
+
+## Credential Settings
+
+Setting | Description
+------------------------------ | -------------------------------------------------------
+Credential Reference Name | The credential reference name
+GCP Service Account Key (JSON) | The service account key in JSON format
+Bucket Name | The name of the bucket to upload recordings to
+Bucket Region | The name of the region where the bucket is located
+Bucket Path Prefix | An optional path prefix for recordings uploaded to the bucket
+HMAC Access Key | The HMAC access key for the GCP Cloud Storage API (This is a string of 24 characters when linked to a user account or a string of 61 characters when linked to a service account.)
+HMAC Secret | The HMAC secret for the GCP Clodu Storage API (This is a 40-character base-64 encoded string.)
+
+## Example
+
+
+
+
diff --git a/fern/providers/cloud/s3.mdx b/fern/providers/cloud/s3.mdx
new file mode 100644
index 00000000..34d55ba9
--- /dev/null
+++ b/fern/providers/cloud/s3.mdx
@@ -0,0 +1,27 @@
+---
+title: AWS S3
+subtitle: Store recordings of chat conversations in AWS S3
+slug: providers/cloud/s3
+---
+
+Your assistants can be configured to record chat conversations and upload
+the recordings to a bucket in AWS S3 when the conversation ends. You will
+need to configure the credential and bucket settings in the "Cloud Providers"
+section of the "Provider Credentials" page in the Vapi dashboard.
+
+See these [instructions](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-keys-admin-managed.html) for generating AWS access keys.
+
+## Credential Settings
+
+Setting | Description
+------------------------ | -------------------------------------------------------
+AWS Access Key ID | The access key id for AWS
+AWS Secret Access Key | The secret access key for AWS
+S3 Bucket Name | The name of the bucket to upload recordings to
+S3 Path Prefix | An optional path prefix for recordings uploaded to the bucket
+
+## Example
+
+
+
+
diff --git a/fern/static/images/credentials/provider/cloud-provider-aws-s3.png b/fern/static/images/credentials/provider/cloud-provider-aws-s3.png
new file mode 100644
index 00000000..53d6a7af
Binary files /dev/null and b/fern/static/images/credentials/provider/cloud-provider-aws-s3.png differ
diff --git a/fern/static/images/credentials/provider/cloud-provider-cloudflare-r2.png b/fern/static/images/credentials/provider/cloud-provider-cloudflare-r2.png
new file mode 100644
index 00000000..cace6a12
Binary files /dev/null and b/fern/static/images/credentials/provider/cloud-provider-cloudflare-r2.png differ
diff --git a/fern/static/images/credentials/provider/cloud-provider-gcp-hmac.png b/fern/static/images/credentials/provider/cloud-provider-gcp-hmac.png
new file mode 100644
index 00000000..c77185b8
Binary files /dev/null and b/fern/static/images/credentials/provider/cloud-provider-gcp-hmac.png differ