Post Teams notifications when a document is approved or published
Site Control
Teams notifications post an Adaptive Card into a channel you choose whenever a named approval is requested, and whenever a document is published to SharePoint. The Site Book never talks to Teams directly — it calls your own Power Automate flow, and your flow does the posting.
Available on Site Control. The Microsoft tenant itself is connected by The Site Book support (sales-assisted); from there, an account owner or admin builds the flow and connects it from Settings → Integrations → Microsoft 365.
Before you start
Your Microsoft tenant must already be connected to your account — this settings page shows a Microsoft connection card with a Service principal object id once it is. You'll need that id when you build the flow.
Building the flow uses two standard Microsoft Teams connectors — the webhook trigger and the "Post card in a chat or channel" action — both included with the Power Automate capability that ships in Microsoft 365. No Power Automate Premium or per-flow licence is needed.
Build the Power Automate flow
In Microsoft Teams, open the Workflows app and search for the "Send webhook alerts from specific people to a channel" template (or start from make.powerautomate.com → Templates)
This template's trigger is pre-set to "Specific users in my tenant", matching step 3 below.
Choose the Team and Channel the notification will post to, then select Save
Pick a standard or shared channel — Microsoft doesn't support posting to a private channel this way.
Open the flow and confirm Who can trigger the flow? is set to Specific users in my tenant on the When a Teams webhook request is received trigger
Add The Site Book's service principal object id (shown on this settings page) as the allowed caller, then save the trigger. Leaving this list empty means Microsoft treats it as anyone in your tenant being allowed — not nobody — so don't skip it expecting an empty list to be safe. Send test notification (below) catches the failure direction: a 401/403 result means Power Automate didn't accept The Site Book, so double-check the id is still listed (an edit can occasionally fail to stick). Accepted only shows The Site Book is allowed to call the flow — that's also true if the allowed-users list is empty or set to Any user in my tenant, so re-open the trigger afterwards and confirm the id is actually listed.
Confirm the flow's Post card in a chat or channel action
The template wires this up already — Flow bot, your chosen Team and Channel. Leave it as the template created it.
Save the flow, then copy its webhook URL from the trigger
Connect the flow in The Site Book
Open Settings → Integrations → Microsoft 365
Account owners and admins only.
Paste the flow's webhook URL into Flow webhook URL and select Save flow URL
If the URL contains a `sig=` shared-access signature — in any letter case, so `sig=`, `Sig=` and `SIG=` all count — an acknowledgement checkbox appears as soon as you paste it. Tick it to save; The Site Book will not save a shared-access URL silently.
Select Send test notification
Confirms The Site Book can reach your flow. The result says exactly what happened — Accepted, Posted, or a specific failure reason. Check your Teams channel for the test card too.
Choose which events notify
Notify on approval requested and Notify on published to SharePoint are on by default. Turning either off also stops a notification of that type already waiting to send — The Site Book re-checks the toggle immediately before it would post, and cancels it there instead, whether it's still queued or was paused and later resumed. You don't need to clear a backlog by hand after switching a toggle off.
What the notification card contains
An approval-requested card shows the project, the document and its version, and the assigned approver's name, with a link back to The Site Book to review it.
A published card shows the same project/document/version, whether it's the approved original or a signed copy, and links to both The Site Book and the SharePoint file.
Every card carries a delivery id in its footer — quote it if you need The Site Book support to look up a specific notification.
Pause, resume and disconnect
Turn Channel enabled off to stop new notifications immediately — nothing already queued is sent while it's off.
SharePoint's Pause publishing does NOT stop Teams notifications. It's the last tick-box on the SharePoint card of the same settings page, and it only holds SharePoint uploads: approval-request cards keep posting while it's on, and a document held by it posts its 'Published to SharePoint' card when it actually publishes after you untick it. Channel enabled (in this Teams notifications section, below Delivery history) is the only switch that stops Teams cards.
Turning Channel enabled back on immediately resumes whatever this channel paused for being off — no extra step needed for those. Saving a flow URL always switches the channel back on too, even if you hadn't re-checked the box yourself — there's no way to save a replacement URL while keeping the channel paused, so pasting one in starts notifications flowing again at once.
Resume paused re-queues every OTHER paused notification (for example one paused because your plan was the problem) on the current flow configuration in one action; it does not resend anything that already succeeded.
If The Site Book support needs to disable your Microsoft connection (separate from rebinding it to a different tenant — see below), your flow URL and channel settings are left exactly as they are. Notifications that were already waiting to send pause with that reason, and resume automatically when support re-enables the connection — you don't need to press Resume paused yourself for them. An approval request raised while the connection is disabled isn't queued at all, so no 'Approval requested' card is posted for it afterwards. A document approved during that time with Publish automatically after approval on is kept as Paused in SharePoint's Delivery history and publishes once support re-enables the connection — its 'Published to SharePoint' card is posted then (as long as Channel enabled and Notify on published to SharePoint are still on).
Replacing the flow URL — after a flow rebuild, for example — cancels notifications still queued or paused under the old configuration rather than sending them somewhere no longer valid, and (per the point above) switches the channel back on.
Disconnecting keeps your delivery history; it does not withdraw a message already posted in Teams.
If The Site Book support ever rebinds your account to a different Microsoft tenant, your saved Teams flow is removed rather than just switched off — it belonged to the old tenant, and there's no safe way to leave it sitting there ready to be re-enabled. Any notification still queued or paused at that moment is cancelled; your delivery history is kept. You'll need to build a new flow in the new tenant (see Build the Power Automate flow above) and paste its URL in again.
If a row says it's waiting on The Site Book's Microsoft 365 set-up, that's on our side — it retries automatically and there's nothing you need to click.
Frequently asked questions
Does The Site Book connect to Teams directly?
No. The Site Book posts to your own Power Automate flow's webhook trigger; your flow is what posts the Adaptive Card into your Teams channel. The Site Book never holds a Teams token or Teams channel access.
Who can see the Teams message?
Everyone in the channel your flow posts to. The card carries the project name, document type and version, and (for an approval request) the assigned approver's name — treat the channel's own membership as who can see that.
Does approving a document in Teams do anything?
No. The card is a notification only — it links back to The Site Book. The approval decision itself always happens in The Site Book, never in Teams or in Power Automate.
What does "Accepted" mean, versus "Posted"?
Accepted by Power Automate — check the channel for the card; if it doesn't appear, open the flow's run history in Power Automate. That's deliberately not a stronger claim: the webhook trigger returns its response BEFORE "Post card in a chat or channel" actually runs, so Accepted doesn't prove the card was posted, only that Power Automate received the request. You may occasionally see "Posted" instead, which IS a confirmed receipt — but only a flow with an extra Response action reports it, and that action is itself a Premium one. The recommended template never adds it, so don't add it yourself just to see "Posted" — see "Accepted, but no card appeared?" below if a card seems to be missing.
I got "Accepted", but no card appeared in the channel — what do I check?
In roughly this order: (1) Open the flow in Power Automate and check its run history — did "Post card in a chat or channel" actually run, and did it succeed? A failed step there explains a missing card even though the trigger itself returned Accepted. (2) Is the flow posting to a standard or shared channel? Microsoft doesn't support posting to a private channel this way — if you picked a private channel, rebuild the flow pointing at a standard or shared one. (3) Check your Teams admin centre's app permission policies — the Workflows app itself can be blocked or restricted there, independently of anything in Power Automate. (4) The service-principal check isn't the cause here — Accepted already shows the request got past it (a rejected id would have come back 401/403, not Accepted). Still worth confirming on the trigger itself that "Who can trigger the flow?" isn't set to an empty list or "Any user in my tenant", both of which also return Accepted but leave the flow open to anyone in your tenant.
What is a shared-access flow URL, and why does The Site Book warn about it?
Power Automate can restrict the webhook trigger to "Specific users in my tenant" (recommended — see below) or leave it open to "Anyone", in which case the URL itself carries a `sig=` signature that acts as the credential. The Site Book detects that pattern in any letter case — `sig=`, `Sig=` or `SIG=` are all treated the same — and the acknowledgement checkbox appears on the Flow webhook URL field as soon as you paste a URL like that, before you try to save. You must tick it to save the URL, because anyone who obtains that URL could trigger your flow.
My flow's URL won't save, and the error mentions logic.azure.com and sig=
A URL on the `logic.azure.com` host family is a plain Azure Logic App rather than Power Automate itself, and Azure Logic Apps has no "Specific users in my tenant" restriction The Site Book can verify — so a URL on that host is only accepted if it carries a `sig=` shared-access signature (and you tick the shared-access acknowledgement). If you built this from the Teams webhook template, go back to the trigger and copy its webhook URL again — a correctly built flow's URL normally ends in `.environment.api.powerplatform.com`, which The Site Book accepts with "Specific users in my tenant" and no `sig=`.
Why does my test notification keep failing with 401 or 403?
The flow's trigger almost always needs "Specific users in my tenant" set to The Site Book's service principal object id (shown on this settings page once your Microsoft tenant is connected). Check that id is listed as an allowed caller on the trigger, then send another test.
What happens to notifications while the channel is paused or disabled?
Nothing is sent — The Site Book checks the channel is enabled immediately before every send, never after the fact. Turning Channel enabled back on immediately re-queues any notification that this channel paused specifically for being switched off — you don't need a separate step for those. If The Site Book support disables your Microsoft connection (see Pause, resume and disconnect below), any notification paused specifically for that reason resumes automatically the moment support re-enables it — again, no separate step needed. A notification paused for a different reason (your plan, or the Microsoft 365 integration being switched off account-wide) does not resume just from that — use Resume paused, in the Teams notifications section of Settings → Integrations → Microsoft 365, next to Send test notification, once the underlying issue is fixed. Nothing is retried automatically forever, and notifications queued under a flow URL you've since replaced are cancelled rather than sent under the new one.
Does pausing SharePoint publishing also pause Teams notifications?
No. Pause publishing (the last tick-box on the SharePoint card of Settings → Integrations → Microsoft 365) only holds SharePoint uploads. Approval requests are not paused, so their Teams cards keep posting while SharePoint publishing is paused. A document held because publishing is paused posts its Published to SharePoint card when it actually publishes, after you untick Pause publishing. To stop Teams cards, turn off Channel enabled in the Teams notifications section of the same page — it sits below Delivery history.
A notification sat paused for a while — could it post a stale card once it's resumed?
No. Immediately before sending — not when it was first queued or paused — The Site Book re-checks that the event type is still switched on under Choose which events notify, and, for an approval-requested card, that the approval hasn't since been re-requested to someone else, approved, rejected or cancelled. If either has changed, the notification is cancelled instead of posted, so resuming a backlog (or fixing a broken flow and sending a test) never surfaces a card for something that's no longer current.
Related guides
Didn't answer it? Email [email protected] — we'll get back to you by email.