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

# Klaviyo

export const title_1 = "Klaviyo";

export const title_0 = "Klaviyo";

## Setup Guide

Follow these steps to connect Klaviyo to your Connect AI account:

<Steps>
  <Step>
    Open the **Sources** page of the Connect AI navigation menu.
  </Step>

  <Step>
    Click **+ Add Connection** in the upper-right corner.
  </Step>

  <Step>
    Type *Klaviyo* into the search field, then click the data source name.
  </Step>

  <Step>
    On the **Basic Settings** tab of the new connection, enter a connection name or keep the default name.
  </Step>

  <Step>
    For **Schema**, enter the Klaviyo API Revision the provider uses on a connection. The default value is `Klaviyo20250415`.
  </Step>

  <Step>
    Select an **AuthScheme** and follow the relevant instructions below.
  </Step>
</Steps>

## Authentication Methods

<Tabs>
  <Tab title="API Key">
    <Steps>
      <Step>
        Enter the **API Key** used for accessing your Klaviyo account. To generate the API Key:

        1. Log in to your user account.
        2. Navigate to the [Private API Key creation page](https://www.klaviyo.com/login?next=/settings/account/api-keys).
        3. Click **Create Private API Key**.
        4. Under **Private API Key Name**, assign a name to the key.
        5. Under **Select Access Level**, choose the required access level. At minimum, **Accounts: Read** access is required for a successful Test Connection.
        6. Click **Create** to generate the API Key. Copy and save the generated API Key, as it is only shown once.
      </Step>

      <Step>
        At the top of the Connect AI **Add {title_0} Connection** page, click **Save & Test**.

        * If the connection test succeeds, a **Connection successfully saved** message appears, indicating that your connection has been created. The **Status** on the **Edit Connection** page also changes to **Authenticated**. View the data model of your successful connection in the right pane of the **Edit Connection** page, in the **Data Model** tab.
        * If the connection test fails, ensure that you entered your login information correctly with no stray spaces or other characters. Connect AI displays error messages under the required fields with missing data. Some data sources require that you sign in directly to the source website. If you did not, an error message appears under the **Sign in** button. Correct the errors and try again.
        * Unsuccessful connections are saved as drafts and have a **Status** of **Not Authenticated**. You can return to the connection and authenticate it later.
      </Step>
    </Steps>
  </Tab>

  <Tab title="OAuthPKCE">
    <Steps>
      <Step>
        To authenticate using OAuthPKCE, you must first create a custom OAuth application. Then set the following properties:

        * **OAuthClientId**–enter the client Id (also known as the consumer key) assigned when you registered your app for OAuth.
        * **OAuthClientSecret**–enter the client secret assigned when you registered your app for OAuth.
      </Step>

      <Step>
        At the top of the Connect AI **Add {title_1} Connection** page, click **Save & Test**.

        * If the connection test succeeds, a **Connection successfully saved** message appears, indicating that your connection has been created. The **Status** on the **Edit Connection** page also changes to **Authenticated**. View the data model of your successful connection in the right pane of the **Edit Connection** page, in the **Data Model** tab.
        * If the connection test fails, ensure that you entered your login information correctly with no stray spaces or other characters. Connect AI displays error messages under the required fields with missing data. Some data sources require that you sign in directly to the source website. If you did not, an error message appears under the **Sign in** button. Correct the errors and try again.
        * Unsuccessful connections are saved as drafts and have a **Status** of **Not Authenticated**. You can return to the connection and authenticate it later.
      </Step>
    </Steps>
  </Tab>
</Tabs>
