|
| 1 | +--- |
| 2 | +title: Embedding modern SharePoint pages to Microsoft Teams as personal apps (preview) |
| 3 | +description: SharePoint pages can be embedded to be visible in the Microsoft Teams as personal applications. |
| 4 | +ms.date: 06/05/2020 |
| 5 | +localization_priority: Priority |
| 6 | +--- |
| 7 | + |
| 8 | +# Embedding modern SharePoint pages to Microsoft Teams as personal apps (preview) |
| 9 | + |
| 10 | +You can use the Microsoft Teams personal app model to pin any modern SharePoint page to the left navigation in the Microsoft Team. This provides a great opportunity to expose intranet landing pages to serve corporate communication needs, directly accessible by Microsoft Teams users. Example scenarios could include: |
| 11 | + |
| 12 | +- Adding your corporate intranet landing page to the Microsoft Teams for easy discovery and access of news and content |
| 13 | +- Add Learning Pathways solution to Microsoft Teams left navigation to provide easy access on the learning materials |
| 14 | +- Add single page communications on important topics for your company |
| 15 | + |
| 16 | +Use the steps defined in this article on embedding any modern SharePoint Portal to Microsoft Teams for easily accessing the corporate communicational information from the Microsoft Teams. |
| 17 | + |
| 18 | + |
| 19 | + |
| 20 | +VIDEO |
| 21 | + |
| 22 | +You can embed any modern page on Microsoft Teams by creating a Teams Personal App and manually create the needed configuration for this custom setup. Be aware of the following considerations. |
| 23 | + |
| 24 | +- This capability is provided as a preview integration path until more native solution will be available |
| 25 | +- You must use a modern SharePoint site or page to make this work. Embedding classic publishing portals or other classic sites is not supported and will not work |
| 26 | +- A personal app exposing SharePoint sites and pages can be pinned to Microsoft Teams using normal app management capabilities, which can be also controlled centrally from the Microsoft Teams admin user interface |
| 27 | +- We do acknowledge that there are some experience gaps with this approach, including the following, which we are actively looking to address: |
| 28 | + - There is no navigation, headers, or footer visible natively on the embedded pages |
| 29 | + - Search initiated from the suite navigation bar will leverage existing Teams search results, not those configured for the pinned site |
| 30 | + - Content creation cannot be performed through the Microsoft Teams, rather will happen from the native SharePoint Online portal |
| 31 | +- All users accessing the target SharePoint page will need to have at least read permissions to access the target page |
| 32 | +- If a tenant, SharePoint site or page name or URL is changed, Teams Personal App manifest will need to be updated |
| 33 | +- If changes are made to the pinning model for modern SP pages or sites, it could require deletion of existing pinned personal apps and redeploying |
| 34 | + |
| 35 | +> [!IMPORTANT] |
| 36 | +> This option is provided as a preview integration path and can evolve with a requirement to delete the existing configuration and re-adding native solution. This will not however require recreation or deletion of any content from the Microsoft Teams or from SharePoint side. |
| 37 | +
|
| 38 | +## Embed SharePoint modern sites & pages into Microsoft Teams with App Studio |
| 39 | + |
| 40 | +We will be using following tags in the below steps, which you should be updating based on the SharePoint modern page or site, which you want to embed to Microsoft Teams: |
| 41 | + |
| 42 | +- [domainUrl] – Root URL of the ___domain |
| 43 | + - Example – https://contoso.sharepoint.com |
| 44 | +- [PageUrl] – Page, which should be shown in the tab relative to the root of the tenant |
| 45 | + - Example - /sites/theperspective/SitePages/Home.aspx |
| 46 | + |
| 47 | +> [!TIP] |
| 48 | +> If you are looking into creating a demo or sample content around this area, you can use the [https://lookbook.microsoft.com](https://lookbook.microsoft.com) service for creating sample portals for your usage. |
| 49 | +
|
| 50 | +You will need to use **App Studio** or other editor for creating the Microsoft Teams manifest file for the creating an app file with the necessary URLs to your SharePoint pages. Follow the next steps to complete the steps in App Studio. |
| 51 | + |
| 52 | +1. Navigate to Microsoft Teams |
| 53 | +1. Navigate to Teams store by clicking Apps on the Teams left menu |
| 54 | + |
| 55 | +  |
| 56 | + |
| 57 | +1. Use search to find App Studio |
| 58 | + |
| 59 | +  |
| 60 | + |
| 61 | +1. Install or open App Studio depending on whether you have previously installed the app. |
| 62 | + |
| 63 | +  |
| 64 | + |
| 65 | +1. Open App Studio |
| 66 | +1. Navigate to the Manifest editor tab |
| 67 | +1. Select Create a new app |
| 68 | +1. Provide required app information on the form |
| 69 | + 1. **Short name** – Company Intranet [use something descriptive that supports your scenario] |
| 70 | + 1. **Full name** – Contoso Intranet |
| 71 | + 1. Click **Generate** to randomize unique App ID |
| 72 | + 1. **Package Name** – com.contoso.portal.app – Use unique value here for your own setup |
| 73 | + 1. **Version** – 1.0.0 |
| 74 | + 1. **Description** – My first intranet application |
| 75 | + 1. **Full description** – My awesome intranet application to embed modern SharePoint to our Teams setup |
| 76 | + 1. **Developer Information - Name** – Your name |
| 77 | + 1. **Developer Information - Website** – Your web site – company web site or whatever is your preference |
| 78 | + 1. **Partner information** – Leave empty |
| 79 | + 1. **App URLs** – These could be pages in your portal, but you can randomize the value for this tutorial |
| 80 | + 1. **Terms of use** – Could be also a page in your portal, but let us use random value in this tutorial |
| 81 | + 1. **Branding** – These would be visible on the left navigation and in the app installation user interfaces. You can leave them as they are for the tutorial, but we absolutely recommend to update them for the official configuration |
| 82 | + 1. See branding guidance from the Microsoft Teams official documentation related on the image and outline settings. |
| 83 | + |
| 84 | +1. Navigate to Tabs under Capabilities |
| 85 | + |
| 86 | +  |
| 87 | + |
| 88 | +1. Click **Add** under the **Add a personal tab** |
| 89 | +1. Fill in the **Personal tab** details based on your own setup |
| 90 | + 1. **Name** – Intranet |
| 91 | + 1. **Entity ID** – 19991 (Use random number) |
| 92 | + 1. **Content URL** – https:// [domainUrl] /_layouts/15/teamslogon.aspx?SPFX=true&dest=[pageUrl] |
| 93 | + 1. Update provided URL based on your own tenant details. Example URL would be https://contoso.sharepoint.com/_layouts/15/teamslogon.aspx?SPFX=true&dest=/sites/theperspective/SitePages/Home.aspx |
| 94 | + 1. Used URL will need to be encoded to avoid issues on accessing is across different devices. |
| 95 | + 1. **Website URL** – You can leave this optional value empty |
| 96 | + |
| 97 | +1. Navigate to **Domains and Permissions** under **Finish** |
| 98 | + |
| 99 | +  |
| 100 | + |
| 101 | +1. Make sure that **Domains from your tabs** has your ___domain on it |
| 102 | + 1. Example ___domain value `contoso.sharepoint.com` |
| 103 | + |
| 104 | +1. Update **AAD App ID** as 00000003-0000-0ff1-ce00-000000000000 |
| 105 | +1. Include your ___domain URL to the **Single-Sign-On** value |
| 106 | + 1. Example value `https://contoso.sharepoint.com` |
| 107 | + |
| 108 | +  |
| 109 | + |
| 110 | +1. Navigate to **Test and distribute** under **Finish** |
| 111 | + |
| 112 | +  |
| 113 | + |
| 114 | +1. Install the solution to your usage by clicking **Install** |
| 115 | + 1. This will enable you to test the configuration and validate the solution setup |
| 116 | + |
| 117 | +  |
| 118 | + |
| 119 | +1. Click **Add** to install the application to your personal usage from the App Studio |
| 120 | + |
| 121 | +  |
| 122 | + |
| 123 | +1. Verify that the application is working based on your objectives in both web and desktop. |
| 124 | + |
| 125 | +  |
| 126 | + |
| 127 | +Notice that you can modify the settings by going back to the **App Studio** and edit the manifest by using the **Manifest editor**. |
| 128 | + |
| 129 | +You can deploy the portal configuration available for your company employees by downloading the manifest from the **App Studio** and publishing it to be available from your company catalog. |
| 130 | + |
| 131 | + |
| 132 | +> [!IMPORTANT] |
| 133 | +> To be able to deploy this solution to your tenant for other users, you will need to have sufficient permissions to perform the app deployment to your tenant Microsoft Teams app catalog. |
| 134 | +
|
| 135 | +## Sample manifest of the solution |
| 136 | + |
| 137 | +If you download the solution file from the App Studio and see the detailed configuration of the manifest file, it has the following configurations to enable it work properly in web and in desktop modes. |
| 138 | + |
| 139 | +```json |
| 140 | +{ |
| 141 | + "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.6/MicrosoftTeams.schema.json", |
| 142 | + "manifestVersion": "1.6", |
| 143 | + "version": "1.0.0", |
| 144 | + "showLoadingIndicator": false, |
| 145 | + "id": "7ad6f150-cba8-4c39-81ce-c4da8e4100d9", |
| 146 | + "packageName": "com.contoso.portal.app", |
| 147 | + "developer": { |
| 148 | + "name": "Portal App", |
| 149 | + "websiteUrl": "https://www.contoso.com", |
| 150 | + "privacyUrl": "https://www.contoso.com/privacy", |
| 151 | + "termsOfUseUrl": "https://www.contoso.com/temsofuse" |
| 152 | + }, |
| 153 | + "icons": { |
| 154 | + "color": "color.png", |
| 155 | + "outline": "outline.png" |
| 156 | + }, |
| 157 | + "name": { |
| 158 | + "short": "Portal App", |
| 159 | + "full": "Our modern portal" |
| 160 | + }, |
| 161 | + "description": { |
| 162 | + "short": "My first portal application", |
| 163 | + "full": "My awesome portal application to embed modern SharePoint to our Teams setup" |
| 164 | + }, |
| 165 | + "accentColor": "#FFFFFF", |
| 166 | + "staticTabs": [ |
| 167 | + { |
| 168 | + "entityId": "19991", |
| 169 | + "name": "Portal", |
| 170 | + "contentUrl": "https://contoso.sharepoint.com/_layouts/15/teamslogon.aspx?SPFX=true&dest=/sites/theperspective/SitePages/Home.aspx", |
| 171 | + "scopes": [ |
| 172 | + "personal" |
| 173 | + ] |
| 174 | + } |
| 175 | + ], |
| 176 | + "permissions": [ |
| 177 | + "identity", |
| 178 | + "messageTeamMembers" |
| 179 | + ], |
| 180 | + "validDomains": [ |
| 181 | + "m365pnp.sharepoint.com" |
| 182 | + ], |
| 183 | + "webApplicationInfo": { |
| 184 | + "id": "00000003-0000-0ff1-ce00-000000000000", |
| 185 | + "resource": "https://contoso.sharepoint.com" |
| 186 | + } |
| 187 | +} |
| 188 | +``` |
| 189 | + |
| 190 | +## Controlling app visibility in Microsoft Teams |
| 191 | + |
| 192 | +You can also publish the app to be visible by default for all employees in your tenant by using the Teams app setup policies in the Microsoft Teams admin center. This provides you options to control which apps are visible to which users. NOTE: App policies do not apply to Guests of the tenant. |
| 193 | + |
| 194 | + |
| 195 | + |
| 196 | +See more information on these options from the office Microsoft Teams documentation. |
| 197 | + |
| 198 | +- [Manage app setup policies in Microsoft Teams](https://docs.microsoft.com/en-us/microsoftteams/teams-app-setup-policies) |
| 199 | + |
| 200 | +## See also |
| 201 | + |
| 202 | +- [Topic 1](#) |
| 203 | +- [Topic 1](#) |
| 204 | +- [Topic 1](#) |
0 commit comments