US 12,367,082 B2
Dynamically integrating a client application with third-party services
Rajneesh Kesavan, Bangalore (IN); Niranjan Paramashivaiah, Bangalore (IN); Pavan Rajkumar Rangain, Bangalore (IN); Vasu Narayanappa, Bangalore (IN); Sachin Vas, Bangalore (IN); and Nirmalya Ganguly, Bangalore (IN)
Assigned to Omnissa, LLC, Mountain View, CA (US)
Filed by Omnissa, LLC, Mountain View, CA (US)
Filed on May 20, 2022, as Appl. No. 17/664,259.
Application 17/664,259 is a continuation of application No. 15/467,344, filed on Mar. 23, 2017, granted, now 11,340,961.
Prior Publication US 2022/0276910 A1, Sep. 1, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/54 (2006.01); H04L 67/00 (2022.01); H04L 67/53 (2022.01)
CPC G06F 9/541 (2013.01) [H04L 67/53 (2022.05); H04L 67/34 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A system for dynamically integrating client applications with third-party services, comprising:
at least one computing device comprising a processor and a memory; and
program instructions executable by the at least one computing device, the program instructions causing the at least one computing device to at least:
send, to a client device, a configuration profile that specifies (i) a user interface element associated with an action executable by a third-party service, (ii) a set of executable code that is configured to be installed on the client device, wherein upon invocation of the user interface element, the executable code communicates with an integration service to cause the third-party service to execute the action, and (iii) an authentication credential that authenticates a user of the client device to the third-party service;
send at least one user interface template to the client device, wherein the at least one user interface template includes code for rendering the user interface element, wherein the code for rendering the user interface element includes code that implements at least one callback to native code executed in the client device;
receive, by the integration service from the client device, a request to perform the action relative to the third-party service, the request being received through a first application programming interface (API) generic to a plurality of third-party services, wherein the request is initiated by invocation of the user interface element on the client device;
communicate with the third-party service to perform the action using a second API specific to the third-party service, wherein the communicating includes sending the authentication credential to the third-party service; and
send a response to the client device through the first API, the response being based at least in part on a result of the action.