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

Coming soon — in testing, not yet released

Teams Chat

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.

vantage-software.example/support
vantage software
Support Answered from a Teams channel

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

The pattern it follows.

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.

There is no embed snippet yet

Embed keys are issued when a component is released, and this one has not been. The three parts beside this note are the pattern it already shares with the released components.

  1. The script tag

    One bundle for one component. It defines the custom element and does nothing else — no framework, no build step, and no change to how the rest of the page is built.

  2. The element

    An ordinary HTML tag, placed wherever the component should appear — including inside a page builder’s raw-HTML block, a shortcode, or a template partial.

  3. The embed key

    The key resolves to one configured instance — the Microsoft 365 source, the arrangement, the theme, and the domains allowed to render it. Change any of those and the page itself never has to be edited again.

What it does

How it works

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.

Why it exists

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.

Element
<wpi-teams-chat>
Reads from
Microsoft Teams channels, Microsoft Teams group chats, Microsoft Graph
Arrangements
3 in the builder
Graph access
managed or proxy — the tenant chooses

Arrangements in the builder

  • Floating bubble in a page corner
  • Inline panel in the page
  • Sidebar panel

Where it runs

Anywhere you can paste two lines of HTML

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.

  • WordPress
  • Webflow
  • Squarespace
  • Shopify
  • Wix
  • Astro
  • Next.js
  • Drupal
  • SharePoint pages
  • Plain HTML

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

Everything Teams Chat does.

8 capabilities, every one of them resolved from the embed key rather than written into the page — once the keys are issued.

  1. Read-only until you decide otherwise

    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.

  2. A channel feed, a support queue or a group chat

    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.

  3. Who the visitor has to be

    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.

  4. Abuse controls, enforced on the server

    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.

  5. Office hours, and what happens outside them

    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.

  6. Bubble, inline or sidebar

    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.

  7. Polling, clamped

    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.

  8. The platform settings every component gets

    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.

Tell us you are waiting on this one.

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

Two ways for us to reach Graph. One of them never lets us.

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

What people ask about this one.

If yours is not here, ask it — the answers come back from a person rather than a form.

Can we use Teams Chat yet?

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.

Do staff reply from Teams itself?

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.

Can a stranger post into our Teams?

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.

Does it do WhatsApp, or a chatbot?

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.