While using Microsoft Teams Connector's MessageCard format, unable to open external application links provided in OpenUri action's targets from different OS platforms

Gaurav Sharma 15 Reputation points
2023-09-25T09:10:53.9366667+00:00

We have created a custom Teams app with a custom connector for sending notifications from our product JustCall. We are using MessageCard for sending actionable messages via Connector. In the actionable messageCard format, we use openUri actions and its targets (default, Windows, iOS and Android) to open platform-specific JustCall application (outside Teams app) deep links. 
From the Teams android and web app, these targets links work perfectly fine. But they do not seem to work for Windows and iOS. On iOS, when we click on the OpenUri action we receive an error message saying Invalid URL”, whereas on the Teams Desktop app, it redirects to the Web browser i.e. uses the default target instead of the one specified for the windows. 
Please refer to the attached screenshot from iOS device for reference.
We are using the syntax as mentioned in the Microsoft Teams documentation. Please refer to the sample message card format we are using:

{
    "@type": "MessageCard",
    "@context": "http://schema.org/extensions",
    "themeColor": "0076D7",
    "summary": "Test message by dev",
    "sections": [
        {
            "activityTitle": "Test message by dev",
            "activitySubtitle": "28th Aug 2023, 5:31pm",
            "facts": [
                {
                    "name": "Test Key 1",
                    "value": "Lorem Ipsum"
                },
                {
                    "name": "Test key 2",
                    "value": "Lorem Ipsum Lorem Ipsum"
                }
                
            ],
            "markdown": true
        }
    ],
    "potentialAction": [
        {
            "@type": "OpenUri",
            "name": "Call Contact via JustCall",
            "targets": [
                {
                    "os": "default",
                    "uri": "https://app.justcall.io/dialer?numbers=+15555551234"
                },
                {
                    "os": "iOS",
                    "uri": "justcall://app/call?number=+15555551234"
                },
                {
                    "os": "android",
                    "uri": "justcall://app/call?number=+15555551234"
                },
                {
                    "os": "windows",
                    "uri": "justcall:+15555551234"
                }
            ]
        }
    ]
}

Is their any restriction from the Teams end that the blocking the deep link access from iOS and windows devices?
We are reaching out to understand what might be the issue here.

Regards,
JustCall Team

Microsoft Teams
Microsoft Teams
A Microsoft customizable chat-based workspace.
10,134 questions
Microsoft Teams Development
Microsoft Teams Development
Microsoft Teams: A Microsoft customizable chat-based workspace.Development: The process of researching, productizing, and refining new or existing technologies.
3,267 questions
Microsoft Teams Phone
Microsoft Teams Phone
Teams Phone enables call-control and Private Branch Exchange (PBX) capabilities in the Microsoft 365 cloud with Microsoft Teams.
155 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Gaurav Sharma 15 Reputation points
    2023-09-28T09:36:19.58+00:00

    Hi @Meghana-MSFT & @Prasad-MSFT

    The target link used in the case of Android is a deep link to the JustCall mobile app. You have to install the JustCall mobile app on your Android device.

    Additionally, as you have seen on the Web/Desktop Teams client, Clicking the “Call Contact via JustCall” button opens the JustCall web app in both cases. However, we have specified a separate target value for Windows that should be used to redirect the user to the JustCall Desktop app.

    There are four target options available for OpenUri action as per Microsoft Docs and, given below is the expected behaviour :

    1. default - This works fine from the Teams Web app.
    2. android - From the Teams Android app, it redirects to the JustCall mobile app. That’s fine.
    3. windows - From the Teams desktop app, it should redirect to the JustCall Desktop app.
    4. iOS - From the Teams iOS app, it should redirect to the JustCall iOS app. Instead, it shows the Invalid URL error, even though we are using a working deep link for the JustCall iOS app.

    Let us know if there are any other details required.

    Note: For Android/iOS/Desktop devices, device-specific JustCall app should be available.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.