Skip to content

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

  1. Navigate to Settings > Integrations > Microsoft Teams
  2. Click Connect Microsoft Teams
  3. Sign in with your Microsoft 365 account
  4. Review and grant permissions
  5. Select your Teams workspace

Step 2: Grant Permissions

Automatum requests these permissions:

  • ChannelMessage.Send - Send messages to channels
  • Chat.ReadWrite - Send direct messages
  • Team.ReadBasic.All - List teams and channels
  • User.Read - Read user profile

Step 3: Configure Default Channel

  1. Select team for notifications
  2. Choose default channel
  3. 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 CategorySuggested Channel
Sales winsGeneral or Sales
Contract alertsCustomer Success
Technical issuesEngineering
All eventsMarketplace 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:

  1. Ensure Automatum app is added to the channel
  2. Select the channel in routing settings
  3. 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:

  1. Go to Settings > Integrations > Microsoft Teams
  2. 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:

  1. Enable Business Hours Only
  2. Set timezone
  3. Define hours (e.g., 9 AM - 6 PM)
  4. 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:

  1. Go to Settings > Integrations > Microsoft Teams > Templates
  2. Select notification type
  3. Edit template using variables
  4. 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 owner

Brand 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:

  1. Connect primary tenant
  2. Click Add Another Tenant
  3. Sign in with tenant credentials
  4. 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

PermissionPurpose
ChannelMessage.SendPost to channels
Chat.ReadWriteSend direct messages
Team.ReadBasic.AllList teams/channels
User.ReadUser 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:

  1. Go to Settings > Integrations > Microsoft Teams
  2. Click Disconnect
  3. Confirm removal

This revokes all permissions immediately.


Troubleshooting

Not Receiving Notifications

Check:

  1. Microsoft Teams app is connected
  2. Channel exists and app has access
  3. Notification type is enabled
  4. Not in quiet hours
  5. 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:

  1. Adaptive Cards enabled in Teams admin
  2. No conflicting Teams policies
  3. Template syntax is valid

Solutions:

  • Check Teams admin settings
  • Verify template configuration
  • Test with default template

Actions Not Working

Check:

  1. User has Automatum account
  2. User has appropriate permissions
  3. 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_KEY

Best Practices

  1. Channel organization - Use dedicated channels for different event types
  2. Limit notifications - Don't overwhelm with too many alerts
  3. Business hours - Respect team availability
  4. Clear actions - Make next steps obvious
  5. Test first - Verify setup before going live

Next Steps


Need Help?

Contact support@automatum.io for Microsoft Teams integration assistance.

Automatum GTM Platform