Passing a secure string from python to uipath argument WITHOUT Orchestrator credentials?

Hey everyone! I’m trying to figure out how to pass through a SecureString from python into a UiPath bot in Orchestrator. Here are the roadblocks:

  • Orchestrator credentials cannot be used
  • Secure string must go immediately from python to the bot arguments without passing 3rd party solutions along the way (essentially only using API call)
  • The password cannot be stores as a Windows credential (this will run on multiple machines)

Any help or guidance you can give on how to do this cleanly and securely would be great, thanks!

@geneddie

Can you be more specific?

Is the password getting generated dynamically in python during runtime?

When you mean api is ok…are api’s available?

Cheers

Sure! Here’s an example rundown if that helps:

  1. Python script prompts user for password input or generates one from Machine A
  2. Python script executes an unattended bot that’s in Orchestrator via the Orchestrator API and securely passes in the password as an argument (SecureString)
  3. Unattended bot then performs XYZ task and uses the password argument as needed

To clarify on step #3: The unattended bot uses a pool of machines (Machine B-Z) in this example. It does not execute on Machine A, which is why I can’t use Windows Credentials.

@geneddie

You are already passing it in the api then what is the issue?

And in api you can target which machine to work on as well…I hope you are using a start job api

Cheers

This solution isn’t yet implemented, this is a new task and I’m trying to figure out how to do this. What I need help with is how to pass the SecureString argument from python to the Orchestrator API in the proper way.

Hopefully that helps :slight_smile:

Good news at least: I just got confirmation that I’m eligible to interact with the Orchestrator credential store via Orchestrator’s API! Do you guys have any examples of how to push a password to an existing credential via python interacting with the Orchestrator API?

@geneddie

You can check the swagger file…even the start job input will be same

<orchestratorURL>/swagger/index.html

Cheers