Configuring Export Pipeline Destinations & Permissions
Before you can schedule exports, you need to create a Destination — a configured cloud storage bucket where Clarisights will upload your exported files. This article covers how to set up Amazon S3 and Google Cloud Storage destinations.
Amazon S3
Configuration Fields
Field | Required | Description |
Destination Name | Yes | A friendly name for this destination (must be unique within your company) |
Bucket Name | Yes | The S3 bucket name (e.g., |
Region | Yes | AWS region of the bucket (e.g., |
Path Prefix | No | Optional folder prefix within the bucket (e.g., |
Authentication Options
Choose one of the following:
Option A: Direct Credentials
Access Key ID and Secret Access Key for an IAM user with write permissions to the bucket
Option B: Cross-Account IAM Role (Recommended)
Role ARN — The ARN of an IAM role in your AWS account that Clarisights can assume (e.g.,
arn:aws:iam::123456789012:role/ClarisightsExportRole)External ID (optional) — An external ID for additional security when assuming the role
Required S3 Permissions
The IAM user or assumed role must have the following permission on the target bucket:
s3:PutObject
Example bucket policy for cross-account role:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::747179778889:role/ClarisightsExternalAccessRole" }, "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::YOUR_ACCOUNT:role/ClarisightsExportRole" } ] }
Google Cloud Storage
Configuration Fields
Field | Required | Description |
Destination Name | Yes | A friendly name for this destination |
Bucket Name | Yes | The GCS bucket name |
Region | Yes | GCS region (e.g., |
Path Prefix | No | Optional folder prefix within the bucket |
Required GCS Permissions
Grant the following permission to the Clarisights service account on the target bucket:
storage.objects.create
The simplest way is to assign the Storage Object Creator role to the Clarisights service account on your bucket.
File Structure in Your Bucket
Exported files are organized as follows:
{path_prefix}/from_clarisights/{company_name}/{channel_name}/{extract_id}/{timestamp}_{start_date}_{end_date}.csv.gz {path_prefix}/from_clarisights/{company_name}/{channel_name}/{extract_id}/{timestamp}_{start_date}_{end_date}.meta.json
Each export produces two files per extract:
Data file (
.csv.gz) — The exported data in CSV format, optionally gzip-compressedMetadata file (
.meta.json) — Contains column mapping, date range, and compression info
Metadata File Structure
{ "pipeline_name": "my_pipeline", "extract_id": "core_metrics", "date_range": { "start_date": "2026-04-10", "end_date": "2026-04-17" }, "compression": "gzip", "column_mapping": [ { "column_name": "campaign", "ui_name": "Campaign" }, { "column_name": "impressions", "ui_name": "Impressions" } ] }
If a single export exceeds 100,000 rows, it is automatically split into numbered chunks (e.g., .csv.gz.1, .csv.gz.2).
Managing Destinations
Destination names must be unique within your company
A destination cannot be deleted while it is referenced by an active schedule
You can update destination credentials at any time without affecting existing schedules
In case of any queries, feel free to reach out to us from the messenger support on the platform.