Hi JürgenH,
Thank you for posting your question in the Microsoft Q&A forum.
Based on what I understand and what I’ve been able to verify, let me clarify a few points and share some practical troubleshooting steps:
1) About TeamsFx deprecation and your error path
- You’re right that
TeamsFxSDK is in deprecation and Microsoft recommends migrating to the Teams SDK (for Teams‑only apps) or the Microsoft 365 Agents SDK (for multi‑channel/agent scenarios). Deprecation here means no new feature work or official support; however, the SDK still exists, is widely used by the community, and there is a lot of documentation and samples around it. - The exception you’re seeing is thrown in
adapter.ContinueConversationAsync(...), which belongs to the Bot Framework layer / adapter, not toTeamsFxitself. Moreover, the signature you quotedIChannelAdapter.ContinueConversationAsync(string, ConversationReference, AgentCallbackHandler, CancellationToken)maps to the new Microsoft 365 Agents SDK surface (noticeIChannelAdapterandAgentCallbackHandler), rather thanTeamsFx. Could you confirm this matches the stack and package versions you’re using?
This strongly suggests the issue is may not caused by TeamsFx deprecation. The behavior you’re hitting is unexpected for proactive messaging on the adapter layer.
2) Any recent service‑side changes?
I couldn't find any public notice that proactive messaging has been disabled or changed service‑side for Teams bots. I’m also not seeing similar widespread reports from other users at this time. This points to something environment‑specific or SDK/configuration related rather than a platform retirement.
3) Practical troubleshooting for the NullReferenceException
From past cases and samples, the following have been common causes and fixes:
- App ID / configuration value is null at runtime
If your code path previously called the overload withstring appId, please ensure the value is actually present in your environment (e.g.,MicrosoftAppIdor the correct setting name in your host). - Refresh or minimally reconstruct the
ConversationReference
Even if you persisted anConversationReferenceobject that looks valid, the storedserviceUrlcan become stale over time. A suggestion is to store the minimal set of properties (e.g.,serviceUrl,channelId,conversation.id,user.id,bot.id) and reconstruct a newConversationReferencewhen needed, or re‑capture it from a recent user turn. Also, try testing with a new capturedConversationReferencefrom new activity to see if the issue still persists.
4) On the stability of the newer SDKs
For new development, Microsoft’s current guidance is to use Teams SDK (Teams‑only) or Microsoft 365 Agents SDK (multi‑channel). Although these SDKs are newer and some areas still have fewer samples than the old stack, they are the officially supported path and will continue to receive fixes and updates, which is the right direction for long‑term stability.
I hope the information above helpful. If you have any further questions, please feel free to ask.
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.