Forum Discussion
Getting a 401 when trying to create a conversation
@Euregan - If you're trying to send a proactive message to a Microsoft Teams channel using the Node.js Bot Framework SDK and you're getting a 401 Unauthorized error, it usually means there's a problem with authentication or permissions. Here's a simple checklist to help you troubleshoot:
1.Make sure your bot’s Azure AD app registration has the right Microsoft Graph API permissions. You’ll need:
- ChannelMessage.Send
- Chat.ReadWrite
- Team.ReadBasic.All
- Group.Read.All
These should be application permissions (not delegated), and you must grant admin consent after adding them.
2.In your code, you're using:
MicrosoftAppTenantId: process.env.MS_CLIENT_ID,
This is likely incorrect. The MicrosoftAppTenantId should be your Azure AD tenant ID, not the client ID.
Please let us know if you are still facing this issue after troubleshooting.
Thanks for the swift reply!
I have changed the MicrosoftAppTenantId to use process.env.MS_TENANT_ID instead, and I have added three of the four permissions (Chat.ReadWrite, Team.ReadBasic.All, Group.Read.All) as application permissions. However, I can not add ChannelMessage.Send, as it is only available in delegated permissions.
This has not solved my issue, as I still get the same 401 response, "Authorization has been denied for this request."
- Nivedipa-MSFTMay 15, 2025
Microsoft
@Euregan - You can't create a new conversation in a public Teams channel using only an application token.
If you need to send messages to a public channel, follow these steps:
- Use a delegated token (via user sign-in) with ChannelMessage.Send.
- Ensure the bot is installed in the team, and capture a conversation reference when it’s first mentioned or added.
- Use that reference with continueConversationAsync() to send messages later.
- EureganMay 15, 2025Copper Contributor
Thanks for the reply, but I am a bit confused: Are you saying it is impossible in Teams to send a notification on a channel for a bot, for example when there is a security issue? The documentation is completely unclear about that.
- Nivedipa-MSFTMay 29, 2025
Microsoft
@Euregan - Using delegated token you can send a notification in public channel.