Process Decision making Task in Action Center

Hello Everyone,

I want to develop 2 processes wherein my transaction item is Queue item.
Process 1 (Bot 1): Process the data and move the transactions to Action Center which requires Human Validation (Output I need from Action Center: To create a new Queue item) which is to be performed by Bot 2.
Process 2 (Bot 2): Only process that data which is coming from Action Center.

How can I develop the above process?

Also, Is there any way to do the task in 1 Bot only? If so, How?

@Asfaque

You can do in one bot using the wait and resume task

If you want to do in two bots…then after the first bot add the unique task id to the second queue and run the second queue to check the task id is completed or not …and then if not completed postpone the item …if completed process it

Hope this helps

cheers

@Anil_G Hi! Thanks for the response.

If I do it in 1 Bot and use “Wait for Form Task and Resume” activity it will pause my execution.

I want the Bot to run all the transactions simultaneously.
Secondly, when the user validates any transaction in Action Centre it should process that transaction first.

Is it achievable?

Hi,

Indeed it is, you can use the parallel wait activity and it will wake up any time any of the actions it is waiting for are complete.

Use caution however, I cannot remember how many threads the documentation says you can have, I think maybe 1000 but in my experience more than 100 causes problems. It makes too many API calls at onces and the Orchestrator starts rejecting them as a DDOS attack,

An activity to wait for multiple at once would be welcome.

2 Likes

@Asfaque

As mentioned by @Jon_Smith we can use parallel for each activity so that it processes parallely and waits…

And in the second approach…if you want the bot to start soon after the validation is done then have the trigger of the bot multiple times in the day…so that the transactions added to second queue will be picked up faster if completed

Cheers

1 Like

Hi @Jon_Smith and @Anil_G Can you please share any sample workflow of the said process.

It will be helpful for me to understand.

Thanks in advance

Not really. I work it differently and try to tie one wait activity per job to avoid the aforementioned issue of too many requests at once.

Have you tried already with a parallel wait and encountered a specific issue?

1 Like

@Asfaque

For a starter help you can check this…And even snippets are available but they might be outdated you might need to update the tasks

Parallel for each is just as for each …only different is its like multi threading that is running parallel document understanding processes at once

Basically the above template is for wait for task. which you need in first bot…that template is to be used inside the parallel for each activity

For some best practices

The suggestion

Hope this helps

cheers

1 Like

Ah there you go, Anil quoted the documentation I was referring to. You see there it saying a job can have 1,000 triggers but the way its worded suggests you can have use a parallel for each with 1,000 items in it, all waiting.

That won’t work however. When your bot wakes all 1,000 threads will wake and send an API request to the orchestrator to ask the status of the item they are waiting for (job, queue item or task). Sending 1,000 separate API calls at once will cause the orchestrator to refuse them causing your bot to fail. I suggest keeping it less than 50 to be safe although 100 is ok.

2 Likes

@Jon_Smith

As always left this point and I was sure you would point out …And really like that prompt info

Cheers

1 Like

I will try to incorporate the mentioned suggestions first and then will let you know if I face any issues.

Thanks though.

1 Like

you can try using this template.

image

1 Like

Hello Folks!

I am trying out a way to develop it but I got stuck at the middle. I have a one question here. The validation part is based on UI Interaction. Will the Orchestration Process Works if has UI interaction involved?

@Asfaque

Yes you can have its better to maintain them in a separate workflow if possible

Cheers

1 Like

What you must consider is that the robot will suspend when you do the wait activity.
This means the processes is basically all allocated to memory and the details sent to the orchestrator. Then the robot stops. Its then available for other tasks so another job might now run, this could kill the application you were using or also fail because it was left open.

Once the thing the process was waiting for is complete the Orchestrator will wake up the job and start it again by sending all those details it had in memory and the process will continue where it was bookmarked. This could even be on a different robot and machine unless you force it to be the same one.

Obviously the browser or application you had open can not be relied upon to be in the same state as when you left it as it might even be a different machine.

You should finish using the application before you suspend (so close it down) and then once you wake up open it up again and get back to where you were.