> ## Documentation Index
> Fetch the complete documentation index at: https://confidence.spotify.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Flag Applied Connectors

> Export assignment data from Confidence.

export const HowToSchema = ({name, description, steps = []}) => {
  const schema = {
    "@context": "https://schema.org",
    "@type": "HowTo",
    name,
    description
  };
  if (steps.length > 0) {
    schema.step = steps.map((s, i) => ({
      "@type": "HowToStep",
      position: i + 1,
      name: typeof s === "string" ? s : s.name,
      text: typeof s === "string" ? s : s.text || s.name
    }));
  }
  return <script type="application/ld+json" dangerouslySetInnerHTML={{
    __html: JSON.stringify(schema)
  }} />;
};

<HowToSchema name="Flag Applied Connectors" description="Export assignment data from Confidence." />

Flag applied connectors export assignment data.

<Tabs>
  <Tab title="BigQuery">
    Export assignment data to a table in BigQuery.

    ### Required GCP Roles

    * BigQuery data owner for the destination table.

    ### Configuration

    * **Project** - The GCP project the destination table exists in
    * **Service account** - A GCP service account that has write access to the destination table, and that you've configured so that the Confidence service account can impersonate this account.
    * **Dataset** - The dataset in which to create the destination table
    * **Table** - The table to write the data to. The connector automatically creates the table. If the table already exists, the connector verifies that the schema looks as expected, otherwise it attempts to create the required columns.
  </Tab>

  <Tab title="Redshift">
    Export assignment data to a table in Redshift, by first writing the data as Parquet files to a S3 bucket, and then import these files into the configured table.

    ### Required AWS Permissions/Policies for Role

    * `s3:GetObject`
    * `s3:GetObjectAcl`
    * `s3:PutObject`
    * `s3:PutObjectAcl`
    * `AmazonRedshiftDataFullAccess` policy
    * `AmazonRedshiftAllCommandsFullAccess` policy

    The role also needs to have permissions to create tables and insert rows into those tables in the configured database.

    ### Configuration

    * **Table** - The name of the Redshift table to use for writing assignment data. The connector creates the table automatically when the first import is done.
    * **Cluster** - The name of the Redshift cluster to use.
    * **Database** - The name of the Redshift database to use.
    * **Schema** - The name of the Redshift schema where the connector creates the preceding table.
    * **Redshift region** - The AWS region of the cluster. Because of AWS limitations, the region of the cluster needs to match the region of the S3 bucket.
    * **Redshift Role ARN** - The role to use for the Redshift `COPY` jobs. This role needs to have permission to create tables and copy data into tables in the configured schema, and load files from the S3 bucket.
    * **Bucket** - The S3 bucket to write the Parquet files to.
    * **Bucket Role ARN** - The role Confidence assumes when writing files to the S3 bucket.
    * **Bucket Region** - The AWS region of the bucket. The bucket needs to be in the same region as the Redshift cluster.
    * **Batch settings** - These settings control the size and max age of the Parquet files written to S3.
  </Tab>

  <Tab title="Databricks">
    Export assignment data to a table in Databricks. Confidence writes Parquet files to the selected staging provider and then loads them into the configured table.

    ### Prerequisites

    Before configuring this connector, follow the [Databricks setup guide](/docs/start/warehouse-native/databricks). It walks you through creating or reusing a Databricks service principal and SQL warehouse, granting the warehouse and Unity Catalog permissions that Confidence needs, and configuring S3 or ADLS Gen2 staging in your cloud account.

    ### Configuration

    * **Table** - The Databricks table to use for assignment data. The connector creates it automatically when the first import is done.
    * **Schema** - The fully qualified Unity Catalog schema, such as `main.confidence`.
    * **Host** - The Databricks workspace URL, including `https://`, for example `https://1234567890123456.7.gcp.databricks.com`.
    * **Warehouse ID** - The ID of the SQL warehouse that runs the load statements.
    * **Client ID** - The Databricks service principal application ID, also called the OAuth client ID.
    * **Client Secret** - The OAuth secret generated for the Databricks service principal.
    * **Staging provider** - Select **AWS - S3** or **Azure - ADLS Gen2**, then enter the provider-specific settings.
    * **Batch settings** - These settings control the size of the Parquet files written to staging.

    Select **Validate** before continuing. Confidence checks storage access, Databricks access, table creation, and a test load.
  </Tab>

  <Tab title="Pub/Sub">
    Forward assignment data to a Pub/Sub topic.

    ### Required GCP Roles

    * Pub/Sub Editor

    ### Configuration

    * **Event Type** - The Event type to export to the stream
    * **Project** - The GCP project that the topic exists in.
    * **Service account** - A GCP service account that has publish permissions to the configured topic and that you've configured so that the Confidence service account can impersonate this account.
    * **Topic** - The name of the topic
    * **Output format** - if the connector should write events in JSON or Protobuf binary format. Regardless of the format chosen, it wraps the event in a [CloudEvents](https://cloudevents.io/) envelope.
  </Tab>

  <Tab title="Kinesis">
    Forward assignment data to a Kinesis stream.

    ### Required AWS Permissions

    * `kinesis:PutRecord`
    * `kinesis:PutRecords`
    * `kinesis:PutRecordBatch`
    * `kinesis:DescribeStream`

    ### Configuration

    * **Event Type** - The Event type to export to the stream
    * **Role ARN** - The ARN for the AWS role that has read and write access to the Kinesis stream.
    * **Region** - The AWS region the Kinesis stream exists in
    * **Stream** - The Kinesis stream name.
    * **Output format** - if the connector should write events in JSON or Protobuf binary format. Regardless of the format chosen, the connector wraps the event in a [CloudEvents](https://cloudevents.io/) envelope.
  </Tab>
</Tabs>
