managed
We hold the credentials
WPIntegrate runs the client-credentials flow for your tenant. Your administrator grants consent once and is not asked again.
Using WordPress? Every integration here is also available as a plugin. Browse the plugin store →
Coming soon — in testing, not yet released
Teams Chat puts a chat widget on your website whose messages land in a Microsoft Teams channel or group chat and whose replies come back to the page — built and in testing, not yet released to customers.
Teams Chat is built, and is being tested against real tenants before it is released. Nothing on this page can be bought or embedded yet, and what people ask for is what sets the order things are released in.
Is the licence per site or per seat?
Per site. I can send you the comparison — shall I?
Please do.
A drawing of Teams Chat on a fictional site, in our own tokens rather than a customer’s brand. It is a drawing of the arrangement, not a screenshot and not a running widget.
Putting it on the page
Teams Chat is not released, so there is no embed key to hand out and nothing here to paste yet. It is built on the same script-plus-custom-element pattern as every released component, described below.
What it does
The Teams Chat component renders a Teams channel or group chat on your page. In read-only mode it shows the conversation and never writes. In visitor-to-Teams mode the composer is enabled, and a message typed on your website is posted into the tenant’s Teams — which is why identity, consent, rate limits and the domain allowlist are all enforced on the server rather than in the browser. It is built and in testing, and has not been released to customers.
Website chat tools ask a team to watch a second inbox, which is why so many messages go unanswered. Staff already spend the day in Teams. This brings the visitor’s message to where the team already is, rather than asking the team to go somewhere else.
<wpi-teams-chat>managed or proxy — the tenant choosesWhere it runs
A custom element needs no build step and no framework, so where your site is built is not a question you have to answer before this one.
Named as examples of places HTML can be pasted. No partnership is implied and none of these are customers. WordPress is the one that gets more than an embed — the same Microsoft 365 jobs also ship as plugins with a Gutenberg block.
In detail
8 capabilities, every one of them resolved from the embed key rather than written into the page — once the keys are issued.
The default mode renders the conversation and never writes. Turning the composer on is a deliberate act, because it opens a path from a public page into a corporate workspace — and the domain allowlist fails closed for that mode when it is empty.
The source is a Teams channel, addressed by its team and channel id, or a group chat addressed by its chat id. The widget loads up to 200 recent messages and polls for new ones.
Anonymous — still stamped with a server-issued session id, so a thread can be followed — or name and email, or a verified email. A consent line above the composer is on by default, and its wording is yours.
Message length from 50 to 4,000 characters, 1 to 30 messages a minute and up to 200 in a session, URLs blocked by default, and attachments off: an upload path from an anonymous visitor into Teams-backed SharePoint storage is a far larger surface than text.
An IANA timezone, opening and closing times and the days that accept messages. Outside them the composer is replaced by your offline message — or still takes a message, if you would rather it did.
A floating bubble in either bottom corner, a panel in the page, or a sidebar. Launcher label, header title, greeting and offline message are all your own words, and avatars, timestamps and agent names are separately switchable.
Microsoft Graph change notifications need a public webhook and a renewal job, so the widget polls instead — every 10 to 300 seconds, 30 by default, and clamped server-side because a low interval multiplies Graph calls by every visitor on the page.
Domain allowlist, a Google Tag Manager container id, the shared theme tokens, custom CSS, and the same script-plus-custom-element embed pattern as the released components.
Teams Chat is in testing and no release date is announced. What people ask for is what sets the order things are released in, so a sentence about your case is worth more here than a waiting list.
Reaching your tenant
Every tenant runs in one mode or the other, and the choice belongs to your IT rather than to us. It is the reason this works inside organisations that will not delegate Graph access to a vendor.
managed
We hold the credentials
WPIntegrate runs the client-credentials flow for your tenant. Your administrator grants consent once and is not asked again.
proxy
You hold the credentials
You supply a base URL and an API key for your own gateway. We store that key encrypted at rest and never hold a Graph token at all.
Questions
If yours is not here, ask it — the answers come back from a person rather than a form.
Not yet. It is built and is being exercised against real tenants by our own team, and it has not been released to customers — so it cannot be created in a customer dashboard or embedded on a site.
Yes. The conversation is an ordinary Teams channel or chat, so a reply typed in Teams is the reply the widget shows. There is no second console for anyone to watch.
Only if you switch the component out of read-only mode, and then only within the limits you set: consent, an identity requirement, a message-length cap, per-minute and per-session limits, URLs blocked, no attachments, and a domain allowlist that refuses everything while it is empty. All of it is enforced server-side.
No. Both are separate connectors rather than settings on this component: each needs external onboarding and per-message billing that a flat subscription does not express. The builder shows the bot handoff as unavailable rather than implying otherwise.