SOLVED

Manifest issue with:No-code solution to expose SharePoint pages in Microsoft Teams as a personal app

%3CLINGO-SUB%20id%3D%22lingo-sub-1503376%22%20slang%3D%22en-US%22%3EIssue%20when%20trying%20thNo-code%20solution%20to%20expose%20SharePoint%20pages%20in%20Microsoft%20Teams%20as%20a%20personal%20app%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1503376%22%20slang%3D%22en-US%22%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20have%20been%20trying%20out%20Vesa's%26nbsp%3B%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DG73jxqtjuIE%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%20noopener%20noreferrer%22%3ENo-code%20solution%20to%20expose%20SharePoint%20pages%20as%20a%20personal%20app%3C%2FA%3E%26nbsp%3B%20.%20In%20my%26nbsp%3B%20version%20of%20App%20Studio%20running%20in%20the%20web%20client%2C%20the%20system%20auto%20creates%20and%20about%20tab.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Personal%20App%20Tabs.PNG%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F202965iD2D8B0F91F713DD2%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20title%3D%22Personal%20App%20Tabs.PNG%22%20alt%3D%22Personal%20App%20Tabs.PNG%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EThe%20intranet%20tab%20is%20as%20per%20the%20video%2C%20albeit%20a%20page%20on%20my%20dev%20tenant.%26nbsp%3B%20Unfortunately%2C%20the%26nbsp%3B%20about%20tab%20is%20non%20editable%20and%20can't%20be%20deleted%20in%20the%20UI%20.%20When%20I%20try%20to%20upload%20the%20application%20file%2C%20I%20get%20the%20following%20error%3A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-powershell%22%3E%3CCODE%3EError%20while%20reading%20manifest.json%3A%20%22staticTabs%5B0%5D.name%22%20is%20required%20%0A%20%22staticTabs%5B0%5D.contentUrl%22%20is%20required%20%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3EWhen%20I%20extact%20the%20manifest%20file%2C%20I%20can%20remove%20the%20About%20entry%20(%20see%20below)%20but%20this%20causes%20an%20exception.%26nbsp%3B%20Is%20there%20something%20I%20am%20missing.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-json%22%3E%3CCODE%3E%20%20%7D%2C%0A%20%20%20%20%22name%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%22short%22%3A%20%22Company%20intranet%22%2C%0A%20%20%20%20%20%20%20%20%22full%22%3A%20%22Company%20Intranet%22%0A%20%20%20%20%7D%2C%0A%20%20%20%20%22description%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%22short%22%3A%20%22My%20great%20intranet%20app%22%2C%0A%20%20%20%20%20%20%20%20%22full%22%3A%20%22Demo%20of%20the%20intranet%20which%20I%20surface%20as%20a%20personal%20app%22%0A%20%20%20%20%7D%2C%0A%20%20%20%20%22accentColor%22%3A%20%22%23267938%22%2C%0A%20%20%20%20%22staticTabs%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22entityId%22%3A%20%22about%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22scopes%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22personal%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22entityId%22%3A%20%221010%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22name%22%3A%20%22Intranet%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22contentUrl%22%3A%20%22https%3A%2F%2Fmytenant.sharepoint.com%2F_layouts%2F15%2Fteamslogon.aspx%3FSPFX-%3Dtrue%40dest%3D%2Fsites%2FDemoTheLanding%2FSitePages%2Fhome.aspx%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22scopes%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22personal%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%2C%0A%20%20%20%20%22permissions%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22identity%22%2C%0A%20%20%20%20%20%20%20%20%22messageTeamMembers%22%0A%20%20%20%20%5D%2C%0A%20%20%20%20%22validDomains%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%22mytenant.sharepoint.com%22%0A%20%20%20%20%5D%2C%0A%20%20%20%20%22webApplicationInfo%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%22id%22%3A%20%2200000003-0000-0ff1-ce00-000000000000%22%2C%0A%20%20%20%20%20%20%20%20%22resource%22%3A%20%22https%3A%2F%2Fmytenant.sharepoint.com%22%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1503376%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EMicrosoft%20Teams%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E
Highlighted
Regular Contributor

 

I have been trying out Vesa's  No-code solution to expose SharePoint pages as a personal app  . In my  version of App Studio running in the web client, the system auto creates and about tab.

 

Personal App Tabs.PNG

The intranet tab is as per the video, albeit a page on my dev tenant.  Unfortunately, the  about tab is non editable and can't be deleted in the UI . When I try to upload the application file, I get the following error:

 

 

 

Error while reading manifest.json: "staticTabs[0].name" is required 
 "staticTabs[0].contentUrl" is required 

 

 

