Knowlege base

Microsoft Teams Custom Imagicle Application

Article ID: 806
Last updated: 12 Feb, 2021

Overview

This article describes how to leverage Imagicle UC Suite applications within Microsoft MS-Teams desktop and mobile client, by using a specific Imagicle template.

Imagicle custom application for MS-Teams clients is available from 2021.Winter.1 release and above.

There are two possible ways to enable Imagicle apps in MS-Teams: by provisioning the apps at Corporate level to all MS-Teams user or by locally install the template in own MS-Teams client. Please find below both procedures.

Procedure for Corporate provisioning to all users

Please download ZIP archive included in this article. It includes the following files:

  • manifest.json
  • outline.png
  • color.png

Please edit manifest.json with Notepad++ and replace BOLD placeholders with Imagicle UC Suite's FQDN and relevant port to reach web portal from Internet. Please note that Imagicle UC Suite can't be reached by its IP address. FQDN is mandatory.

{
    "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.7/MicrosoftTeams.schema.json",
    "manifestVersion": "1.7",
    "version": "1.0.0",
    "id": "4d9560af-48fb-4c41-8011-d2a3e99e0e79",
    "packageName": "com.imagicle.msteams",
    "developer": {
        "name": "Imagicle S.p.A.",
        "websiteUrl": "https://www.imagicle.com",
        "privacyUrl": "https://www.imagicle.com/go/msteamsprivacy",
        "termsOfUseUrl": "https://www.imagicle.com/go/msteamslegalterms"
    },
    "name": {
        "short": "Imagicle",
        "full": "Imagicle UC Suite"
    },
    "description": {
        "short": "Enjoy the Imagicle UC Suite applications on MS Teams.",
        "full": "As a market leader in the UC app space, Imagicle empowers organizations worldwide to make their communications faster, smarter and easier. \n* **Imagicle Call Recording** allows you to record 100% of calls, skip sensitive data, save and index your encrypted recording automatically and retrieve them in a click. \n* **Imagicle Contact Manager** centralizes your corporate and external directories, allowing you to find the person you are looking for among thousands of contacts within seconds. \n* **Imagicle Digital Fax** virtualizes the whole fax process: you can send and receive faxes directly from your MS Teams and keep your data safe. \nImplementing Imagicle apps into Microsoft Teams allows moving to a higher level of quality and simplification of communications, leveraging a unified service platform able to address the growing need to build a digital, safe and smart workplace."
    },
        "icons": {
        "color": "color.png",
        "outline": "outline.png"
    },
    "accentColor": "#00ABE5",
    "staticTabs": [
        {
            "entityId": "callrec",
            "name": "Call Recording",
            "contentUrl": "https://[URL_SUITE:PORT]/jabber/callrecording",
            "websiteUrl": "https://www.imagicle.com",
            "scopes": [
                "personal"
            ]
        },

        {
            "entityId": "contactmngr",
            "name": "Contact Manager",
            "contentUrl": "https://[URL_SUITE:PORT]/jabber/speedy?AppMode=MSTEAMS",
            "websiteUrl": "https://www.imagicle.com",
            "scopes": [
                "personal"
            ]
        },

        {
            "entityId": "digitalfax",
            "name": "Digital Fax",
            "contentUrl": "https://[URL_SUITE:PORT]/jabber/stonefax",
            "websiteUrl": "https://www.imagicle.com",
            "scopes": [
                "personal"
            ]
        }
    ],

    "permissions": [
        "identity",
        "messageTeamMembers"
    ],
    "validDomains": [
                "[URL_SUITE]",
                "www.imagicle.com"
    ],
    "devicePermissions": [
        "openExternal"
    ]
}

Above template includes “staticTabs” section, where specific statements are added for each the following Imagicle applications:

  1. Call Recording
  2. Contact Manager
  3. Digital Fax

You can remove unused applications from template, but please keep the following staticTabs array format:

"staticTabs": [
        {
            "paramName": "value",

            ...

        },
        {
            "paramName": "value",

            ...

        }
    ],

Every application (included between { } brackets) should be separated by next one, if present, by using a comma.

Once above placeholders have been correctly set, save file and replace it within the original ZIP file.

Upload Imagicle applications in MS-Teams admin portal

Launch MS-Teams client on a PC and access to admin portal -> Teams Apps -> Manage apps -> Upload

Select the zip file and verify that the app "Imagicle" is published.

Enable Imagicle apps in all MS-Teams clients

Now all Corporate MS-Teams user can leverage Imagicle apps. They just have to click on  button available in left pane. A list of items appears. Search for "Imagicle" and select relevant entry:

The following window appears:

Hit Add to actually add Imagicle apps to MS-Teams' left pane:

Procedure for local template installation in one client

Please download ZIP archive included in this article. It includes the following files:

  • manifest.json
  • outline.png
  • color.png

Please edit manifest.json with Notepad++ and replace BOLD placeholders with Imagicle UC Suite's FQDN and relevant port to reach web portal from Internet. Please note that Imagicle UC Suite can't be reached by its IP address. FQDN is mandatory.

