Pre-Built Tooling
Category | Details |
---|---|
Authentication | OAuth 2.0 (Authorization Code with refresh tokens) |
Two-Way Sync | No |
Events Supported | Yes (via webhooks/subscriptions) |
Realtime | Yes (change notifications via webhooks) |
Supports Rate Limiting | Yes (Microsoft Graph API limits apply) |
Authentication Scopes Supported | openid , email , profile , offline_access , Chat.Create , Chat.Read , Chat.ReadWrite , ChatMessage.Read , ChatMessage.Send , Group.Read.All , Group.ReadWrite.All |
Objects Supported
Alloy Automation supports syncing the following objects from Microsoft Teams: Based on the Microsoft Graph Teams API, typical objects include:- Groups
- Teams
- Channels
- Messages (Channel and Chat)
- Chats
- Users
- Members
Set Up Guide
Trial Access
Question | Answer |
---|---|
Offers free trial? | Yes. Microsoft offers free Microsoft 365 trials and free Teams accounts. Start free trial |
Requires paid sandbox | No. Free Microsoft accounts and trial tenants can be used for development. |
Requires partnership to obtain authentication? | No, but you must register an application in the Azure Portal. |
Authentication (OAuth 2.0)
For customers who want to completely whitelabel their OAuth experience, you can provide your own developer keys instead of using Alloy Automation’s.Create your OAuth app (Azure Portal)
- Go to Azure Portal (https://portal.azure.com/) and sign in with your Microsoft account.
- Navigate to Azure Active Directory → App registrations → New registration.
- Fill in your application details:
- Name: Your application’s name
- Supported account types: Choose “Accounts in any organizational directory” for multi-tenant access
- Redirect URI: Select “Web” and enter
https://api.runalloy.com/api/strategy/connector/microsoftTeams/callback
- Click Register to create the application.
- Note your Application (client) ID from the Overview page.
- Navigate to Certificates & secrets and click New client secret.
- Add a description and expiration period, then click Add.
- Copy the Value of the client secret immediately (it won’t be shown again).
- Navigate to API permissions and click Add a permission.
- Select Microsoft Graph and add the following delegated permissions based on your needs:
- For Teams and Channels:
Team.ReadBasic.All
,Channel.ReadBasic.All
- For Messages:
ChannelMessage.Read.All
,ChatMessage.Read
,ChatMessage.Send
- For Chats:
Chat.Read
,Chat.ReadWrite
,Chat.Create
- For Groups:
Group.Read.All
,Group.ReadWrite.All
- Base permissions:
openid
,email
,profile
,offline_access
- For Teams and Channels:
- Click Grant admin consent (admin privileges required for most Teams permissions).
- Copy your Application (client) ID and Client Secret into Alloy Automation.
Important Notes
- Most Teams API operations require admin consent and application permissions for production use.
- Reading channel messages requires Resource Specific Consent (RSC) or admin-consented permissions.
- The API respects Teams and channel privacy settings - private teams/channels may have restricted access.
Use Cases
1) Automated team provisioning
Automatically create Teams, channels, and membership when new projects start or new customers onboard, maintaining consistent team structures and applying naming conventions across your organization.2) Centralized communication hub
Aggregate messages from multiple Teams channels into a centralized dashboard or archive, enabling compliance teams to search conversations and maintain records across the organization.3) Bot and notification integration
Send automated notifications to Teams channels when events occur in external systems (e.g., deployment alerts, customer inquiries, sales deals), creating a real-time activity feed for teams.4) Cross-platform chat migration
Extract chat history and channel messages from Teams to migrate conversations to other platforms or create backups for compliance and knowledge management purposes.5) Team analytics and insights
Pull Teams usage data, message volumes, and collaboration patterns into analytics platforms to understand how teams communicate and identify opportunities for process improvement.API Gotchas
- Reading channel messages requires special permissions that must be admin-consented and often require Resource Specific Consent (RSC) configuration in the Teams app manifest. Standard delegated permissions are insufficient for most message-reading scenarios.
- The Graph API has throttling limits that vary by resource type and license level. Teams/channels operations are typically limited to 3,000 requests per 30 seconds per app per tenant. Exceeding limits results in 429 errors with retry-after headers.
-
Pagination for messages uses a different pattern than most Graph resources. Channel messages support
$top
for page size but use a proprietary@odata.nextLink
that includes encoded cursors, making it difficult to implement custom pagination logic. - Bot messages and adaptive cards cannot be fully accessed via the regular API. Messages sent by bots or containing certain card types may have limited or obfuscated content in API responses, returning only metadata rather than full message bodies.
For questions or troubleshooting, contact support@runalloy.com.