How to Configure the Optimizely Connector
This guide walks through connecting Optimizely CMS (SaaS) to wxrks: creating the connector configuration, generating the required credentials in Optimizely, and granting that credential access to your content.
Only Optimizely CMS (SaaS) (instance URLs like app-<id>.cms.optimizely.com) is supported. The self-hosted Optimizely CMS 12/13 (PaaS) product line is not.
Who this is for
You'll need:
A wxrks account with permission to create connectors (typically an Org Admin).
Access to the Settings area of your Optimizely CMS instance's Admin Center — specifically API Keys and Set Access Rights. This usually requires an Optimizely administrator role.
Credentials you'll need
All of these come from the same API Keys page in Optimizely, but they are three separate credential pairs — don't mix them up.
Credential | Used for | Where it comes from in Optimizely |
Client ID / Client secret | Reading and writing content (Content Management API) | Created on demand via Manage Content → Create API Key |
Graph single key | Reading content and schema (Optimizely Graph) | Already present under Delivery Keys → Render Content |
Graph app key / app secret | Registering the automatic-sync webhook (only if automatic sync is enabled) | Already present under Management Keys → Manage Graph |
Step 1 — Start a new Optimizely configuration in wxrks
1. In wxrks, go to Integrations.
2. Find the Optimizely tile and click Configure.
3. The Add Configuration dialog opens with Type set to OPTIMIZELY and the full list of fields you'll fill in over the next steps: Org Unit, Instance URL, Client ID, Client secret, Graph single key, Enable automatic sync, Graph app key, Graph app secret, Target languages, Webhook topic, and Webhook filter.
Keep this dialog open (or come back to it) while you collect the credentials in the next steps — you'll paste them into these fields before saving.
Step 2 — Create a Content Management API key in Optimizely
In your Optimizely instance, open Settings (gear icon) in the left sidebar, then go to API Keys.
Under Management Keys → Manage Content, click Create API Key.
Give it a recognizable name (for example, a name that identifies wxrks) and click Create API Key.
Optimizely shows the generated Client ID and Secret once. Copy both now — the secret cannot be viewed again after you close this dialog. If you lose it, you'll need to generate a new key.
Paste these into the Client ID and Client secret fields of the wxrks configuration dialog from Step 1.
Step 3 — Copy the Graph single key and Graph app key/secret
Still on the API Keys page:
Under Delivery Keys → Render Content, copy the Single Key — this goes into the Graph single key field in wxrks.
Under Management Keys → Manage Graph, copy the App Key and Secret — these go into Graph app key and Graph app secret in wxrks. You only need these if you plan to leave Enable automatic sync turned on.
Step 4 — Grant the new API key access to your content
The Content Management API key you created in Step 2 has no permissions by default. Without this step, wxrks will be able to authenticate but won't be able to read or write content.
In Optimizely, go to Settings → Set Access Rights.
On the Root item, click Add User/Group and select the API key you created in Step 2 from the API Keys section of the list.
On the row for that API key, check Read, Create, Change, Delete, and Publish. You don't need to check Administer.
Click Save Access Rights.
Without Publish access in particular, wxrks won't be able to write translated draft versions back into Optimizely.
Step 5 — Finish and save the configuration in wxrks
Back in the Add Configuration dialog from Step 1, fill in the remaining fields:
Org Unit — where translation projects will be created.
Instance URL — your Optimizely instance's base URL (for example,
https://app-<id>.cms.optimizely.com).Enable automatic sync (webhook) — on by default. Every time content is published in Optimizely, this automatically creates a translation project. Turn it off if you only want to trigger translations manually — in that case you can leave Graph app key/secret blank.
If automatic sync is on:
Target languages — comma-separated list of languages every publish is translated into.
Webhook topic / Webhook filter — optional. Left blank, they default to triggering on publish (
doc.updated, filtered tostatus: Published).
Click Save. If automatic sync is enabled, wxrks registers the webhook in your Optimizely instance automatically — there's nothing to copy back into Optimizely. A Webhook secret is also generated automatically and shown once; you don't need to do anything with it unless you're inspecting the webhook registration directly in Optimizely.
Regenerating the webhook secret
If you regenerate the webhook secret from the connector settings later, wxrks automatically re-registers the webhook in Optimizely with the new value — no manual step needed on the Optimizely side.
Turning automatic sync off/on later
Toggling Enable automatic sync off removes the registered webhook from your Optimizely instance. Toggling it back on registers a new one. Manual sync is unaffected either way.
Troubleshooting
Save fails or content doesn't sync after saving. Double-check you copied each credential into the matching field — Client ID/secret, Graph single key, and Graph app key/secret are not interchangeable, and Optimizely will reject requests that mix them up.
wxrks can authenticate but nothing gets translated. Confirm the API key from Step 2 has Read, Create, Change, Delete, and Publish access on Root (Step 4) — a key with no access rights can log in but can't read or write content.
Webhook deliveries are failing / nothing happens on publish. Confirm Enable automatic sync is on and Target languages is set. If you recently regenerated the webhook secret manually outside of wxrks, re-save the connector configuration so it re-registers.
A translated draft doesn't show up as published in Optimizely. Expected — this connector never publishes automatically. Review and publish the draft version manually in the Optimizely editor.
Quick reference
Field in wxrks | Where to find it in Optimizely |
Client ID / Client secret | Settings → API Keys → Manage Content → Create API Key |
Graph single key | Settings → API Keys → Delivery Keys → Render Content |
Graph app key / Graph app secret | Settings → API Keys → Management Keys → Manage Graph |
(permissions for Client ID/secret) | Settings → Set Access Rights → Root → Add User/Group → API Keys |







