Skip to main content
You write the update in Keep (What’s new), publish it, and the panel shows up inside your app. Each view and each click on the update’s button reaches Keep; when the person is matched to an account, Customer 360 shows it in the account’s activity (“Saw “Introducing AI Workflows””). An update has a type (New feature, Improvement, Announcement or Maintenance), a title, a short text and, optionally, a button with a label and an https link. It moves from draft to published to archived; only published updates reach the panel.

Install

It is the same keep.js as the surveys. If it is already installed, add your workspace’s public key (kpub_…, in the Install in your product tab of What’s new) and updates: true to Keep.init:
The key is public by design: it opens only this workspace’s published updates — nothing about revenue, accounts or risk.

Opening the panel

Any element with data-keep-updates opens the panel. While there are unread updates, it gets data-keep-unread with the count:
Or from code:
function
Opens the panel from anywhere (a menu item, a shortcut…). Opening the panel marks the listed updates as read.
event
Fired on window whenever the list changes, with event.detail = { unread, total } — for a badge you draw yourself.

Audience

Each update goes to everyone, to identified users only, or only to certain plans or companies. The audience is decided on Keep’s server from what your app sends in Keep.identify (plan; companyId or customerId; userId or email for “identified”); the browser never receives the rule, only the updates that person may see. Identity signing (HMAC) is the same as for surveys — see Verified identity.

Metrics

For each update, Keep shows unique views, unique clicks and CTR (clicks ÷ views).
  • A view counts when the update is actually on screen, once per person.
  • A click counts when the person clicks the update’s button, once per person.
  • “Person” is the userId (or email) your app passed; without an identity, a random id kept in the browser.
A click is a click: Keep does not report it as adoption of the feature.

What the widget receives and sends

  • It receives only the published updates that person may see: id, type, title, text, button and date. Nothing about your accounts, revenue, risk or audience.
  • It sends the public key, the identity you passed and, for events, the kind (view or click) and the visitor id.
  • It draws inside a Shadow DOM and renders all text as text, never as HTML. It uses no cookies; it keeps in localStorage how far the person has read.
  • Any failure is silent: your page stays as it was.

Endpoints

Used by the widget; you do not need to call them. Unknown key, an origin outside Allowed sites, or an update that is not published: 404.