Dissecting the Office 365 App Launcher to Add Your Own Links

08/01/2015

The Office 365 App Launcher was introduced in October 2014, with the idea of making it easier for people to navigate to the app they use most.

office365app_launcher
Only problem, it only support links to Azure AD Apps and the Office 365 applications that you have access to. But what if you want to add a link to another site, or an application that is not in the Azure AD? Currently there is no support for that, but I have looked closely at how the myapps page works, in order to do the same for custom links.

The myapps page contains a fair amount of javascript, but for our purpose the interesting aspect is that pinning and unpinning an app to the App Laucher all boils down to a POST request to the following endpoint. (Note you have to be logged in to Office 365, but that shouldn’t be a surprise).

https://outlook.office365.com/owa/service.svc?action=ProcessSuiteStorage

We can call this endpoint to get the currently pinned apps, and also pin new apps.

In order to do so we have to form the POST request with the correct headers and payload.

The required headers for getting the currently pinned apps are:
ContentType: application/json
X-OWA-CANARY: {Canary-Token}
action: ProcessSuiteStorage

I suspect that the {Canary-Token} token is needed to ensure that our request hits an OWA server that have the functionally deployed, as part of a canary release. I haven’t found an reliable way to get this token. The myapps page uses a cross domain iframe to grab it from a cookie on this page:
https://outlook.office365.com/owa/SuiteServiceProxy.aspx?exsvurl=1&realm=office365.com&returnUrl=https%3A%2F%2Fportal.office.com%2Fmyapps
Unfortunately that page is locked down to only accept cross domain calls from other Microsoft owned domains such as office.com, yammer.com and windowsazure.com.

Because of this obstacle I haven’t been able to create a user friendly way to add the links, but I tested that it’s indeed possible, by using the postman chrome extension.
ss_postman_applauncher

The body of there request should look like this:
[javascript]
{"Header":null,"Body":{"ReadSettings":[{"Scope":"User","Namespace":"Suite","Name":"AppsCustomizationDataTEST"},{"Scope":"User","Namespace":"Suite","Name":"AppsAuthenticatedImages"}],"WriteSettings":[]}}
[/javascript]

If you have a correct canary token, you will get a response like this:
[javascript]
{
"Header": {
"ServerVersionInfo": {
"MajorVersion": 15,
"MinorVersion": 1,
"MajorBuildNumber": 49,
"MinorBuildNumber": 19,
"Version": "V2_30"
}
},
"Body": {
"Settings": [
{
"Key": {
"Name": "AppsCustomizationDataTEST",
"Namespace": "Suite",
"Scope": "User"
},
"Value": "{\"Version\":1,\"Timestamp\":\"\\/Date(1420753195260)\\/\",\"PinnedApps\":[{\"AppType\":0,\"BackgroundColor\":\"#0072C6\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-outlooklogo\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22Mail%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"Mail\",\"LaunchFullUrl\":\"https://outlook.office365.com/owa/?realm=sjkpdevs.onmicrosoft.com&exsvurl=1&ll-cc=1030&modurl=0\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":null,\"Title\":\"Outlook\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#0072C6\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-calendar\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22Calendar%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"Calendar\",\"LaunchFullUrl\":\"https://outlook.office365.com/owa/?realm=sjkpdevs.onmicrosoft.com&exsvurl=1&ll-cc=1030&modurl=1\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":null,\"Title\":\"Kalender\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#0072C6\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-peoplelogo\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22People%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"People\",\"LaunchFullUrl\":\"https://outlook.office365.com/owa/?realm=sjkpdevs.onmicrosoft.com&exsvurl=1&ll-cc=1030&modurl=2\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":null,\"Title\":\"Personer\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#0072C6\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-newsfeed\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22Newsfeed%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"Newsfeed\",\"LaunchFullUrl\":\"https://sjkpdevs-my.sharepoint.com/default.aspx\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":null,\"Title\":\"Nyhedsstrøm\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#0072C6\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-cloud\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22Documents%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"Documents\",\"LaunchFullUrl\":\"https://sjkpdevs-my.sharepoint.com/_layouts/15/MySite.aspx?MySiteRedirect=AllDocuments\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":null,\"Title\":\"OneDrive\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#0072C6\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-sharepointlogo\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22Sites%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"Sites\",\"LaunchFullUrl\":\"https://sjkpdevs-my.sharepoint.com/_layouts/15/MySite.aspx?MySiteRedirect=AllSites\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":null,\"Title\":\"Websteder\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#0072C6\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-tasks\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22Tasks%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"Tasks\",\"LaunchFullUrl\":\"https://outlook.office365.com/owa/?realm=sjkpdevs.onmicrosoft.com&exsvurl=1&ll-cc=1030&modurl=3\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":null,\"Title\":\"Opgaver\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#2b579a\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-wordlogo\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22WordOnline%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"WordOnline\",\"LaunchFullUrl\":\"https://portal.office.com/NewSpoDocument?docType=Word\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":\"_blank\",\"Title\":\"Word Online\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#217346\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-excellogo\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22ExcelOnline%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"ExcelOnline\",\"LaunchFullUrl\":\"https://portal.office.com/NewSpoDocument?docType=Excel\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":\"_blank\",\"Title\":\"Excel Online\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#D24726\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-powerpointlogo\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22PowerPointOnline%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"PowerPointOnline\",\"LaunchFullUrl\":\"https://portal.office.com/NewSpoDocument?docType=PowerPoint\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":\"_blank\",\"Title\":\"PowerPoint Online\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#80397B\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-onenotelogo\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22OneNoteOnline%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"OneNoteOnline\",\"LaunchFullUrl\":\"https://portal.office.com/NewSpoDocument?docType=OneNote\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":\"_blank\",\"Title\":\"OneNote Online\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#58595B\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-office365adminlogo\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22Admin%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"Admin\",\"LaunchFullUrl\":\"https://portal.office.com/admin/default.aspx\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":null,\"Title\":\"Administrator\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":4,\"BackgroundColor\":null,\"CollectorId\":\"Graph\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":null,\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22Graph%22%2c%22Id%22%3a%22ee04f14a-b2c5-42f8-8cc6-33c896bab0a9%22%2c%22Properties%22%3a%5b%7b%22Key%22%3a%22ServicePrincipalAppId%22%2c%22Value%22%3a%220557254a-b061-4341-95c4-1bb897a02aa2%22%7d%5d%7d\",\"Id\":\"ee04f14a-b2c5-42f8-8cc6-33c896bab0a9\",\"LaunchFullUrl\":\"https://myapps.microsoft.com/signin/O365-WebApp-MultiTenant.Office365App/0557254ab061434195c41bb897a02aa2\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[{\"Key\":\"ServicePrincipalAppId\",\"Value\":\"0557254a-b061-4341-95c4-1bb897a02aa2\"}],\"Publisher\":\"sjkpdevs\",\"TargetWindow\":null,\"Title\":\"O365-WebApp-MultiTenant.Office365App\",\"Size\":2,\"IsNewGroup\":false}],\"PinnedAppsOnNavBar\":[],\"UnpinnedAppIds\":[\"Mail\"]}"
}
]
}
}
[/javascript]

The value property is a collection of all the apps you currently have pinned to the App Launcher.

If you want to pin a new application you create POST request similar to the request for getting the pinned apps, where the body should look like the big javascript sample at the very bottom of this post.

Basically the PinnedApps collection that you got needs to be posted back, but put in the WriteSettings property. If you want to add a new app you should make sure the Id is unique, the LaunchFullUrl can point to any url you like and set the Title to the name of your application and you can provide a custom icon with IconFullUrl.
Here is a sample of the javascript object for one application lives in Azure AD.
[javascript]
var a = {
"CollectorId": "Graph",
"AppType": "4",
"Id": "ee04f14a-b2c5-42f8-8cc6-33c896bab0a9",
"Title": "SIMON",
"ProductId": "00000000-0000-0000-0000-000000000000",
"Publisher": "sjkpdevs",
"IconAnonymousUrl": null,
"FontIconCss": null,
"TargetWindow": null,
"IconFullUrl": "",
"AppDataMinJson": "{\"CollectorId\":\"Graph\",\"Id\":\"ee04f14a-b2c5-42f8-8cc6-33c896bab0a9\",\"Properties\":[{\"Key\":\"ServicePrincipalAppId\",\"Value\":\"0557254a-b061-4341-95c4-1bb897a02aa2\"}]}",
"BackgroundColor": null,
"LaunchFullUrl": "",
"CustomActions": [{
"DisplayName": null,
"NavigateUrl": null,
"ActionVerb": "1"
}, {
"DisplayName": null,
"NavigateUrl": null,
"ActionVerb": "2"
}],
"Properties": ["[ServicePrincipalAppId, 0557254a-b061-4341-95c4-1bb897a02aa2]"],
"Size": 2,
"IsNewGroup": false
}
[/javascript]

