Skip to content

[Bug]: ValidationError on MessageActivity #563

Description

@jerbob92

Bug Description

It looks like this MR broke the bot integration for a few of our users. It seems that not all webhooks that currently go out have the required App info.

This is what the payload looks like:

{
  attachments: [
    {
      content: "<p>/stop</p>",
      contentType: "text/html"
    }
  ],
  channelId: "msteams",
  from: {
    aadObjectId: "xxx",
    id: "xxx",
    name: "xxx"
  },
  id: "xxx",
  localTimestamp: "2026-08-17T09:41:58.4117934+02:00",
  serviceUrl: "https://smba.trafficmanager.net/emea/xxx/",
  text: "/stop",
  textFormat: "plain",
  timestamp: "2026-08-17T07:41:58.4117934Z",
  type: "message"
}

As you can see, no App info.

Steps to Reproduce

  1. Message the bot (but I don't know how to exactly reproduce this).
  2. Get a validation error

Expected Behavior

No error.

Actual Behavior

Error:

1 validation error for tagged-union[TypingActivity,CommandSendActivity,CommandResultActivity,ConversationUpdateActivity,MessageActivity,MessageDeleteActivity,MessageReactionActivity,MessageUpdateActivity,tagged-union[ReadReceiptEventActivity,MeetingStartEventActivity,MeetingEndEventActivity,MeetingParticipantJoinEventActivity,MeetingParticipantLeaveEventActivity],tagged-union[FileConsentInvokeActivity,ExecuteActionInvokeActivity,MessageExtensionAnonQueryLinkInvokeActivity,MessageExtensionCardButtonClickedInvokeActivity,MessageExtensionFetchTaskInvokeActivity,MessageExtensionQueryInvokeActivity,MessageExtensionQueryLinkInvokeActivity,MessageExtensionQuerySettingUrlInvokeActivity,MessageExtensionSelectItemInvokeActivity,MessageExtensionSettingInvokeActivity,MessageExtensionSubmitActionInvokeActivity,ConfigFetchInvokeActivity,ConfigSubmitInvokeActivity,TabFetchInvokeActivity,TabSubmitInvokeActivity,TaskFetchInvokeActivity,TaskSubmitInvokeActivity,MessageFetchTaskInvokeActivity,MessageSubmitActionInvokeActivity,HandoffActionInvokeActivity,SignInTokenExchangeInvokeActivity,SignInVerifyStateInvokeActivity,SignInFailureInvokeActivity,AdaptiveCardInvokeActivity,SuggestedActionSubmitInvokeActivity,SearchInvokeActivity,HtmlWidgetCallToolInvokeActivity],tagged-union[InstalledActivity,UninstalledActivity]]
message.channelData.app.id
  Field required [type=missing, input_value={}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.13/v/missing

SDK Version

2.0.15

Python Version

3.14.7

Additional Context

No response

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions