Outlook Add-in Fails to Update via Office 365 Admin Center Despite Passing Validation and Working Locally

Serhii Mytrokhin 15 Reputation points
2025-07-30T22:46:21.6033333+00:00

I'm trying to update my Outlook add-in through the Office 365 admin center. The plugin manifest file I'm using was successfully used several months ago, and I was able to update the add-in without any issues at that time. I've made some minor changes - mostly URLs - and now I'm getting an error when trying to update it.

I ran the manifest validation tool, and it reported no errors. I installed the add-in on my local machine in Outlook, and it works

Any idea what it could be?

On the UI, it shows:

"Upload failed. Please check the manifest file and try again."

In the browser dev tools, I see the following:

{   "appDetail": null,   "returnedWorkloads": null,   "errorMessage": "[\"Exception thrown when extracting the given manifest\"] Error Response : , Error Message : , Response Headers : {\r\n  \"X-Frame-Options\": [\r\n    \"SAMEORIGIN\"\r\n  ],\r\n  \"X-DEPLOYMENT-ID\": [\r\n    \"2e22ae46-59b7-4232-8d99-2459ed635a6c\"\r\n  ],\r\n  \"x-ms-correlation-id\": [\r\n    \"52e082a7-c0de-4c6c-a89f-c51842e47d2e\"\r\n  ],\r\n  \"X-Content-Type-Options\": [\r\n    \"nosniff\"\r\n  ],\r\n  \"X-UA-Compatible\": [\r\n    \"IE=Edge\"\r\n  ],\r\n  \"X-Cache\": [\r\n    \"CONFIG_NOCACHE\"\r\n  ],\r\n  \"X-MSEdge-Ref\": [\r\n    \"Ref A: 63A102129DD042DC822B02D43B474F36 Ref B: BL2AA2030108007 Ref C: 2025-07-30T15:04:53Z\"\r\n  ]\r\n}",   "statusCode": "WxpoFailureError",   "statusCodeCategory": "WXPO" }

Manifest file:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0" xmlns:mailappor="http://schemas.microsoft.com/office/mailappversionoverrides/1.0" xsi:type="MailApp">
    <Id>c6a9e8cd-239f-49c8-add4-2abd293b93ba</Id>
    <Version>1.0.5.0</Version>
    <ProviderName>Provider</ProviderName>
    <DefaultLocale>en-US</DefaultLocale>
    <DisplayName DefaultValue="[DEV] name"/>
    <Description DefaultValue="description"/>
    <IconUrl DefaultValue="https://HOST.com/assets/media/icon-64.png"/>
    <HighResolutionIconUrl DefaultValue="https://HOST.com/assets/media/icon-128.png"/>
    <SupportUrl DefaultValue="https://HOST.com"/>
    <AppDomains>
        <AppDomain>https://HOST.com</AppDomain>
    </AppDomains>
    <Hosts>
        <Host Name="Mailbox"/>
    </Hosts>

    <Requirements>
        <Sets>
            <Set Name="Mailbox" MinVersion="1.1"/>
        </Sets>
    </Requirements>

    <FormSettings>
        <Form xsi:type="ItemRead">
            <DesktopSettings>
                <SourceLocation DefaultValue="https://HOST.com/index.html"/>
                <RequestedHeight>250</RequestedHeight>
            </DesktopSettings>
        </Form>
    </FormSettings>

    <Permissions>ReadWriteItem</Permissions>

    <Rule xsi:type="RuleCollection" Mode="Or">
        <Rule xsi:type="ItemIs" ItemType="Message" FormType="Read"/>
    </Rule>

    <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
        <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
            <Requirements>
                <bt:Sets DefaultMinVersion="1.3">
                    <bt:Set Name="Mailbox"/>
                </bt:Sets>
            </Requirements>

            <Hosts>
                <Host xsi:type="MailHost">

                    <DesktopFormFactor>
                        <SupportsSharedFolders>true</SupportsSharedFolders>
          
                        <ExtensionPoint xsi:type="AppointmentOrganizerCommandSurface">
                            <OfficeTab id="TabDefault">
                                <Group id="msgComposeGroup">
                                    <Label resid="GroupLabel"/>
         

                                    <Control xsi:type="Button" id="msgComposeOpenPaneButton">
                                        <Label resid="OfficeTaskpaneBtn.Label"/>
                                        <Supertip>
                                            <Title resid="OfficeTaskpaneBtn.Label"/>
                                            <Description resid="OfficeTaskpaneBtn.Tooltip"/>
                                        </Supertip>
                                        <Icon>
                                            <bt:Image size="16" resid="Icon.16x16"/>
                                            <bt:Image size="32" resid="Icon.32x32"/>
                                            <bt:Image size="80" resid="Icon.80x80"/>
                                        </Icon>
                                        <Action xsi:type="ShowTaskpane">
                                            <SourceLocation resid="OfficeTaskpane.Url"/>
                                        </Action>
                                    </Control>
                                </Group>
                            </OfficeTab>
                        </ExtensionPoint>

                    </DesktopFormFactor>
                </Host>
            </Hosts>

            <Resources>
                <bt:Images>
                    <bt:Image id="Icon.16x16" DefaultValue="https://HOST.com/assets/media/icon-16.png"/>
                    <bt:Image id="Icon.32x32" DefaultValue="https://HOST.com/assets/media/icon-32.png"/>
                    <bt:Image id="Icon.80x80" DefaultValue="https://HOST.com/assets/media/icon-80.png"/>
                </bt:Images>
                <bt:Urls>
                    <bt:Url id="OfficeTaskpane.Url" DefaultValue="https://HOST.com/index.html?view=Grid"/>
                </bt:Urls>
                <bt:ShortStrings>
                    <bt:String id="GroupLabel" DefaultValue="$TEXT$"/>
                    <bt:String id="OfficeTaskpaneBtn.Label" DefaultValue="$TEXT$"/>
                </bt:ShortStrings>
                <bt:LongStrings>
                    <bt:String id="OfficeTaskpaneBtn.Tooltip" DefaultValue="$TEXT$"/>
                </bt:LongStrings>
            </Resources>

        </VersionOverrides>
    </VersionOverrides>
