Hi @Aditipatil,
If you want to build this solution using UiPath, you could create an automation, which could work like this:
In Orchestrator
- Create a string asset, there you will provide all queue names separated by “;”. Example: Queue1;Queue2;Queue3
In Studio
-
Create a variable that will be our template. It will be like this:
“Queue Name - {{Replace_QueueName}}” + System.Environment.NewLine + “count of Item Processed - {{Relace_CountOfItemProcessed}}” + System.Environment.NewLine + “Count on Item Left - {{Replace_CountOnItemLeft}}” + System.Environ…
-
Read the asset created previously, then split by “;”. For each item you will (set for each to work with String):
- Use activity “Get Queue Items”. Here you can filter based on status to get some answers you need.
- Assign to a new variable the value: emailTemplate.Replace(“Replace_QueueName”,“var1”).Replace(“Relace_CountOfItemProcessed”,“var2”)…
- Use an activity to send email (example: Send SMTP MailMessage). Use the variable that you use to assign the value of the template variable with replaces.
In Orchestrator
- Create a schedule and set it to run every hour.
That’s a draft solution, feel free to improve it
About the answers…
QueueName: You will retrieve this inside your for each. As default it is named as “item”
count of Item Processed: Get Queue Items will return a list, just filter based on status you consider processed and count
Count of Item Left: Get Queue Items will return a list, just filter based on status you consider left and count
Present AHT for processing an item: This is the most difficult… Would it be a real-time forecast of how long it is taking to complete each transaction?
Queue is in progress from: Was it the time that the last execution of the queue started? If so, you can create a string asset for each queue, and the respective automations can use the “set asset” activity to update the datetime in string format. Then, this automation would only read its value
Time Left to Complete the process: If you can use a hard-coded average time, create string assets for each automation. Then, take var that has count of item left and multiply by the respective asset value converted to double.
This can help you to define what is “processed” and “left”
Queue status
New - the item has just been added to the queue with the Add Queue Item activity, or the item was postponed, or a deadline was added to it, or the item was added after an attempt and failure of a previous queue item with auto-retry enabled.
In Progress - the item was processed with the Get Transaction Item or the Add Transaction Item activity; when an item has this status, your custom progress status is also displayed, in the Progress column;
Failed - the item did not meet a business or application requirement within the project and was therefore sent to a Set Transaction Status activity, which changed its status to Failed;
Successful - the item was processed and sent to a Set Transaction Status activity, which changed its status to Successful;
Abandoned - the item remained in the In Progress status for a long period of time (approx. 24 hours) without being processed;
Retried - the item failed with an application exception and was retried. After the Robot finishes retrying the item, the status changes to Failed or Successful, according to your workflow.
Deleted - the item has been manually selected from the Transactions page and marked as deleted; an item with this status can no longer be processed.