+
+### Setup Overview
+
+The GCS connector provides access to your Google Cloud Storage buckets through Service Account authentication. It syncs files, folders, and metadata, enabling comprehensive search and access across your GCS content.
+
+### Authentication
+
+The GCS connector uses **Service Account JSON key** for authentication. This method allows secure programmatic access to your GCS buckets without requiring OAuth setup.
+
+
+ Service Account authentication is the recommended method for server-to-server access. Ensure you follow Google Cloud security best practices when creating and storing service account keys.
+
+
+### How to configure and enable the GCS Connector
+
+### Step 1: Create a Service Account in Google Cloud
+
+1. **Sign in to Google Cloud Console:**
+ Navigate to [console.cloud.google.com](https://console.cloud.google.com) and sign in with your Google Cloud account credentials.
+
+2. **Access IAM & Admin Service:**
+ - In the Google Cloud Console, click on the navigation menu (☰) in the top left
+ - Navigate to **"IAM & Admin"** → **"Service Accounts"**
+
+
+

+
+
+3. **Create Service Account:**
+ - Click the **"Create Service Account"** button at the top
+ - Enter a descriptive name for the service account (e.g., "PipesHub-GCS-Connector")
+ - Optionally add a description
+ - Click **"Create and Continue"**
+
+
+

+
+
+### Step 2: Grant Permissions
+
+1. **Grant Storage Object Viewer Role:**
+ - In the "Grant this service account access to project" section
+ - Search for and select **"Storage Object Viewer"** role
+ - This role provides read-only access to all GCS buckets and objects
+ - Click **"Continue"**
+
+
+ For more granular control, you can create a custom IAM role that restricts access to specific buckets. See the "Advanced: Custom IAM Role" section below for details.
+
+
+
+

+
+
+2. **Complete Service Account Creation:**
+ - Optionally grant users access to this service account (not required for PipesHub)
+ - Click **"Done"** to complete the service account creation
+
+### Step 3: Create and Download Service Account Key
+
+1. **Access Service Account Keys:**
+ - After creating the service account, you'll be redirected to the service accounts list
+ - Click on the service account you just created
+ - Navigate to the **"Keys"** tab
+ - Click **"Add Key"** → **"Create new key"**
+
+
+

+
+
+2. **Create JSON Key:**
+ - Select **"JSON"** as the key type
+ - Click **"Create"** button
+
+
+

+
+
+3. **Download Key File:**
+ - The JSON key file will be automatically downloaded to your computer
+ - **Important**: Store this file securely - it contains sensitive credentials
+
+
+
+ **Important:** The service account key is shown only once. If you don't save it now, you'll need to create a new key. Store these credentials securely and never commit them to version control.
+
+
+
+
+

+
+
+### Step 4: Configure Connector in PipesHub
+
+1. **Navigate to Connectors:**
+ - In PipesHub, go to **Settings** → **Connectors**
+ - Find the **GCS** connector in the list
+ - Click **"Configure"** button or link
+
+
+

+
+
+2. **Upload Service Account JSON:**
+ - Click on the **"Service Account JSON"** file upload field
+ - Select the JSON key file you downloaded in Step 3
+ - The file will be uploaded and parsed automatically
+ - Click **"Save Auth Settings"** or **"Next"** button
+
+
+

+
+
+
+ Ensure the JSON file is valid and contains all required fields (type, project_id, private_key_id, private_key, client_email, etc.). Invalid JSON will cause authentication to fail.
+
+
+### Step 5: Configure Sync Settings
+
+1. **Choose Sync Strategy:**
+ - **Scheduled**: Automatically sync at regular intervals (default: every 60 minutes)
+ - **Manual**: Sync only when you trigger it manually
+
+
+

+
+
+2. **Set Sync Interval (if Scheduled):**
+ - Choose how often to sync (e.g., 15 min, 30 min, 1 hour, 4 hours, 24 hours)
+ - Default is 60 minutes
+
+
+ More frequent syncs keep your data up-to-date but consume more API resources. For large buckets, consider longer intervals to reduce Google Cloud API usage.
+
+
+### Step 6: Configure Filters (Optional)
+
+Filters allow you to control what data is synced and indexed from your GCS buckets.
+
+
+

+
+
+#### Sync Filters
+
+Sync filters determine which content is downloaded from GCS. Data excluded by sync filters is never downloaded.
+
+**Available Sync Filters:**
+
+1. **Bucket Names** - Filter by specific GCS buckets
+ - **Operator**: `In` (include only) or `Not In` (exclude)
+ - **Selection**: Choose from a **searchable dropdown list** of all your GCS buckets
+ - The dropdown displays all accessible buckets
+ - Type to search and filter buckets by name
+ - Select multiple buckets as needed
+
+
+ The bucket list is dynamically fetched from your Google Cloud project. You don't need to manually enter bucket names - simply search and select from the dropdown.
+
+
+2. **File Extensions** - Filter files by extension
+ - **Operator**: `In` (include) or `Not In` (exclude)
+ - **Value**: Enter file extensions separated by commas (e.g., `pdf, docx, txt`)
+ - **Note**: Extensions are case-insensitive and don't require the leading dot
+ - **Use case**: Sync only specific file types (e.g., documents only, exclude images)
+
+3. **Modified Date** - Filter by last modification date
+ - **Operators**: `Is After`, `Is Before`, or `Is Between`
+ - **Use case**: Sync only recently updated files (e.g., files modified in the last 6 months)
+
+4. **Created Date** - Filter by creation date
+ - **Operators**: `Is After`, `Is Before`, or `Is Between`
+ - **Use case**: Sync only newly created files or exclude legacy files
+
+#### Indexing Filters
+
+Indexing filters control what synced data gets processed for AI search. All data is synced, but only enabled content types are indexed.
+
+**Available Indexing Filters:**
+
+- **Index Files** (default: enabled) - Include file content in search
+- **Index Folders** (default: enabled) - Include folder structure in search
+
+**Example Configurations:**
+
+- **Sync only specific buckets**: Bucket Names → Operator: `In`, select buckets from dropdown
+- **Sync only documents**: File Extensions → Operator: `In`, Value: `pdf, docx, txt, pptx`
+- **Exclude images**: File Extensions → Operator: `Not In`, Value: `jpg, png, gif, svg`
+- **Recent files only**: Modified Date → Operator: `Is After`, Date: `YYYY-MM-DD` (e.g., files modified in the last 6 months)
+- **Sync all but index only documents**: Enable all sync filters, disable indexing for non-document files
+
+
+ Filters can be configured during initial setup or modified later. Changes to filters will take effect on the next sync.
+
+
+### Step 7: Enable the Connector
+
+1. After configuration is complete, toggle the connector status to **"Enable"**
+2. You can do this by:
+ - Using the toggle switch next to **"Connector Status"**
+ - Or clicking the **"Enable"** button in the Quick Actions panel
+
+
+

+
+
+3. The connector will verify credentials and begin initial synchronization
+4. Wait for the status to show **"Active"** or **"Syncing"**
+5. Monitor the **Indexing Progress** to track sync completion
+
+
+
+