When I extact the manifest file, I can remove the About entry ( see below) , re-assemble the package and upload again . However, this just generates an exception.  Is there something I am missing and, or have outstanding demo god debts :thinking_face:?

 

 

 

  },
    "name": {
        "short": "Company intranet",
        "full": "Company Intranet"
    },
    "description": {
        "short": "My great intranet app",
        "full": "Demo of the intranet which I surface as a personal app"
    },
    "accentColor": "#267938",
    "staticTabs": [
        {
            "entityId": "about",
            "scopes": [
                "personal"
            ]
        },
        {
            "entityId": "1010",
            "name": "Intranet",
            "contentUrl": "https://mytenant.sharepoint.com/_layouts/15/teamslogon.aspx?SPFX-=true@dest=/sites/DemoTheLanding/SitePages/home.aspx",
            "scopes": [
                "personal"
            ]
        }
    ],
    "permissions": [
        "identity",
        "messageTeamMembers"
    ],
    "validDomains": [
        "mytenant.sharepoint.com"
    ],
    "webApplicationInfo": {
        "id": "00000003-0000-0ff1-ce00-000000000000",
        "resource": "https://mytenant.sharepoint.com"

 

 

 

 

 

 

 

7 Replies
Highlighted

@Daniel Westerdale 

I am too facing the same issue. This seems to be a recent issue with MS Teams. It is adding an extra non-editable "about" tag and causing the issue.

Highlighted
Best Response confirmed by ThereseSolimeno (Microsoft)
Solution

@Daniel Westerdale 

Update as staticTabs as below and re-upload the solution.

 

 "staticTabs": [
        {
            "entityId": "Home Tab",
            "name": "Home",
            "contentUrl": "https://<your-tenant>.sharepoint.com/_layouts/15/teamslogon.aspx?SPFX=true&dest=/sites/SPDemo",
            "websiteUrl": "https://<your-tenant>.sharepoint.com/sites/SPDemo",
            "scopes": [
                "personal"
            ]
        }
    ]

 

Highlighted

@NanddeepNachan 

 

Thanks for the suggestion. Unfortunately for me this hasn't worked:cry:

 

Tabs intranet failure.PNG

 

 

{
    "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.7/MicrosoftTeams.schema.json",
    "manifestVersion": "1.7",
    "version": "1.0.0",
    "id": "????",
    "packageName": "com.wsl.portal.app",
    "developer": {
        "name": "Coder 365",
        "websiteUrl": "https://westerdale.blog",
        "privacyUrl": "https://parkersplace.com/privacy",
        "termsOfUseUrl": "https://parkersplace.com/termsofuse"
    },
    "icons": {
        "color": "color.png",
        "outline": "outline.png"
    },
    "name": {
        "short": "Company intranet",
        "full": "Company Intranet"
    },
    "description": {
        "short": "My great intranet app",
        "full": "Demo of the intranet which I surface as a personal app"
    },
    "accentColor": "#267938",
    "staticTabs": [
        {
            "entityId": "Home Tab",
            "name": "Intranet",
            "contentUrl": "https://<my-tenant>.sharepoint.com/_layouts/15/teamslogon.aspx?SPFX=true@dest=/sites/DemoTheLanding",
            "websiteUrl": "https://<my-tenant>.sharepoint.com/sites/DemoTheLanding",
            "scopes": [
                "personal"
            ]
        }
    ],
    "permissions": [
        "identity",
        "messageTeamMembers"
    ],
    "validDomains": [
        "<my-tenant>.sharepoint.com"
    ],
    "webApplicationInfo": {
        "id": "00000003-0000-0ff1-ce00-000000000000",
        "resource": "https://<my-tenant>.sharepoint.com"
    }
}

 

 

If this only not working for me in this FR tenant then it is either the manifest or something else going on in my tenant e.g. the senstivity labels I have been recently testing.  Tomorrow I will repeat on my other tenant. 

 

Highlighted

@Daniel WesterdaleThe attached worked for me. You will have to edit the json replacing XXX as needed and read notes.

Highlighted

@Daniel Westerdale 

One thing I forgot to mention,

After you re-zip the package, don't import the zip in App Studio > Manifest editor > Import an existing app.

Rather, upload it as a custom app (like shown below) and it works.

upload_custom_app.png 

Highlighted

@NanddeepNachan 

 

Thanks for the advice.  I have only ever being uploaded the package file using the method you have suggested.  

Highlighted

@Steve Frank ,@NanddeepNachan 

 

Thank you both for steering me to a sucessful resolution. 

 

the issue is ....

 

 

 

  "contentUrl": "https://<my-tenant>.sharepoint.com/_layouts/15/teamslogon.aspx?SPFX=true@dest=/sites/DemoTheLanding",

 

 

 

Needs to be changed to

 

 

 

  "contentUrl": "https://<my-tenant>.sharepoint.com/_layouts/15/teamslogon.aspx?SPFX=true&dest=/sites/DemoTheLanding",

 

 

I think I introduced this typo :facepalm: .

 

However, does beg the question why I am not able to use the schema  in VSCode to stop me making these sort of mistakes.

 

 

 "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.7/MicrosoftTeams.schema.json",