> ## Documentation Index
> Fetch the complete documentation index at: https://www.integrate.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ETL: Google Cloud Storage Destination

> How to configure the Google Cloud Storage destination component to write files to a GCS bucket in your Integrate.io ETL pipeline.

The Google Cloud Storage destination writes pipeline output to a GCS bucket. It supports CSV, TSV, JSON, Parquet, and Fixed width output formats, with optional compression and PGP encryption.

Once your connection is set up, see [File Storage Options](/docs/etl/file-storage-options) for the full set of write options (output formats, compression, PGP, and more) shared across every file storage provider.

## Connection Setup

See [Google Cloud Storage Source](/docs/etl/using-components-google-cloud-storage-source#connection-setup) for steps to create a service account, grant bucket access, and set up the connection in Integrate.io ETL. For a destination connection, the service account needs **Storage Legacy Bucket Writer** and **Storage Legacy Object Reader** roles on the target bucket.

***

## Destination Configuration

### Connection

Select your Google Cloud Storage connection from the dropdown, or create a new one.

### Bucket

Enter the name of the GCS bucket where output files will be written.

### Target Directory

The path within the bucket where output files are created. One or more files will be written to this directory. By default, the job fails if the directory already exists. Use [package variables](/docs/etl/using-and-setting-variables-in-your-packages) to generate unique directory names per run (e.g. `/output/${_JOB_ID}`).

<Snippet file="snippets/file-storage-destination-options.mdx" />

***

## FAQ

**What permissions does the service account need for a destination connection?**

Storage Legacy Bucket Writer and Storage Legacy Object Reader on the target bucket.

**Can I write to a different bucket than the one I read from?**

Yes. The source and destination components each have their own connection and bucket settings. You can use different buckets, different service accounts, or even different GCP projects.

**Does GCS support all destination action options?**

Yes. All five destination action options (fail if exists, delete and recreate, replace files, copy to existing directory, copy to new directory) are available for GCS.

***

## Related

<CardGroup cols={2}>
  <Card title="Google Cloud Storage Source" icon="arrow-right" href="/docs/etl/using-components-google-cloud-storage-source" horizontal />

  <Card title="File Storage Options" icon="arrow-right" href="/docs/etl/file-storage-options" horizontal />

  <Card title="Using Variables in Packages" icon="arrow-right" href="/docs/etl/using-and-setting-variables-in-your-packages" horizontal />

  <Card title="PGP Keys" icon="arrow-right" href="/docs/etl/pgp-keys-account-level" horizontal />
</CardGroup>
