Documentation Index
Fetch the complete documentation index at: https://crewai-devin-1778040886-fix-hitl-pre-review-silent-fallback.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Enable your agents to access Teams data, send messages, create meetings, and manage channels. Automate team communication, schedule meetings, retrieve messages, and streamline your collaboration workflows with AI-powered automation.Prerequisites
Before using the Microsoft Teams integration, ensure you have:- A CrewAI AMP account with an active subscription
- A Microsoft account with Teams access
- Connected your Microsoft account through the Integrations page
Setting Up Microsoft Teams Integration
1. Connect Your Microsoft Account
- Navigate to CrewAI AMP Integrations
- Find Microsoft Teams in the Authentication Integrations section
- Click Connect and complete the OAuth flow
- Grant the necessary permissions for Teams access
- Copy your Enterprise Token from Integration Settings
2. Install Required Package
3. Environment Variable Setup
Agent(apps=[]), you must set the
CREWAI_PLATFORM_INTEGRATION_TOKEN environment variable with your Enterprise
Token..env file:
Available Actions
microsoft_teams/get_teams
microsoft_teams/get_teams
- No parameters required.
microsoft_teams/get_channels
microsoft_teams/get_channels
team_id(string, required): The ID of the team.
microsoft_teams/send_message
microsoft_teams/send_message
team_id(string, required): The ID of the team.channel_id(string, required): The ID of the channel.message(string, required): The message content.content_type(string, optional): Content type (html or text). Enum:html,text. Default istext.
microsoft_teams/get_messages
microsoft_teams/get_messages
team_id(string, required): The ID of the team.channel_id(string, required): The ID of the channel.top(integer, optional): Number of messages to retrieve (max 50). Default is20.
microsoft_teams/create_meeting
microsoft_teams/create_meeting
subject(string, required): Meeting subject/title.startDateTime(string, required): Meeting start time (ISO 8601 format with timezone).endDateTime(string, required): Meeting end time (ISO 8601 format with timezone).
microsoft_teams/search_online_meetings_by_join_url
microsoft_teams/search_online_meetings_by_join_url
join_web_url(string, required): The join web URL of the meeting to search for.
microsoft_teams/search_online_meetings_by_meeting_id
microsoft_teams/search_online_meetings_by_meeting_id
join_meeting_id(string, required): The meeting ID (numeric code) that attendees use to join. This is the joinMeetingId shown in meeting invitations, not the Graph API meeting id.
microsoft_teams/get_meeting
microsoft_teams/get_meeting
meeting_id(string, required): The Graph API meeting ID (a long alphanumeric string). Obtain from create_meeting or search_online_meetings actions. Different from the numeric joinMeetingId.
microsoft_teams/get_team_members
microsoft_teams/get_team_members
team_id(string, required): The unique identifier of the team. Obtain from get_teams action.top(integer, optional): Maximum number of members to retrieve per page (1-999). Default is100.skip_token(string, optional): Pagination token from a previous response. When the response includes @odata.nextLink, extract the $skiptoken parameter value and pass it here to get the next page of results.
microsoft_teams/create_channel
microsoft_teams/create_channel
team_id(string, required): The unique identifier of the team. Obtain from get_teams action.display_name(string, required): Name of the channel as displayed in Teams. Must be unique within the team. Max 50 characters.description(string, optional): Optional description explaining the channel’s purpose. Visible in channel details. Max 1024 characters.membership_type(string, optional): Channel visibility. Enum:standard,private. “standard” = visible to all team members, “private” = visible only to specifically added members. Default isstandard.
microsoft_teams/get_message_replies
microsoft_teams/get_message_replies
team_id(string, required): The unique identifier of the team. Obtain from get_teams action.channel_id(string, required): The unique identifier of the channel. Obtain from get_channels action.message_id(string, required): The unique identifier of the parent message. Obtain from get_messages action.top(integer, optional): Maximum number of replies to retrieve per page (1-50). Default is50.skip_token(string, optional): Pagination token from a previous response. When the response includes @odata.nextLink, extract the $skiptoken parameter value and pass it here to get the next page of results.
microsoft_teams/reply_to_message
microsoft_teams/reply_to_message
team_id(string, required): The unique identifier of the team. Obtain from get_teams action.channel_id(string, required): The unique identifier of the channel. Obtain from get_channels action.message_id(string, required): The unique identifier of the message to reply to. Obtain from get_messages action.message(string, required): The reply content. For HTML, include formatting tags. For text, plain text only.content_type(string, optional): Content format. Enum:html,text. “text” for plain text, “html” for rich text with formatting. Default istext.
microsoft_teams/update_meeting
microsoft_teams/update_meeting
meeting_id(string, required): The unique identifier of the meeting. Obtain from create_meeting or search_online_meetings actions.subject(string, optional): New meeting title.startDateTime(string, optional): New start time in ISO 8601 format with timezone. Example: “2024-01-20T10:00:00-08:00”.endDateTime(string, optional): New end time in ISO 8601 format with timezone.
microsoft_teams/delete_meeting
microsoft_teams/delete_meeting
meeting_id(string, required): The unique identifier of the meeting to delete. Obtain from create_meeting or search_online_meetings actions.
Usage Examples
Basic Microsoft Teams Agent Setup
Messaging and Communication
Meeting Management
Troubleshooting
Common Issues
Authentication Errors- Ensure your Microsoft account has the necessary permissions for Teams access.
- Required scopes include:
Team.ReadBasic.All,Channel.ReadBasic.All,ChannelMessage.Send,ChannelMessage.Read.All,OnlineMeetings.ReadWrite,OnlineMeetings.Read. - Verify that the OAuth connection includes all required scopes.
- Ensure you are a member of the teams you’re trying to access.
- Double-check team IDs and channel IDs for correctness.
- Team and channel IDs can be obtained using the
get_teamsandget_channelsactions.
- Ensure
team_id,channel_id, andmessageare provided forsend_message. - Verify that you have permissions to send messages to the specified channel.
- Choose appropriate
content_type(text or html) based on your message format.
- Ensure
subject,startDateTime, andendDateTimeare provided. - Use proper ISO 8601 format with timezone for datetime fields (e.g., ‘2024-01-20T10:00:00-08:00’).
- Verify that the meeting times are in the future.
- The
get_messagesaction can retrieve a maximum of 50 messages per request. - Messages are returned in reverse chronological order (newest first).
- For
search_online_meetings_by_join_url, ensure the join URL is exact and properly formatted. - The URL should be the complete Teams meeting join URL.
