Teams is where a report lands, not a data source. You describe the report in Claude or ChatGPT, and Contextflo posts each run into a Teams channel as a card: what ran, what it found, and a button to open the full report.
How it connects
Teams connects through a webhook. You create a webhook URL for a channel on the Teams side, then paste it into Contextflo. There is no app to install and no Microsoft login to grant, so Contextflo never gets access to your Teams account. It can only post to the one URL you give it.
Contextflo recognizes Teams URLs on its own: classic webhook.office.com connector URLs and the newer Power Automate Workflows URLs (logic.azure.com, api.powerplatform.com). With a Teams URL, the message goes out as an Adaptive Card instead of raw JSON.
What's covered
Each time a report runs, the card shows:
- the report name
- the status, and a "Triggered" line when a condition fired the report
- the summary, or the full report if you chose full for that webhook
- a View Report button that opens the run in Contextflo
Nothing is read back from Teams. It's one-way.
Permissions
- Adding a webhook: admins only. The URL acts as a password for the channel, so Contextflo's audit log keeps only its hostname.
- Choosing where a report posts: the report's creator or an admin.
- Sharing a single past run to a webhook: any member of the workspace.
- Reading it: everyone in the Teams channel. Use summary mode for wide channels. The full report stays behind View Report, which needs a Contextflo login.
You can disable a webhook without deleting it. Reports skip it until you turn it back on. The queries behind a report are read-only, so posting to Teams never writes anything to your data sources.
Freshness
Every run queries your data at run time, so the card shows the numbers as of that run. A report runs on a schedule (daily, weekly or monthly, at a time you pick), or only when a condition is met.
Set it up
- Connect your AI tool. If Claude or ChatGPT isn't talking to Contextflo yet, add the connector first: Claude or ChatGPT.
- Create the webhook in Teams. With Power Automate Workflows, use the template that posts to a channel when a webhook request is received, then copy the URL it gives you.
- Add it in Contextflo. Go to Settings > Notifications > Webhooks and click Add Webhook. You need to be an admin.
- Name it and paste the URL, for example "Teams - Sales". Teams should be selected automatically.
- Click Test. A sample card should show up in the channel.
- Add it to a report. On a report, add the webhook as a destination and pick summary or full.
If the test card doesn't show up, the Teams side is usually the problem: the workflow is turned off, or the URL was copied from the wrong step.
On Slack instead? See the Slack integration.
FAQ
Do I need to install a Teams app?
No. You create a webhook for the channel in Teams, with Power Automate Workflows or a classic connector, and paste the URL into Contextflo.
Can Contextflo read our Teams messages?
No. Contextflo never gets access to your Teams account. It can only post to the webhook URL you give it.
Which webhook URLs work?
Classic connector URLs on webhook.office.com and Power Automate Workflows URLs on logic.azure.com or api.powerplatform.com. Contextflo detects them and formats the message as an Adaptive Card.
Who can add a webhook?
Admins only. The webhook URL works like a password for the channel, so the Contextflo audit log keeps only its hostname.
How fresh is the data in a Teams card?
Every run queries your data when it runs, so the card shows the numbers as of that run.