- Documentation
- Integrations
- Apps
- Microsoft Teams integration
Microsoft Teams integration
Post, reply, mention and manage teams, channels, chats, tags and meetings in your clients' Microsoft Teams.
What it does
The Microsoft Teams integration runs a client's Teams work for them. Connect a client's Microsoft 365 account once. Your workflows can then:
- Post messages, @mentions and Adaptive Cards into channels and chats.
- Reply in threads.
- Set up teams, channels, chats and tags for a new client, and archive them when the engagement ends.
- Manage who belongs where.
- Schedule Teams meetings, and pull transcripts and recordings of calendar meetings you organize.
Workflows can also start when a message, reply, chat, channel, team or team member appears.
Connect a Microsoft Teams account
Microsoft Teams connects through your agency's own Microsoft Entra app registration, so the consent screen your client sees carries your agency's name.
- In the Microsoft Entra admin center, open App registrations and create a registration that accepts accounts in any organizational directory.
- Add a Web redirect URI of
https://<your TaskJuice domain>/oauth/callback, create a client secret, and add the Microsoft Graph delegated permissions for the steps you use (see the table below). - Several Teams permissions need a tenant administrator's approval. Ask an admin of the client's Microsoft 365 organization to open the app registration's API permissions page and choose Grant admin consent.
- In TaskJuice, open Settings > Integrations > OAuth clients and add the client ID and secret for Microsoft Teams, ticking the same permissions.
- Add a Microsoft Teams step to a workflow and choose Connect from the step. Sign in with the client's work or school account and approve the permissions.
| Permission | Admin approval | What it unlocks |
|---|---|---|
ChannelMessage.Send | No | Posting and replying in channels, cards and @mentions |
ChannelMessage.Read.All | Yes | Reading channel messages and the channel message triggers |
ChannelMessage.ReadWrite | Yes | Editing and deleting channel messages |
ChatMessage.Send, Chat.ReadWrite | No | Sending, editing and deleting chat messages |
Chat.Read, Chat.ReadBasic, Chat.Create | No | Reading chats, the chat triggers and starting new chats |
ChatMember.ReadWrite | Yes | Adding and removing chat members |
Team.ReadBasic.All, Channel.ReadBasic.All | No | Team and channel pickers and lookups |
Team.Create, Channel.Create, Channel.Delete.All | Varies | Creating teams, creating and deleting channels |
TeamSettings.ReadWrite.All, ChannelSettings.ReadWrite.All | Yes | Updating and archiving teams and channels |
TeamMember.Read.All, TeamMember.ReadWrite.All, TeamMember.ReadWriteNonOwnerRole.All | Yes | Team members, owners and the New Team Member trigger |
ChannelMember.Read.All, ChannelMember.ReadWrite.All | Yes | Private and shared channel membership |
TeamworkTag.Read, TeamworkTag.ReadWrite | Yes | Tags and @tag mentions |
Group.ReadWrite.All, GroupMember.ReadWrite.All | Yes | Creating Microsoft 365 groups, deleting teams, group members |
OnlineMeetings.ReadWrite | No | Creating, updating and deleting Teams meetings |
OnlineMeetings.Read | No | Getting a meeting and finding one by its join link |
OnlineMeetingTranscript.Read.All, OnlineMeetingRecording.Read.All | Yes | Meeting transcripts and recordings |
CallTranscripts.Read.All, CallRecordings.Read.All | Yes | Ad hoc call transcripts and recordings |
Presence.ReadWrite, Presence.Read.All | No | Setting your status and reading colleagues' presence |
Presence.Read | No | Reading your own presence |
Tasks.Read, Tasks.ReadWrite | No | Reading, creating, updating and deleting Planner tasks |
User.ReadBasic.All | No | The person picker, Search Users and Find User by Email |
User.ReadWrite | No | Update About Me on your own profile |
offline_access | No | Keeps the connection working without signing in again |
Microsoft only offers the Teams API for work or school accounts. Personal Microsoft accounts are not supported.
Triggers
- New Channel Message fires for each new top-level message in a channel.
- New Channel Message with Mention fires for each new top-level channel message that @mentions a person, tag, channel or team. Mentions inside thread replies do not fire it. Add a condition on the mentioned person to act only on mentions of one user.
- New Reply in Channel Thread fires for each new reply in one thread.
- New Chat Message fires for each new message in a 1:1, group or meeting chat.
- New Chat fires when a chat you belong to is created.
- New Channel fires when a channel is created in a team.
- New Team fires when you create or are added to a team.
- New Team Member fires when someone joins a team.
Message triggers skip system notices (someone added, a chat renamed) and deleted messages. Editing a message never fires it again.
Actions
Messages. Send Channel Message, Send Chat Message, Reply to Channel Message, Send Channel Message with Mention, Send Channel Message with Tag Mention, Send Chat Message with Mention, Send Adaptive Card to Channel, Send Adaptive Card to Chat, Reply with Adaptive Card, Update Channel Message, Update Chat Message, Delete Channel Message, Delete Chat Message, Get and List Channel Messages, List Message Replies, Get and List Chat Messages.
Teams. Create Team, Create Team from Group, Create Microsoft 365 Group, Get Team, Update Team, Archive Team, Unarchive Team, Delete Team, List Joined Teams, List All Teams, List Associated Teams.
Team members. Add Team Member, Remove Team Member, Make Team Owner, Remove Team Owner Role, List Team Members, Add Member to Group.
Channels. Create Channel, Get Channel, Update Channel, Archive Channel, Unarchive Channel, Delete Channel, List Channels, List All Channels, List Channel Members, Add Channel Member, Remove Channel Member.
Chats. Create Chat, Get Chat, List Chats, Rename Chat, List Chat Members, Add Chat Member, Remove Chat Member.
Tags. Create Tag, Get Tag, Update Tag, Delete Tag, List Tags, List Tag Members, Add Tag Member, Remove Tag Member.
Meetings. Create Online Meeting, Create or Get Online Meeting, Get Online Meeting, Find Online Meeting by Join URL, Update Online Meeting, Delete Online Meeting, List Meeting Transcripts, Get Meeting Transcript Text, List Meeting Recordings, Download Meeting Recording, List Ad Hoc Call Transcripts, Get Ad Hoc Call Transcript Text, List Ad Hoc Call Recordings.
Planner. List Planner Tasks, Get Planner Task, Create Planner Task, Update Planner Task, Delete Planner Task, for the plans in a team.
People and presence. Search Users, Get User, Find User by Email, Get My Presence, Get User Presence, Set My Status, Clear My Status, Set Status Message, Update About Me.
Known limitations
- Trigger timing. Microsoft asks apps to check Teams for changes at most once a day and to rely on its change notifications instead. New Channel, New Chat, New Team and New Team Member therefore check once a day. The message triggers check every few minutes by default.
- Posting as a bot. Actions post as the connected person, not as a bot. Bot-only Teams features are not available: waiting for someone to respond to an Adaptive Card, and posting as a Flow-style bot.
- @mentions. The mention actions mention one person or one tag per message. To mention several people, send the mention message once per person, or use Send Channel Message with your own
mentionslist. - Asynchronous creation. Create Team and creating a shared channel finish in the background. The step returns the new team's address in the
Content-Locationheader rather than the full team. - Recordings and transcripts. These are available only for meetings the connected person organized that are tied to a calendar event, and only when recording or transcription was turned on.
- Planner edits. Update Planner Task and Delete Planner Task need the task's current version (
@odata.etagfrom Get Planner Task), so Planner can refuse a change to a task someone edited in the meantime. - Rate limits. Microsoft applies per-app and per-tenant rate limits. When Teams answers "too many requests", the step is retried after the wait Microsoft asks for.