How to Handle Multi Step Scenario in UiPath Solution

Hi Everyone,

Currently we have process which is likely having few below tasks to be performed,

  1. Validating Duplication
  2. Creating Identity
  3. Activate Some Privileges
  4. Check for Email
    If Email is not received, Hold the Transaction in queue and need to continue from
    checking the email.
  5. Record to be created.

Here, All these Tasks needs to be performed from the same bot and same process due to SLA. I searched a lot in forums, and found about progress and output data.

Output data - can only be updated when the transaction is fully completed(either success or failure)
Progress - Progress is an non-persistent data, when we postpone a item. It will be get erased.

Is there a any good solution to overcome this scenario by postpone a item without losing a progress. or some good alternative solution?

Thanks in Advance

1 Like

Hi @Rajesh_Manikandan

Welcome to the community!!!

Are you using the Orchestrator in your company? Why I’m asking this is because having a orchestrator would ease out handling such scenarios…

1 Like

Hi @Rajesh_Manikandan

Just my two cents, I will store the data in an excel file and add additional checks in my workflow:

  1. Create new excel file and copy only data in progress (where transaction status is blank) from previous excel file
  2. Validating Duplication
  3. Creating Identity
  4. Activate Some Privileges
  5. Check for Email (If email received, update transaction status to “Received”. If Email is not received, leave transaction status blank)
  6. Record to be created. (Create record is transaction status is “Received” and update the column accordingly)

This way, you can run the job as and when you like. If the data is awaiting email, it will get carried over to the new file.

1 Like

Yes, we are using orchestrator. But the feature we are expecting is, Whenever we are postpone a transaction item, we likely to track a progress.

So that, we could check for the mails directly without repeating the steps from start.

Any Suggestions.

1 Like

@Rajesh_Manikandan

yes… if you are using the orchestrator, you could design the process as follows.

I would separate the entire process into two separate processes which only one robot will execute one after the other.

The first process will only take care of the steps 1, 2, 3 & 4 from what you mentioned. The Processed data will be then added to a queue for the next process to continue from.

The second process will continue from step 5. it will get the data from the queue, check for the email. If the email is not available, a application exception will be thrown and the queue item will be moved to the retried state to retry next time. If the mail is available, the step 5 and 6 will continue and the queue item will be finally get marked as successful.

You can use the orchestrator to schedule the two tasks. And also, you can introduce a control workflow which can control the execution order of these two processes.

The second step needs to be scheduled say to run like every 5 minutes or 10 minutes. So that each time it will check whether the emails are available for the items it process. If not skip to the next and the skipped item will be taken up in the next iteration. This way, the robot will not need to wait for long times until the mail receives so that you are good on valuable resources as well :slight_smile:

3 Likes

Thanks, For your Solution.

Another small question to understand. This solution will work for this scenario. What if we have multiple breaks in a process(ex: 4). Is that breaking the process is the only solution.

1 Like

Hi @Rajesh_Manikandan

I think I got the process numbers wrong here.

The first process will only take care of the steps 1,2 and 3 until the activation of some privileges.

The second process should start from 4 and go up to 5. Sorry for the confusion :smiley:

So, your mail check is the part that we should break. First one will do the things before we check the mail. The second will check the mails and continue to 5 if a mail exists. If not it will stop the execution and skip to the next item.

So for you question

Yes, breaking the process like that is the best option from many directions…

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.