Reference13r2:Concept myApps Custom App for MS Teams: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
No edit summary  | 
				|||
| Line 17: | Line 17: | ||
=== MS Teams ===  | === MS Teams ===  | ||
* Side-loading of custom apps has to be enabled for the organization  | * Side-loading of custom apps has to be enabled for the organization  | ||
== Details ==  | |||
=== Download ===  | |||
* The custom app can be downloaded in the advanced UI of the PBX (PBX/Config/myApps).  | |||
=== Custom App Details ===  | |||
The custom app is a ZIP file containing icons and a manifest.json.  | |||
Please see the Microsoft documentation for details on the manifest format: [https://docs.microsoft.com/en-us/microsoftteams/platform/resources/schema/manifest-schema https://docs.microsoft.com/en-us/microsoftteams/platform/resources/schema/manifest-schema]  | |||
==== Dynamic parts of the auto-generated manifest ====  | |||
;version: The build number of the PBX firmware.  | |||
;id: An app ID that is unique per PBX DNS name.  | |||
;name.full: Contains the DNS name of the PBX.  | |||
;description.full: Contains the DNS name of the PBX.  | |||
;description.short: Contains the DNS name of the PBX.  | |||
;staticTabs[0].contentUrl: The myApps-URL of the PBX.  | |||
;validDomains: The DNS name of the PBX.  | |||
==== Example manifest ====  | |||
The following example shows a manifest created for a PBX with the following configuration:  | |||
;System Name: example.com  | |||
;Use as Domain: on  | |||
;DNS:pbx.example.com  | |||
  {  | |||
    "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.8/MicrosoftTeams.schema.json",  | |||
    "manifestVersion": "1.8",  | |||
    "version": "135724",  | |||
    "id": "0e33ff1e-7744-8dda-11ee-fee8459a836f",  | |||
    "packageName": "com.innovaphone.myapps",  | |||
    "developer": {  | |||
      "name": "innovaphone AG",  | |||
      "websiteUrl": "https://innovaphone.com",  | |||
      "privacyUrl": "https://innovaphone.com",  | |||
      "termsOfUseUrl": "https://innovaphone.com"  | |||
    },  | |||
    "icons": {  | |||
      "color": "color.png",  | |||
      "outline": "outline.png"  | |||
    },  | |||
    "name": {  | |||
      "short": "innovaphone myApps",  | |||
      "full": "innovaphone myApps (pbx.example.com)"  | |||
    },  | |||
    "description": {  | |||
      "short": "innovaphone myApps (pbx.example.com)",  | |||
      "full": "This app shows the innovaphone myApps client for pbx.example.com."  | |||
    },  | |||
    "accentColor": "#FFFFFF",  | |||
    "staticTabs": [  | |||
      {  | |||
        "entityId": "com.innovaphone.myapps.client",  | |||
        "name": "myApps",  | |||
        "contentUrl": "https://pbx.example.com/PBX0/APPCLIENT/appclient.htm",  | |||
        "scopes": [  | |||
          "personal"  | |||
        ]  | |||
      }  | |||
    ],  | |||
    "permissions": [  | |||
      "identity",  | |||
      "messageTeamMembers"  | |||
    ],  | |||
    "validDomains": [  | |||
      "pbx.example.com"  | |||
    ],  | |||
    "devicePermissions": [  | |||
      "media",  | |||
      "geolocation",  | |||
      "notifications",  | |||
      "openExternal"  | |||
    ]  | |||
  }  | |||
Revision as of 18:41, 25 February 2021
Applies To
This information applies to
- innovaphone PBX from version 13r2
 
Overview
- The feature is intended to integrate the myApps web client into MS Teams as a custom app.
 - The PBX offers a download link for that custom app that can then be uploaded into MS teams.
 - The app is auto-configured with the URL and Domain Names of the PBX.
 
Note: The custom app offers no further integration into Teams in 13r2 besides opening the web client. Deeper intergrations might follow in future releases.
Requirements
PBX
- Firmware version 13r2 or higher
 - The PBX must have a DNS name configured
 
MS Teams
- Side-loading of custom apps has to be enabled for the organization
 
Details
Download
- The custom app can be downloaded in the advanced UI of the PBX (PBX/Config/myApps).
 
Custom App Details
The custom app is a ZIP file containing icons and a manifest.json.
Please see the Microsoft documentation for details on the manifest format: https://docs.microsoft.com/en-us/microsoftteams/platform/resources/schema/manifest-schema
Dynamic parts of the auto-generated manifest
- version
 - The build number of the PBX firmware.
 - id
 - An app ID that is unique per PBX DNS name.
 - name.full
 - Contains the DNS name of the PBX.
 - description.full
 - Contains the DNS name of the PBX.
 - description.short
 - Contains the DNS name of the PBX.
 - staticTabs[0].contentUrl
 - The myApps-URL of the PBX.
 - validDomains
 - The DNS name of the PBX.
 
Example manifest
The following example shows a manifest created for a PBX with the following configuration:
- System Name
 - example.com
 - Use as Domain
 - on
 - DNS
 - pbx.example.com
 
 {
   "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.8/MicrosoftTeams.schema.json",
   "manifestVersion": "1.8",
   "version": "135724",
   "id": "0e33ff1e-7744-8dda-11ee-fee8459a836f",
   "packageName": "com.innovaphone.myapps",
   "developer": {
     "name": "innovaphone AG",
     "websiteUrl": "https://innovaphone.com",
     "privacyUrl": "https://innovaphone.com",
     "termsOfUseUrl": "https://innovaphone.com"
   },
   "icons": {
     "color": "color.png",
     "outline": "outline.png"
   },
   "name": {
     "short": "innovaphone myApps",
     "full": "innovaphone myApps (pbx.example.com)"
   },
   "description": {
     "short": "innovaphone myApps (pbx.example.com)",
     "full": "This app shows the innovaphone myApps client for pbx.example.com."
   },
   "accentColor": "#FFFFFF",
   "staticTabs": [
     {
       "entityId": "com.innovaphone.myapps.client",
       "name": "myApps",
       "contentUrl": "https://pbx.example.com/PBX0/APPCLIENT/appclient.htm",
       "scopes": [
         "personal"
       ]
     }
   ],
   "permissions": [
     "identity",
     "messageTeamMembers"
   ],
   "validDomains": [
     "pbx.example.com"
   ],
   "devicePermissions": [
     "media",
     "geolocation",
     "notifications",
     "openExternal"
   ]
 }