Here’s another sample of the Administrator link added by Microsoft
[javascript]
{
"AppType": 0,
"BackgroundColor": "#58595B",
"CollectorId": "FirstParty",
"CustomActions": [{
"ActionVerb": 1,
"DisplayName": null,
"NavigateUrl": null
}, {
"ActionVerb": 2,
"DisplayName": null,
"NavigateUrl": null
}],
"FontIconCss": "wf-o365-office365adminlogo",
"IconAnonymousUrl": null,
"IconFullUrl": "https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22Collec3a%22FirstParty%22%2c%22Id%22%3a%22Admin%22%2c%22Properties%22%3a%5b%5d%7d",
"Id": "Admin",
"LaunchFullUrl": "https://portal.office.com/admin/default.aspx",
"ProductId": "00000000-0000-0000-0000-000000000000",
"Properties": [],
"Publisher": "Microsoft",
"TargetWindow": null,
"Title": "Administrator",
"Size": 2,
"IsNewGroup": false
}
[/javascript]

The full request I tested with on my tenant.
[javascript]
{"Header":null,"Body":{"ReadSettings":[],"WriteSettings":[{"Key":{"Scope":"User","Namespace":"Suite","Name":"AppsCustomizationDataTEST"},"Value":"{\"Version\":1,\"Timestamp\":\"\\/Date(1420749150823)\\/\",\"PinnedApps\":[{\"AppType\":0,\"BackgroundColor\":\"#0072C6\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-outlooklogo\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22Mail%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"Mail\",\"LaunchFullUrl\":\"https://outlook.office365.com/owa/?realm=sjkpdevs.onmicrosoft.com&exsvurl=1&ll-cc=1030&modurl=0\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":null,\"Title\":\"Outlook\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#0072C6\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-calendar\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22Calendar%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"Calendar\",\"LaunchFullUrl\":\"https://outlook.office365.com/owa/?realm=sjkpdevs.onmicrosoft.com&exsvurl=1&ll-cc=1030&modurl=1\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":null,\"Title\":\"Kalender\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#0072C6\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-peoplelogo\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22People%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"People\",\"LaunchFullUrl\":\"https://outlook.office365.com/owa/?realm=sjkpdevs.onmicrosoft.com&exsvurl=1&ll-cc=1030&modurl=2\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":null,\"Title\":\"Personer\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#0072C6\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-newsfeed\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22Newsfeed%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"Newsfeed\",\"LaunchFullUrl\":\"https://sjkpdevs-my.sharepoint.com/default.aspx\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":null,\"Title\":\"Nyhedsstrøm\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#0072C6\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-cloud\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22Documents%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"Documents\",\"LaunchFullUrl\":\"https://sjkpdevs-my.sharepoint.com/_layouts/15/MySite.aspx?MySiteRedirect=AllDocuments\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":null,\"Title\":\"OneDrive\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#0072C6\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-sharepointlogo\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22Sites%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"Sites\",\"LaunchFullUrl\":\"https://sjkpdevs-my.sharepoint.com/_layouts/15/MySite.aspx?MySiteRedirect=AllSites\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":null,\"Title\":\"Websteder\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#0072C6\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-tasks\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22Tasks%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"Tasks\",\"LaunchFullUrl\":\"https://outlook.office365.com/owa/?realm=sjkpdevs.onmicrosoft.com&exsvurl=1&ll-cc=1030&modurl=3\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":null,\"Title\":\"Opgaver\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#2b579a\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-wordlogo\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22WordOnline%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"WordOnline\",\"LaunchFullUrl\":\"https://portal.office.com/NewSpoDocument?docType=Word\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":\"_blank\",\"Title\":\"Word Online\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#217346\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-excellogo\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22ExcelOnline%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"ExcelOnline\",\"LaunchFullUrl\":\"https://portal.office.com/NewSpoDocument?docType=Excel\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":\"_blank\",\"Title\":\"Excel Online\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#D24726\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-powerpointlogo\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22PowerPointOnline%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"PowerPointOnline\",\"LaunchFullUrl\":\"https://portal.office.com/NewSpoDocument?docType=PowerPoint\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":\"_blank\",\"Title\":\"PowerPoint Online\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#80397B\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-onenotelogo\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22OneNoteOnline%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"OneNoteOnline\",\"LaunchFullUrl\":\"https://portal.office.com/NewSpoDocument?docType=OneNote\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":\"_blank\",\"Title\":\"OneNote Online\",\"Size\":2,\"IsNewGroup\":false},{\"AppType\":0,\"BackgroundColor\":\"#58595B\",\"CollectorId\":\"FirstParty\",\"CustomActions\":[{\"ActionVerb\":1,\"DisplayName\":null,\"NavigateUrl\":null},{\"ActionVerb\":2,\"DisplayName\":null,\"NavigateUrl\":null}],\"FontIconCss\":\"wf-o365-office365adminlogo\",\"IconAnonymousUrl\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22FirstParty%22%2c%22Id%22%3a%22Admin%22%2c%22Properties%22%3a%5b%5d%7d\",\"Id\":\"Admin\",\"LaunchFullUrl\":\"https://portal.office.com/admin/default.aspx\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Properties\":[],\"Publisher\":\"Microsoft\",\"TargetWindow\":null,\"Title\":\"Administrator\",\"Size\":2,\"IsNewGroup\":false},{\"CollectorId\":\"Graph\",\"AppType\":\"4\",\"Id\":\"ee04f14a-b2c5-42f8-8cc6-33c896bab0a9\",\"Title\":\"O365-WebApp-MultiTenant.Office365App\",\"ProductId\":\"00000000-0000-0000-0000-000000000000\",\"Publisher\":\"sjkpdevs\",\"IconAnonymousUrl\":null,\"FontIconCss\":null,\"TargetWindow\":null,\"IconFullUrl\":\"https://portal.office.com/Apps/AppIconHandler.ashx?jsonAppData=%7b%22CollectorId%22%3a%22Graph%22%2c%22Id%22%3a%22ee04f14a-b2c5-42f8-8cc6-33c896bab0a9%22%2c%22Properties%22%3a%5b%7b%22Key%22%3a%22ServicePrincipalAppId%22%2c%22Value%22%3a%220557254a-b061-4341-95c4-1bb897a02aa2%22%7d%5d%7d\",\"AppDataMinJson\":\"{\\\"CollectorId\\\":\\\"Graph\\\",\\\"Id\\\":\\\"ee04f14a-b2c5-42f8-8cc6-33c896bab0a9\\\",\\\"Properties\\\":[{\\\"Key\\\":\\\"ServicePrincipalAppId\\\",\\\"Value\\\":\\\"0557254a-b061-4341-95c4-1bb897a02aa2\\\"}]}\",\"BackgroundColor\":null,\"LaunchFullUrl\":\"https://myapps.microsoft.com/signin/O365-WebApp-MultiTenant.Office365App/0557254ab061434195c41bb897a02aa2\",\"CustomActions\":[{\"DisplayName\":null,\"NavigateUrl\":null,\"ActionVerb\":\"1\"},{\"DisplayName\":null,\"NavigateUrl\":null,\"ActionVerb\":\"2\"}],\"Properties\":[\"[ServicePrincipalAppId, 0557254a-b061-4341-95c4-1bb897a02aa2]\"],\"Size\":2,\"IsNewGroup\":false}],\"PinnedAppsOnNavBar\":[],\"UnpinnedAppIds\":[\"Mail\"]}"}]}}
[/javascript]