Microsoft Teams Integration
IntuitivePM integrates with Microsoft Teams through incoming webhooks. Configure Teams centrally in the Integration Hub, then assign the Teams channel to Virtual Colleagues or automation features that should use it.
Virtual Colleague reports and notifications are delivered as Adaptive Cards — rich, structured messages that display cleanly in Teams channels.
How It Works
When a Virtual Colleague runs a scan, IntuitivePM sends an Adaptive Card payload to the Teams notification channel assigned to that colleague. The card includes:
- A bold heading with the subject or colleague name and action type.
- The colleague’s name and role displayed in a column layout.
- The full message body with word wrapping enabled.
Teams renders the card natively, so messages look professional and are easy to read on desktop, mobile, and the Teams web app.
Adaptive Cards Format
IntuitivePM sends messages using Adaptive Cards v1.4, the modern format supported by Teams Workflows connectors. Each message contains:
{
"type": "message",
"attachments": [{
"contentType": "application/vnd.microsoft.card.adaptive",
"content": {
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.4",
"body": [
{ "type": "TextBlock", "size": "Medium", "weight": "Bolder",
"text": "Sprint Health Report", "style": "heading" },
{ "type": "ColumnSet", "columns": [{ "type": "Column",
"width": "auto", "items": [
{ "type": "TextBlock", "weight": "Bolder",
"text": "Sprint Analyst" },
{ "type": "TextBlock", "spacing": "None",
"text": "Virtual Colleague — Scrum Master",
"isSubtle": true }
]}]},
{ "type": "TextBlock", "text": "Report content here...",
"wrap": true }
]
}
}]
}
Note: IntuitivePM uses the Adaptive Cards format (not the older MessageCard/O365 Connector format). This is compatible with the Teams Workflows connector, which Microsoft recommends for all new integrations.
Prerequisites
- A Microsoft Teams workspace where you have permission to add connectors or create workflows.
- An IntuitivePM account with admin or project manager permissions.
Setting Up the Teams Connection
Step 1: Create a Workflows Webhook in Teams
Microsoft recommends using Workflows (Power Automate) for incoming webhooks. The legacy O365 Connector method is being retired.
- Open Microsoft Teams and navigate to the channel where you want to receive messages.
- Click the … menu next to the channel name.
- Select Workflows (or Manage channel > Connectors in older versions).
- Search for “Post to a channel when a webhook request is received” and select it.
- Name the workflow (e.g., “IntuitivePM Notifications”).
- Confirm the channel and click Add workflow.
- Teams generates a webhook URL. Copy it to your clipboard.
The URL will look something like:
https://prod-XX.westus.logic.azure.com:443/workflows/XXXXXXXX/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=XXXXXXXX
Step 2: Add the Webhook to the Integration Hub
- In IntuitivePM, navigate to System → Integrations → Integration Hub.
- Open Microsoft Teams.
- Create a notification channel.
- Paste the webhook URL into the channel configuration.
- Click Test. A test Adaptive Card should appear in your Teams channel.
- Assign the channel to the Virtual Colleague or automation that should use it.
Step 3: Verify the Integration
After saving, trigger a manual scan or wait for the next scheduled run. Check your Teams channel to confirm the Adaptive Card renders correctly with the colleague’s name, role, and message content.
Message Types
Virtual Colleagues deliver the same report types to Teams as they do to other channels:
| Message Type | Card Content |
|---|---|
| Status reports | Heading with report name, body with task counts and status summary |
| Overdue alerts | Heading with alert title, body listing overdue tasks with assignees |
| Escalations | Heading marked as escalation, body with details and recommended action |
| Reminders | Heading with reminder subject, body with upcoming deadlines |
Troubleshooting
| Issue | Solution |
|---|---|
Teams webhook returned 400 | The payload format may be incorrect, or the workflow URL has expired. Re-create the workflow and update the URL. |
Teams webhook returned 403 | The webhook was removed or your permissions changed. Re-create the workflow in Teams. |
| Cards not rendering | Ensure the Workflows connector is active. Older O365 Connector webhooks may not support Adaptive Cards. |
| Test works but scheduled runs fail | Check that the colleague is active and the schedule is configured correctly. Review the activity log for error details. |
Next Steps
- For step-by-step configuration instructions, see Teams Integration Configuration.
- Set up Slack as an additional channel with the Slack Integration guide.
- Configure email notifications in Email Setup.