Teams Proactive messaging with Bot Framework v4

Parra Rodriguez, Jaime 5 Reputation points
2025-02-18T13:43:20.44+00:00

Hi,

I'm developing a Teams Bot using the .NET Bot Framework SDK v4.

The purpose of the bot is to send proactive messages without the need of user interaction, it is a notification-only bot. I have read on the documentation that once the user has installed the bot and received the welcome message, the conversations should be stored, to be used on following notifications.

My question is, do I really need to store the conversations for my use case? I have tried creating a new conversation every time that I want to send a notification and it is working as well, so I don't feel the need to keep track of conversation references and handle possible errors related to them.

Is there any restriction or limitation associated to this implementation?

Thanks in advance!

Microsoft Teams
Microsoft Teams
A Microsoft customizable chat-based workspace.
10,898 questions
Microsoft Teams Development
Microsoft Teams Development
Microsoft Teams: A Microsoft customizable chat-based workspace.Development: The process of researching, productizing, and refining new or existing technologies.
3,580 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Sina Salam 18,201 Reputation points
    2025-02-18T20:18:23.96+00:00

    Hello Parra Rodriguez, Jaime,

    Welcome to the Microsoft Q&A and thank you for posting your questions here.

    I understand that you would like to know about restriction or limitation associated implementation of Teams Proactive messaging with Bot Framework v4.

    It's great to hear about your work on the Teams Bot! When sending proactive notifications, it's generally best practice to store conversation references. This approach ensures that your bot can reliably deliver messages without needing to recreate the conversation each time. However, if your current method of starting a new conversation each time is working, there are some important considerations to keep in mind:

    1. Creating new conversations repeatedly may lead to hitting rate limits or throttling by Microsoft Teams, particularly if you're sending a large volume of notifications. Be mindful of these restrictions to avoid service disruptions. - https://learn.microsoft.com/en-us/microsoftteams/platform/bots/how-to/conversations/send-proactive-messages
    2. Storing conversation references improves the consistency and reliability of message delivery. If your bot depends on initiating a new conversation each time, there's a risk of failures that could result in missed notifications. - https://www.vrdmn.com/2020/02/microsoft-bot-framework-v4-send.html
    3. Continuously generating new conversations can consume unnecessary processing power and storage, making the system less efficient over time. Using stored conversation references helps optimize resource usage. - https://learn.microsoft.com/en-us/answers/questions/2148385/how-to-implement-a-notification-only-bot-in-micros
    4. Sending notifications in separate conversation threads each time can lead to a disjointed experience for users. By keeping messages within the same thread, stored conversation references make it easier for users to track ongoing interactions. - https://learn.microsoft.com/en-us/azure/bot-service/bot-builder-howto-v4-state?view=azure-bot-service-4.0

    While your current approach may be working, considering these factors can help you improve scalability, efficiency, and user experience in the long run.

    I hope this is helpful! Do not hesitate to let me know if you have any other questions or clarifications.


    Please don't forget to close up the thread here by upvoting and accept it as an answer if it is helpful.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.