{
    "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.7/MicrosoftTeams.schema.json",
    "manifestVersion": "1.7",
    "version": "1.0.0",
    "id": "4d9560af-48fb-4c41-8011-d2a3e99e0e79",
    "packageName": "com.imagicle.msteams",
    "developer": {
        "name": "Imagicle S.p.A.",
        "websiteUrl": "https://www.imagicle.com",
        "privacyUrl": "https://www.imagicle.com/go/msteamsprivacy",
        "termsOfUseUrl": "https://www.imagicle.com/go/msteamslegalterms"
    },
    "name": {
        "short": "Imagicle",
        "full": "Imagicle UC Suite"
    },
    "description": {
        "short": "Enjoy the Imagicle UC Suite applications on MS Teams.",
        "full": "As a market leader in the UC app space, Imagicle empowers organizations worldwide to make their communications faster, smarter and easier. \n* **Imagicle Call Recording** allows you to record 100% of calls, skip sensitive data, save and index your encrypted recording automatically and retrieve them in a click. \n* **Imagicle Contact Manager** centralizes your corporate and external directories, allowing you to find the person you are looking for among thousands of contacts within seconds. \n* **Imagicle Digital Fax** virtualizes the whole fax process: you can send and receive faxes directly from your MS Teams and keep your data safe. \nImplementing Imagicle apps into Microsoft Teams allows moving to a higher level of quality and simplification of communications, leveraging a unified service platform able to address the growing need to build a digital, safe and smart workplace."
    },
        "icons": {
        "color": "color.png",
        "outline": "outline.png"
    },
    "accentColor": "#00ABE5",
    "staticTabs": [
        {
            "entityId": "callrec",
            "name": "Call Recording",
            "contentUrl": "https://[URL_SUITE:PORT]/jabber/callrecording",
            "websiteUrl": "https://www.imagicle.com",
            "scopes": [
                "personal"
            ]
        },

        {
            "entityId": "contactmngr",
            "name": "Contact Manager",
            "contentUrl": "https://[URL_SUITE:PORT]/jabber/speedy?AppMode=MSTEAMS",
            "websiteUrl": "https://www.imagicle.com",
            "scopes": [
                "personal"
            ]
        },

        {
            "entityId": "digitalfax",
            "name": "Digital Fax",
            "contentUrl": "https://[URL_SUITE:PORT]/jabber/stonefax",
            "websiteUrl": "https://www.imagicle.com",
            "scopes": [
                "personal"
            ]
        }
    ],

    "permissions": [
        "identity",
        "messageTeamMembers"
    ],
    "validDomains": [
                "[URL_SUITE]",
                "www.imagicle.com"
    ],
    "devicePermissions": [
        "openExternal"
    ]
}

Above template includes “staticTabs” section, where specific statements are added for each the following Imagicle applications:

  1. Call Recording
  2. Contact Manager
  3. Digital Fax

You can remove unused applications from template, but please keep the following staticTabs array format:

"staticTabs": [
        {
            "paramName": "value",

            ...

        },
        {
            "paramName": "value",

            ...

        }
    ],

Every application (included between { } brackets) should be separated by next one, if present, by using a comma.

Once above placeholders have been correctly set, save file and replace it within the original ZIP file.

Upload Imagicle applications in MS-Teams client

Launch MS-Teams client on a PC and click on  button available in left pane. A list of items appears. Hit More apps > link at the bottom of the list, to get the applications browser:

 

Hit "Upload a custom app" option and choose the ZIP archive. If the template does not contain any error, you get the following message:

Hit Add to actually add Imagicle apps to MS-Teams' left pane:

If the template is faulty, you get the following message, where you can click on "Copy error" to copy the error details in PC clipboard:

Trusted Digital Certificate Creation

MS-Teams accepts third party applications available through https access, together with a valid Digital Certificate. 

In those cases where Imagicle UC Suite does not satisfy above requirements, you can proceed with the following steps:

  • Create a local Certification Authority (CA) 
  • Create UC Suite Digital certificate, signed by local CA
  • Replace standard Imagicle Certificate with new one in IIS
  • Add new Trusted Certificate within Trusted Root Certification Authorities on MS-Teams client workstation.

Procedure on Imagicle UC Suite (Windows Server 2016/2019 OS)

  1. Launch Powershell as administrator
  2. Create rootCert (lasting 5 years in below sample):

$rootCert = New-SelfSignedCertificate -Subject 'CN=ImagicleRootCA,O=ImagicleRootCA,OU=ImagicleRootCA' -KeyExportPolicy Exportable  -KeyUsage CertSign,CRLSign,DigitalSignature -KeyLength 2048 -KeyUsageProperty All -KeyAlgorithm 'RSA'  -HashAlgorithm 'SHA256'  -Provider 'Microsoft Enhanced RSA and AES Cryptographic Provider' -NotAfter (Get-Date).AddMonths(60)

  1. Create UC Suite Digital Certificate, signed by above rootCert (lasting 5 years in below sample), replacing BOLD placeholder with Imagicle UC Suite's FQDN:

New-SelfSignedCertificate -CertStoreLocation cert:\LocalMachine\My -DnsName '[URL_SUITE]' -Signer $rootCert -KeyUsage KeyEncipherment,DigitalSignature -KeyExportPolicy Exportable -KeyLength 2048 -KeyAlgorithm 'RSA' -HashAlgorithm 'SHA256' -Provider 'Microsoft Enhanced RSA and AES Cryptographic Provider' -NotAfter (Get-Date).AddMonths(60)

  1. Open IIS Manager from Control Panel, select Default Web Site from left-side pull-down menu and hit Bindings option available on right-side menu. Please edit both https lines included in Site Bindings window and select new SSL certificates from pull-down menu.
  2. Run certlm.msc, expand Personal/Certificates and double-click on ImagicleRootCA Certificate. Select Details tab and hit Copy To File button to export the Certificate without Private Key, in DER format.
  3. Please copy exported Certificate on MS-Teams client workstation.

Procedure on MS-Teams client's workstation 

Open Digital Certificate and import it for Current user. Hit Browse and select Trusted Root Certification Authorities installation path.

Article ID: 806
Last updated: 12 Feb, 2021
Revision: 4
Views: 172
Print Export to PDF Subscribe Share
This article was:  
Attached files
file MsTeamsAppTemplate.zip (8 kb)

Prev   Next
Powershell.exe error during the update to Summer 2020 and the...     Migrating SQL Database to a different SQL instance (including...