</OfficeApp>

Microsoft 365 and Office | Development | Office JavaScript API
{count} votes

16 answers

Sort by: Most helpful
  1. Serhii Mytrokhin 15 Reputation points
    2025-07-31T14:56:45.4033333+00:00

    It's neither the nested VersionOverrides nor the URLs. I tested all the URLs — they all return 200 OK. When I remove the nesting, it shows an error that the manifest is invalid

    I found the manifest file I used several months ago for the update — exactly the same one, just with a bumped version. I'm still getting the error, so something must have changed.

    Can't find any notes or updates from Microsoft about those changed

    1 person found this answer helpful.

  2. Ethan Vaughan 5 Reputation points
    2025-08-04T10:29:17.8033333+00:00

    It seems that this issue has been fixed. I was able to successfully upload a manifest file on the Integrated Apps page in the Microsoft admin center.

    1 person found this answer helpful.
    0 comments No comments

  3. Tony Chung 0 Reputation points
    2025-07-31T02:19:50.9566667+00:00

    I am experiencing the same problem as well. It was working yesterday, and when I tried the same thing today I am not receiving that error.

    Assuming some additional tags needs to be inserted for the CORS stuff?


  4. Michelle-N 3,580 Reputation points Microsoft External Staff Moderator
    2025-07-31T08:52:55.9766667+00:00

    Hi @Serhii Mytrokhin

    Thank you for reaching out to the Microsoft Q&A Forum.

    Based on your description and the manifest file provided, I understand that you're facing an upload failure in the Office 365 admin center when updating an Outlook add-in, even though the manifest validates locally and the add-in works when sideloaded.

    After reviewing your manifest file, I've identified a likely cause for the error along with a crucial point to verify. Here are the workarounds you can try.

    1. Fix the Nested VersionOverrides Element

    Your manifest has a VersionOverrides element nested inside another VersionOverrides element. The server-side validation in the admin center is often stricter than local tools and will reject this structure. You should only have one VersionOverrides element. Your current structure:    

    ... 
    <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0"> <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">           
    ...
    </VersionOverrides> 
    </VersionOverrides>    
    ...
    

    Pleasy try to remove the outer VersionOverridesV1_0 tag and keep the VersionOverridesV1_1 tag. The structure should look like this:  

     ... 
    <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1"> 
    <Requirements> 
    <bt:Sets DefaultMinVersion="1.3"> 
    <bt:Set Name="Mailbox"/> 
    </bt:Sets> 
    </Requirements> 
    <Hosts>            
    ... 
    </Hosts> 
    <Resources>            
    ... 
    </Resources> 
    </VersionOverrides>    
    ... 
    
    1. Please verify All URLs

    Since you mentioned you recently changed some URLs, it's critical to ensure they meet the requirements for deployment through the admin center. The server needs to access these URLs during validation. Please check that every URL in your manifest (IconUrl, SourceLocation, SupportUrl, and all URLs in the <Resources> section) meets the following criteria:

    Uses HTTPS: All URLs must be secure and start with https://.

    Publicly Accessible: The URLs must be reachable from the internet. They cannot be on localhost or behind a firewall/VPN that would block Microsoft's servers. A good test is to open the icon URLs in a private or incognito browser window to ensure they load without any authentication.

    No Redirects: The URLs should return a 200 OK status. Redirects (like 301 or 302) can cause validation to fail. Please give those troubleshooting steps a try. 


    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.


  5. Martin H 0 Reputation points
    2025-07-31T18:26:41.58+00:00

    Same problem (and error message) here with an updated Word add-in. The local validation is successful. In the manifest, only the Version field was updated.

    It seems the upload is completely broken. Please escalate this.

    0 comments No comments

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.