Microsoft Teams Integration
Receive marketplace notifications directly in Microsoft Teams.
Overview
The Microsoft Teams integration delivers real-time notifications about your marketplace activities directly to your Teams channels. Keep your team informed without leaving their collaboration hub.
Features
- Real-time Alerts: Instant notifications for key events
- Adaptive Cards: Rich, interactive message format
- Channel Routing: Different events to different channels
- Action Buttons: Take action directly from Teams
- @Mentions: Tag specific team members
Prerequisites
- Microsoft Teams workspace
- Admin or app installation permissions
- Microsoft 365 account
- Automatum Professional or Enterprise plan
Setup
Step 1: Connect Microsoft Teams
- Navigate to Settings > Integrations > Microsoft Teams
- Click Connect Microsoft Teams
- Sign in with your Microsoft 365 account
- Review and grant permissions
- Select your Teams workspace
Step 2: Grant Permissions
Automatum requests these permissions:
ChannelMessage.Send- Send messages to channelsChat.ReadWrite- Send direct messagesTeam.ReadBasic.All- List teams and channelsUser.Read- Read user profile
Step 3: Configure Default Channel
- Select team for notifications
- Choose default channel
- Test connection
Step 4: Configure Events
Select which events trigger Teams notifications:
Enable/disable per event type:
- [ ] Private offer created
- [x] Private offer accepted
- [x] Private offer expired
- [x] Contract expiring (30 days)
- [x] Contract renewed
- [x] Metering failure
- [x] Revenue milestone
Channel Configuration
Route Events to Channels
Send different events to specific channels:
| Event Category | Suggested Channel |
|---|---|
| Sales wins | General or Sales |
| Contract alerts | Customer Success |
| Technical issues | Engineering |
| All events | Marketplace Alerts |
Configure routing:
json
{
"routing": {
"private_offer.accepted": {
"team": "Sales Team",
"channel": "Wins"
},
"contract.expiring": {
"team": "Customer Success",
"channel": "Renewals"
},
"metering.failed": {
"team": "Engineering",
"channel": "Alerts"
},
"default": {
"team": "Marketplace",
"channel": "General"
}
}
}Private Channels
To send to private channels:
- Ensure Automatum app is added to the channel
- Select the channel in routing settings
- Save configuration
Message Formats
Adaptive Cards
Notifications use Microsoft Adaptive Cards for rich formatting:
Private Offer Accepted:
json
{
"type": "AdaptiveCard",
"body": [
{
"type": "TextBlock",
"text": "🎉 Private Offer Accepted",
"weight": "Bolder",
"size": "Large"
},
{
"type": "FactSet",
"facts": [
{ "title": "Customer", "value": "Acme Corporation" },
{ "title": "Product", "value": "Enterprise Plan" },
{ "title": "Value", "value": "$50,000/year" },
{ "title": "Duration", "value": "12 months" },
{ "title": "Marketplace", "value": "AWS" }
]
}
],
"actions": [
{
"type": "Action.OpenUrl",
"title": "View Offer",
"url": "https://console.automatum.io/offers/offer_123"
},
{
"type": "Action.OpenUrl",
"title": "View Customer",
"url": "https://console.automatum.io/customers/cust_456"
}
]
}Message Examples
Contract Expiring:
⚠️ Contract Expiring Soon
Customer: Acme Corporation
Product: Professional Plan
Expires: February 15, 2026 (30 days)
Current Value: $25,000/year
Action Required: Initiate renewal conversation
[Create Renewal Offer] [View Contract] [View Customer]Metering Failure:
🚨 Metering Event Failed
Customer: Acme Corporation
Product: API Gateway
Dimension: api_calls
Quantity: 10,000
Error: INVALID_DIMENSION
[View Details] [Retry] [Dismiss]Revenue Milestone:
🏆 Revenue Milestone Reached!
Milestone: $1,000,000 Monthly Revenue
This Month: $1,024,500
Growth: +15% vs last month
Great work team! 🎊
[View Analytics]Interactive Actions
Action Buttons
Click buttons in Teams to take action:
Available Actions:
- View offer/contract/customer
- Create renewal offer
- Retry failed metering
- Acknowledge alert
- Open in Automatum
Quick Replies
Respond directly from Teams:
- Approve/reject requests
- Add notes
- Assign to team member
@Mentions
Mention Users
Tag specific users in notifications:
- Go to Settings > Integrations > Microsoft Teams
- Configure mention rules:
json
{
"mentions": {
"private_offer.accepted": {
"condition": { "value": { "gt": 100000 } },
"users": ["john@company.com", "sales-lead@company.com"]
},
"metering.failed": {
"users": ["engineering-lead@company.com"]
}
}
}Mention Channels
Tag entire channels for urgent notifications.
Notification Schedule
Business Hours
Limit notifications to business hours:
- Enable Business Hours Only
- Set timezone
- Define hours (e.g., 9 AM - 6 PM)
- Select business days (Mon-Fri)
Outside hours behavior:
- Critical alerts: Still sent immediately
- Non-critical: Batched for next business day
- Or held for morning digest
Focus Time
Respect Teams Focus Time:
- Notifications queued during focus
- Delivered when focus ends
- Critical alerts still sent
Daily Digest
Receive a summary instead of individual alerts:
Contents:
- New customers
- Offers sent/accepted
- Revenue summary
- Upcoming renewals
- Action items
Delivery: Configurable (default 9 AM)
Customization
Custom Message Templates
Modify notification content:
- Go to Settings > Integrations > Microsoft Teams > Templates
- Select notification type
- Edit template using variables
- Preview and save
Available Variables:
{{customerName}} - Customer company name
{{productName}} - Product name
{{value}} - Contract/offer value
{{vendor}} - AWS or Azure
{{date}} - Relevant date
{{link}} - Link to Automatum
{{assignedTo}} - Account ownerBrand Colors
Customize card colors:
- Header color
- Accent color
- Action button colors
Bot Commands (Coming Soon)
Query data directly in Teams:
Planned Commands:
/automatum status- System status/automatum customer [name]- Customer lookup/automatum revenue [period]- Revenue summary/automatum help- Available commands
Multi-Tenant Support
Connect Multiple Tenants
For organizations with multiple Microsoft 365 tenants:
- Connect primary tenant
- Click Add Another Tenant
- Sign in with tenant credentials
- Configure per-tenant routing
Cross-Tenant Notifications
Send notifications across tenants:
json
{
"event": "private_offer.accepted",
"tenants": [
{ "id": "tenant_1", "team": "Sales", "channel": "Wins" },
{ "id": "tenant_2", "team": "Partners", "channel": "Updates" }
]
}Security
Permissions Used
| Permission | Purpose |
|---|---|
| ChannelMessage.Send | Post to channels |
| Chat.ReadWrite | Send direct messages |
| Team.ReadBasic.All | List teams/channels |
| User.Read | User information |
Data Access
- Automatum does NOT read Teams messages
- Only sends outbound notifications
- No message history access
- Limited to granted permissions
Disconnect
To remove integration:
- Go to Settings > Integrations > Microsoft Teams
- Click Disconnect
- Confirm removal
This revokes all permissions immediately.
Troubleshooting
Not Receiving Notifications
Check:
- Microsoft Teams app is connected
- Channel exists and app has access
- Notification type is enabled
- Not in quiet hours
- Check Teams notification settings
Solutions:
- Reconnect Microsoft Teams integration
- Re-add app to channel
- Review event routing
- Test with different channel
Messages Not Formatting
Check:
- Adaptive Cards enabled in Teams admin
- No conflicting Teams policies
- Template syntax is valid
Solutions:
- Check Teams admin settings
- Verify template configuration
- Test with default template
Actions Not Working
Check:
- User has Automatum account
- User has appropriate permissions
- Action URL is accessible
Solutions:
- Link Teams user to Automatum
- Check user role in Automatum
- Verify SSO configuration
API Reference
Send Custom Message
bash
POST /api/integrations/teams/send
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"team": "Sales Team",
"channel": "General",
"message": {
"type": "AdaptiveCard",
"body": [
{
"type": "TextBlock",
"text": "Custom notification"
}
]
}
}Test Connection
bash
POST /api/integrations/teams/test
Authorization: Bearer YOUR_API_KEYBest Practices
- Channel organization - Use dedicated channels for different event types
- Limit notifications - Don't overwhelm with too many alerts
- Business hours - Respect team availability
- Clear actions - Make next steps obvious
- Test first - Verify setup before going live
Next Steps
Need Help?
Contact support@automatum.io for Microsoft Teams integration assistance.