Share all details related to your problem, including any error messages you may have received.
For one of our legacy applications, we utilize RPA using UIPath. Creating an account in the target system involves a two-step process via RPA.
Step 1:Initiate an API call to add the request to the RPA queue. It will return queue item id immediately and response code 200.
Example: /odata/Queues/UiPathODataSvc.AddQueueItem
Step 2: Initiate an API call to retrieve the request status from the queue using the generated queue item ID in Step1.
Example: /odata/QueueItems(14565)
Problem 1:
We have created a web service application to add the request to the RPA queue via create account operation. However, upon submitting the access request for creating operation, the request is immediately marked as completed, as we are getting a response code 200 via API. Our requirement is for the request to remain in a pending state until it successfully completes in the RPA queue.
Problem 2:
Every operation is initially queued, and a unique ID is returned. How can we configure the GET OBJECT operation using the queue ID? For us email is an account identity attribute.
Is there anyone who has insights or suggestions on how to achieve this?
Sailpoint will simply execute them sequentialy - furthermore in second step you can refer to payload from first operation via $response.ATTRIBUTENAME$ variable so if your request ID will be mapped to RequestID attribute you can use $response.RequestId$.
The problem here is with timing - as Sailpoint will execute second operation immediatelly after first one. That means if your queue is slow - you may have problem.
You can solve this by for example adding some sleep time in the after operation rule if the first operation to give enough time to process your first request. Question is if this process ensures execution in reasonable time.
Second option - you can check for the response code and try to retry it but then you would need to make some customization to avoid creation of duplicate requests.