Hi, We have a requirement to integrate with OnPremise UIPath with Pega Cloud - Pega Platform 8.5.3 and Pega Open Robotics 8.6.
UIPath team confirmed us that Pega has to first call the authentication service. The token generated by the authentication service will then be passed as APIUserKey to the subsequent call(s). The ClientID is with Pega, UiPath does not require that. The tenant ID in our case will be default
UIPath OnPremise uses a basic authentication i.e., user name and password (They can provide Tenant name) and they do not have client_secret
This version only supports UiPath's Orchestrator connection through the ClientID-ClientSecret token authentication. You don't need to perform any customisations. Just configure the Orchestrator as indicated in the documentation and then Pega with the ClientID-ClientSecret and URLs from the Orchestrator.
If you follow the instructions you should be able to setup the connectivity from both Orchestrator to Pega and Pega to Orchestrator.
Give special attention to the configuration of the web-hooks as without these you won't see any processes or results in Pega and let us know if you have any specific questions.
I have attached the sample authentication request which is expected by UIPath.
UIPath OnPremise is going by basic authentication - User name and password. UIPath team says Pega needs to call UIPath authentication url to get the pyUiPathOrchestratorAPIUserKey. However, Pega article says it should be supplied in Application settings. Can you please share your inputs on this.
As you can see from your screenshot for version 8.6 the supported Pega releases are 8.6 only. That means that it is not tested and we won't support. We'll always help but won't provide fixes. Cannot you upgrade Platform to 8.6? I wouldn't recommend using a version of the product with a version that has not been designed or tested with.
Connection to UiPath Orchestrator using Basic authentication is only possible with Open Robotics 8.6. You need to specialise the Data Page that gets the token (D_pyGetUiPathAuthToken) or just the Request Data Transform (pyPrepareAuthTokenRequest) depending on your needs. Based on the sample request you shared I think that just by specialising pyPrepareAuthTokenRequest should work. You need to save as this data transform to your application layer and create also the new properties that you'll be using to pass the user name and password values.