HomeGuidesAPI Reference
ChangelogHelp CenterCommunityContact Us
Guides

Create a public OAuth app

Learn how to create a public OAuth app in Klaviyo.

You will learn

After completing this guide, you will be able to create an app in Klaviyo. You’ll also explore example implementations to help you get started creating your app.

Public apps that can be installed from Klaviyo’s Integrations Directory require authentication via OAuth. When a user installs your app on their Klaviyo account, your app receives permission to make API calls to their account using an OAuth access token.

🚧

Note that only owner, admin, and manager roles can create OAuth apps in Klaviyo. Learn more about user management and privileges.

Create an app

  1. Navigate to the Manage apps page.

  2. Select Create app to create your new application.
    OAuth landing page in Klaviyo with Create app with black background in upper right

  3. Name your application. Then, securely save your client secret and client ID. You won’t be able to view your client secret again, although you can generate a new one later. When you're done, click Create.
    Set up OAuth page in Klaviyo with title, client ID and client secret

  4. After creating your app, you should get a confirmation page with help guides for submitting your app to be listed on Klaviyo's integrations directory. Click Continue to continue setting up your OAuth app.

  5. Pinpoint which scopes your app uses and set them using a space-separated list. To find out which scopes your app uses, visit the API reference documentation as shown below. Include all scopes that you will need for your OAuth authorization requests. You can consult the full list of available scopes, if needed.

❗️

In order for your app to meet our app listing requirements, you must use the least permissive scope set possible. Do not request more scopes than necessary.

Your list of scopes should be formatted like the following example:
Demo app draft page in Klaviyo showing OAuth settings including scopes

❗️

Note that accounts:read is required by default and must remain in your scopes list.

  1. Edit your Redirect URLs (known as Redirect URIs in OAuth). These are the URLs that you have allowlisted Klaviyo to redirect users to after authorizing your app. For more than one redirect URL, separate each with a space, tab, or enter.
    Demo app page showing OAuth settings including Redirect URLs

When you have finished setting your scopes and redirect URLs, click Save in the top right to save your changes.

OAuth app examples

If this is your first time using OAuth with Klaviyo’s APIs, we recommend checking out Klaviyo’s Node Example Integration, an Express app written in TypeScript. This sample app is designed to help you get started programming an OAuth integration using Klaviyo’s TypeScript SDK.

In addition to our starter app, we have Javascript and Python OAuth examples on Github to help you get started.

Next steps

OAuth is required for your app to be considered for Klaviyo’s Integrations Directory. Follow our guide on authorizing your app with OAuth.

Additional resources