Search code examples
botframeworkmicrosoft-teams

Search Message Extension Works in Teams but not in Outlook


I have a teams application which includes a bot, which works across Teams, Outlook and Microsoft 365. I am adding search messaging extensions to it. The search messaging extension works well within Teams, but in Outlook I receive an error message "Something went wrong".

Error message in outlook

Looking at the traffic via Fiddler provides an unhelpful error message: Unhelpful Fiddler error message

Looking at my webserver traffic I don't believe this request is ever reaching my bot.

I suspect the issue may be to do with the bot channels. This guide implies I need to add the "Microsoft 365 Extensions" channel. However this does not appear as an available channel for my bot via the Azure Bot Services portal:

Microsoft 365 Extensions Channel is not in the list

My bot does not appear in the Bot Framework portal which the guide mentions as an alternative to Azure Bot Services Portal.

Additional Info:

  • The rest of the Teams app (Tabs) does appear and work in outlook, only the message extension fails.
  • The Teams app manifest.json file is at version 1.16
  • The bot "Schema Transformation Version" is at 1.3
  • All the suggested client ID's have already been added to the "Expose an API" section of the app registration

Schema Transformation Version

manifest.json Version

ClientIDs


Solution

  • This problem was due to the Data Residency region the bot was deployed in. The bot was deployed in the "West Europe" region. I had this set to "West Europe", I suspect a similar issue exists for the other non global region "Central India".

    This limitation is alluded to but not specifically called out in the data residency tool-tip:

    Data Residency Tool-tip

    Once deployed the data residency cannot be changed, in the end I had to delete and re-create the bot and select "Global" data residency. The Outlook and Microsoft 365 channels are then available to the bot.

    Only the Microsoft 365 channel is needed to get compose extensions working in outlook.