← Optwell
DocumentationPrivacyEULASupport

Optwell docs

Optwell shows whether the requester on a Zendesk ticket can still get your marketing, from Klaviyo or ActiveCampaign: email and SMS consent with its date and source, suppressions, every list and the ones they left, and recent engagement. Agents can unsubscribe them from all marketing or one list, suppress an email in Klaviyo, and (when an admin allows it) resubscribe them with a recorded consent. Every change is confirmed first and logged on the ticket. Plans: Team $110 per month up to 12 agents, Scale $9.50 per agent per month from 13 agents, after a 14-day trial.

Set up

  1. Klaviyo: Settings > Account > API keys > Create Private API Key > Custom Key. Read access: Profiles, Lists, Events, Metrics. Full access: Profiles, Lists, Subscriptions. Copy the key (Klaviyo shows it once). One key per Klaviyo account, up to 3. ActiveCampaign: Settings > Developer shows the API URL and your API key. The key carries your user's permissions, so use a user who may edit contacts.
  2. Install Optwell from the Zendesk Marketplace, pick a plan and fill in the settings below.
  3. With more than one account, map each Zendesk brand to one account in Brand routing.

Settings

SettingWhat it does
Platformsklaviyo, activecampaign or both, comma separated
Klaviyo account namesNames in key order, for example US store, EU store (up to 3)
Klaviyo private API key 1, 2, 3One key per Klaviyo account, in the same order. Secure settings.
ActiveCampaign account (from the API URL)Only the part before .api-us1.com: acme for https://acme.api-us1.com
ActiveCampaign display nameOptional name shown in the panel
ActiveCampaign API keySecure setting
Brand routingOne line per brand: <brand id>: klaviyo 1, klaviyo 2, klaviyo 3, activecampaign or none
Who may take actionsagent (everyone), admin, custom role ids, group:<id>, comma separated
Allow unsubscribes / suppressing / resubscribeSwitch each action on or off. Resubscribe is off by default.
Show recent engagementLast email received, opened and clicked and last SMS
Look up Klaviyo profiles by phoneAlso search the requester's phone numbers, for SMS-only subscribers

Which account a ticket uses

  1. The account its brand is mapped to in Brand routing (or none, for none).
  2. Otherwise, the only connected account.
  3. Otherwise the agent picks one, and nothing is read until they do. A ticket never reads from or writes to two accounts at once.

How a profile is found

  1. Every email address on the requester's Zendesk profile.
  2. Klaviyo, when the phone setting is on: their phone numbers in E.164 (+15125550101). Numbers without a country code are read as North American only when they have 10 digits.
  3. Anything else: type an email, phone number or id in Find another profile.

What the panel shows

  • Consent in Klaviyo: email and SMS marketing as Klaviyo records it (Subscribed, Never subscribed, Unsubscribed), since when, and how (method and detail, for example FORM: Footer signup or TEXT: JOIN). Email suppressions with their reason and date.
  • Consent in ActiveCampaign: for email and for SMS, how many of the contact's lists are active. Bounce status from the contact record.
  • Lists: each list with its status and date; lists they left with the reason when there is one.
  • Recent engagement: the newest email received, opened and clicked and SMS received, with the campaign. ActiveCampaign's API has no opens, and the panel says so.

Actions

Every action shows a sentence naming the person, the account and the change, and a short list of what will happen. Nothing is sent until the agent presses the button. Each change is sent once.

  • Unsubscribe from all marketing: pick email, SMS or both. Klaviyo records the unsubscribe on those channels; ActiveCampaign sets every active list of those channels to unsubscribed, one list at a time, and stops at the first failure.
  • Unsubscribe from one list: the person leaves that list and keeps the rest. In Klaviyo, Optwell checks they're still on the list right before sending, because Klaviyo turns a list unsubscribe for a non-member into a full unsubscribe.
  • Suppress email (Klaviyo): no email marketing reaches the address whatever its consent. Lift it in Klaviyo when needed.
  • Resubscribe with recorded consent (off by default): the agent writes how the customer gave consent, the date, and ticks that they asked explicitly. Klaviyo uses the list's or account's opt-in setting, so with double opt-in the customer confirms first. ActiveCampaign sets the chosen list back to active.

After each change Optwell reads the profile back and logs an internal note on the ticket: who, when, which account, the reason, and what the platform shows now. Tags: optwell_unsubscribed, optwell_list_unsubscribed, optwell_suppressed, optwell_resubscribed, plus optwell_check when the change isn't visible yet or the answer was unclear.

What it doesn't do

Delete profiles, handle erasure or access requests, edit profile fields, lift suppressions, act on lists or segments in bulk, show or change WhatsApp or push consent, or give legal advice.

Troubleshooting

  • "did not accept the private API key / API token": paste a current key.
  • "Required scope: ...": the Klaviyo key lacks that scope. Create a new Custom key.
  • "host is not in the app's allowed list" (ActiveCampaign): enter only the account name.
  • "Sent; Klaviyo is still applying it": press Refresh after a minute.
  • "No clear answer": refresh and check the profile before doing it again.
  • No actions: your role isn't in "Who may take actions", the action is off, the plan doesn't match your team size, you're on a user page (changes are made from tickets), or there's nothing left to change.

Questions: hello@greatwork.company. A person replies within one business day.