Using WordPress? Every integration here is also available as a plugin. Browse the plugin store →

Knowledge base Web components Configuration

How the embed key works, and why it is not a secret

The embed key names one configured component instance. It travels in your page source, so it is public by design — the protections sit on the server, not on the key.

Published 12 August 2026

  • embed key
  • web components
  • configuration
  • security
  • api

Every component you configure gets its own embed key. It is the only attribute the custom element takes:

<wpi-documents embed-key="your-embed-key"></wpi-documents>

What the key resolves to

The key is unique across the platform and identifies one configured instance — not a component type, and not your account. Resolving it gives the API everything it needs to serve that embed:

What the key determinesWhy it matters to you
The component typeWhich of the components this is, and therefore which entitlement is checked
The saved configurationLayout, fields, filters, labels — everything the builder wrote
The owning accountWhich subscription and which usage cycle this view counts against
The Microsoft 365 connectionWhich tenant’s data it reads, and by which access mode
The allowed domainsWhich sites may render this instance

Two embeds of the same component with different settings are two instances with two keys. That is the intended way to run, say, one Documents component showing a policy library and another showing a team’s working folder.

Why it is safe in your page source

The key is visible to anyone who reads the page. That is unavoidable for a client-side embed, and it is accounted for rather than tolerated:

  • The key is an identifier, not a credential. It grants no access to your Microsoft 365 tenant, no ability to change the configuration, and no access to the dashboard. Configuration is read-only over this route.
  • Server-side fields never reach the browser. The configuration is stripped before it is returned — credentials held on the instance, such as a proxy API key or a captcha secret, are removed on the server and are not part of the JSON your visitors receive.
  • Reuse is bounded by the domain allowlist. Somebody who copies your key onto their own site gets a 403 unless their hostname is on your list. This is what stops a lifted key from spending your view allowance. It only works if the list is set correctly, which is why the default is to deny everything.

So: do not paste embed keys into a public forum thread if you can avoid it, but do not treat one leaking as a credential incident either. The action to take is to check the allowed-domains list, not to panic about the key.

What to do with a key you no longer want serving

Deactivating the instance in the dashboard is the switch. An inactive instance stops resolving and the embed returns 404 with Component is disabled, wherever in the world that markup is still pasted. Deleting the instance has the same effect on the embed.

Read next

  • Web components · Configuration

    Restricting a component to your own domains

    Every component instance carries a list of hostnames allowed to render it. The list is empty on a new instance and an empty list denies everything — this is the usual reason a fresh embed shows nothing.

  • Web components · Configuration

    Theming a component so it looks like your site

    Components carry no WPIntegrate branding. A brand colour, a corner radius, a typeface and a light/dark mode are set per instance, and the colour is expanded into a full tonal ramp for you.

  • Web components · Getting started

    Quick start: putting a web component on a page

    What the two lines of an embed actually are, what the browser does with them, and what has to be true before a component renders.

Back to the knowledge base