{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-agen-for-work/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["Notification"]},"type":"markdown"},"seo":{"title":"Optimizely integration","siteUrl":"https://developers.frontegg.com/","llmstxt":{"title":"Frontegg Developer Documentation","description":"Authentication, authorization, and user management for Customer Identity, plus Agen for SaaS and Agen for Work. Guides, SDKs, and API references.","sections":[{"title":"Customer Identity (CIAM)","description":"Auth, SSO, SCIM, entitlements, and user management — guides, SDKs, and APIs.","includeFiles":["ciam/**/*.md"],"excludeFiles":[]},{"title":"Agen for SaaS","description":"Agentic access and authorization for SaaS products.","includeFiles":["agen-for-saas/**/*.md"],"excludeFiles":[]},{"title":"Agen for Work","description":"Agentic access and authorization for internal and workforce use.","includeFiles":["agen-for-work/**/*.md"],"excludeFiles":[]},{"title":"Platform","description":"Shared platform overview.","includeFiles":["platform/**/*.md"],"excludeFiles":[]}],"excludeFiles":["internal-docs/**","ciam/guides/env-settings/inject-client-ip.md","CLAUDE.md",".claude/**","**/images/**"],"hide":false}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"optimizely-integration","__idx":0},"children":["Optimizely integration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Optimizely is a digital experience and experimentation platform for A/B testing and feature flagging. Integrating Optimizely with Frontegg lets your application manage experiments, projects, audiences, and feature flags on behalf of your users — all through Frontegg's integration layer, across both the v2 management API and the Feature Experimentation Flags API. You can authenticate with either OAuth 2.0 (recommended when connecting on behalf of multiple users) or a Personal Access Token."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Prerequisites","type":"attention"},"children":[{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["An ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://www.optimizely.com/"},"children":["Optimizely"]}," account"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["For OAuth: access to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Account Settings → Registered Apps"]}," to register an application"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["For a Personal Access Token: access to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Profile → API Access"]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"connect-to-optimizely-with-oauth","__idx":1},"children":["Connect to Optimizely with OAuth"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You register an OAuth 2.0 application in Optimizely. The app provides the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client ID"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client Secret"]}," and defines the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Redirect URI"]}," that Optimizely returns users to after they authorize access."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-1-open-registered-apps","__idx":2},"children":["Step 1: Open Registered Apps"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Sign in to Optimizely and go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Account Settings → Registered Apps"]},". Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Register New Application"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-2-fill-in-the-application-details","__idx":3},"children":["Step 2: Fill in the application details"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Complete the registration form:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Application Name"]}," — A descriptive name, for example ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Frontegg Integration"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Redirect URI"]}," — Your Frontegg Redirect URL: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://YOUR_MCP_GATEWAY_URL/integration-callback"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client Type"]}," — Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Confidential"]}," (the client secret is stored securely on Frontegg's server)."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Save the application."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-3-copy-the-client-id-and-client-secret","__idx":4},"children":["Step 3: Copy the Client ID and Client Secret"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Optimizely displays the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client ID"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client Secret"]}," for the application. Copy both values."]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Keep your Client Secret safe","type":"attention"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Client Secret grants access to your account through the API. Treat it like a password and never expose it in client-side code or commit it to version control."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"use-a-personal-access-token-instead","__idx":5},"children":["Use a Personal Access Token instead"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you are connecting a single account rather than authorizing multiple users, you can use a Personal Access Token instead of an OAuth app:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In Optimizely, go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Profile → API Access"]}," and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Generate New Token"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter a name for the token and click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Copy the token immediately — for security, it is no longer visible once you navigate away from the API Access page."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"configure-the-frontegg-portal","__idx":6},"children":["Configure the Frontegg portal"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Configure the integration in the Frontegg portal using the method you chose:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Open the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Frontegg portal"]}," and navigate to [ENVIRONMENT] → Integrations → Optimizely."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["For ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["OAuth"]},", enter the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client ID"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client Secret"]},". For a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Personal Access Token"]},", enter the token in the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Personal Access Token"]}," field instead."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Optimizely uses a single OAuth scope:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Scope"},"children":["Scope"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["all"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Full access; the issued token inherits the permissions of the authorizing user's role"]}]}]}]}]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Keep your credentials secure","type":"attention"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Never share or commit your Client Secret or Personal Access Token to version control."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"additional-resources","__idx":7},"children":["Additional resources"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.developers.optimizely.com/web-experimentation/docs/oauth-20"},"children":["Get started with OAuth 2.0 for Optimizely"]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.developers.optimizely.com/web-experimentation/docs/personal-token"},"children":["Generate a personal access token"]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/agen-for-work/connectors/redirect-url"},"children":["How to get your Redirect URL"]}]}]}]}]},"headings":[{"value":"Optimizely integration","id":"optimizely-integration","depth":2},{"value":"Connect to Optimizely with OAuth","id":"connect-to-optimizely-with-oauth","depth":3},{"value":"Step 1: Open Registered Apps","id":"step-1-open-registered-apps","depth":4},{"value":"Step 2: Fill in the application details","id":"step-2-fill-in-the-application-details","depth":4},{"value":"Step 3: Copy the Client ID and Client Secret","id":"step-3-copy-the-client-id-and-client-secret","depth":4},{"value":"Use a Personal Access Token instead","id":"use-a-personal-access-token-instead","depth":3},{"value":"Configure the Frontegg portal","id":"configure-the-frontegg-portal","depth":3},{"value":"Additional resources","id":"additional-resources","depth":3}],"frontmatter":{"category":"Analytics","seo":{"title":"Optimizely integration"}},"lastModified":"2026-07-29T14:27:20.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/agen-for-work/connectors/marketplace/optimizely","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}