Skip to main content

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.

  1. In the Microsoft Entra admin center, open App registrations and create a registration that accepts accounts in any organizational directory.
  2. 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).
  3. 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.
  4. In TaskJuice, open Settings > Integrations > OAuth clients and add the client ID and secret for Microsoft Teams, ticking the same permissions.
  5. 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.
PermissionAdmin approvalWhat it unlocks
ChannelMessage.SendNoPosting and replying in channels, cards and @mentions
ChannelMessage.Read.AllYesReading channel messages and the channel message triggers
ChannelMessage.ReadWriteYesEditing and deleting channel messages
ChatMessage.Send, Chat.ReadWriteNoSending, editing and deleting chat messages
Chat.Read, Chat.ReadBasic, Chat.CreateNoReading chats, the chat triggers and starting new chats
ChatMember.ReadWriteYesAdding and removing chat members
Team.ReadBasic.All, Channel.ReadBasic.AllNoTeam and channel pickers and lookups
Team.Create, Channel.Create, Channel.Delete.AllVariesCreating teams, creating and deleting channels
TeamSettings.ReadWrite.All, ChannelSettings.ReadWrite.AllYesUpdating and archiving teams and channels
TeamMember.Read.All, TeamMember.ReadWrite.All, TeamMember.ReadWriteNonOwnerRole.AllYesTeam members, owners and the New Team Member trigger
ChannelMember.Read.All, ChannelMember.ReadWrite.AllYesPrivate and shared channel membership
TeamworkTag.Read, TeamworkTag.ReadWriteYesTags and @tag mentions
Group.ReadWrite.All, GroupMember.ReadWrite.AllYesCreating Microsoft 365 groups, deleting teams, group members
OnlineMeetings.ReadWriteNoCreating, updating and deleting Teams meetings
OnlineMeetings.ReadNoGetting a meeting and finding one by its join link
OnlineMeetingTranscript.Read.All, OnlineMeetingRecording.Read.AllYesMeeting transcripts and recordings
CallTranscripts.Read.All, CallRecordings.Read.AllYesAd hoc call transcripts and recordings
Presence.ReadWrite, Presence.Read.AllNoSetting your status and reading colleagues' presence
Presence.ReadNoReading your own presence
Tasks.Read, Tasks.ReadWriteNoReading, creating, updating and deleting Planner tasks
User.ReadBasic.AllNoThe person picker, Search Users and Find User by Email
User.ReadWriteNoUpdate About Me on your own profile
offline_accessNoKeeps 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 mentions list.
  • Asynchronous creation. Create Team and creating a shared channel finish in the background. The step returns the new team's address in the Content-Location header 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.etag from 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.
Was this helpful?