Introduction
The Microsoft Teams integration posts Dodo Payments events to a Teams channel as Adaptive Cards, so your team sees payments, subscription changes, and disputes as they happen. Use it when Teams is where your business team works.This guide assumes you have admin access to create webhooks in your Microsoft Teams workspace.
Getting Started
1
Open the Webhook Section
In the Dodo Payments dashboard, go to Developer → Webhooks and click Add endpoint.

2
Select Microsoft Teams
In the Integration list, select Teams.
3
Create Teams Webhook
Microsoft retired the Office 365 Incoming Webhook connectors in Teams, so create the webhook with the Workflows app:
- In Teams, open the channel that should receive notifications.
- Click ⋯ next to the channel name and choose Workflows.
- Pick the template Post to a channel when a webhook request is received.
- Confirm the team and channel, then click Add workflow.
- Copy the webhook URL that Teams shows.
4
Paste Webhook URL
Paste the Teams webhook URL into the Endpoint URL field.
5
Customize Transformation
Edit the code under Transformation code to format each event as an Adaptive Card. Start from the examples below.
6
Test & Create
Under Test this code, run the transformation against a sample payload, then click Create endpoint.
7
Done
Your Teams channel now receives Dodo Payments events as Adaptive Cards.
Transformation Code Examples
Each example replaces the event payload with a Teams message that carries one Adaptive Card attachment.Basic Payment Card
This example posts the amount, customer email, and payment ID when a payment succeeds.payment_card.js
Subscription Management
This example posts one card when a subscription becomes active and another when it’s cancelled.subscription_card.js
Dispute Alerts
This example posts a card for everydispute.* event. The title and color change when a dispute is won or lost.
dispute_card.js
Tips
- Use Adaptive Cards for rich, interactive formatting.
- Pick colors by meaning:
Good(green),Warning(yellow), andAttention(red). - Keep fact sets short and readable.
- Before you rely on the endpoint, open its Testing tab and click Send example to post a sample card to your channel.
Troubleshooting
No Messages in Teams
No Messages in Teams
- Check that the webhook URL is correct and that the workflow is turned on.
- Check that the transformation returns valid Adaptive Card JSON.
- Check that the workflow has permission to post in the channel.
Card Formatting Issues
Card Formatting Issues
- Run the transformation under Test this code and check the result against the Adaptive Card schema.
- Check that all required fields are present.
- Check that color values are valid, such as
Default,Good,Warning, orAttention.