Method of Letting a Robotty(?) Start Processes Every Other Week

Realize complex Process Start condition is by using Automatic processing steps, Script Task, and inter-process cooperation.

Hi, there!

“Automation of Business Process” is a hot topic. (The same words I began with in the article before.)
And I will continue with the topic of RPA (Robotic Process Automation).
When an application equipped with RPA passes entered information to the robot, the robotty will manipulate as just the way as a human being operates, and produce results.
It is very convenient. I wish that there were twenty of robotty.

Well, this time, it is a story realized by a relatively large number of users who “Want to collect reports regularly, such as daily or weekly!

I would like to talk about Questetra’s robot (which is automation).

Easy Realization with Timer Start Event

There may be tasks that you want to start or let someone to, on a regular basis, such as “I want to raise a weekly report every Monday!“, or “I want to make a report to be submitted on the first day of every month“.

A Workflow Definition that Guides Daily and Weekly Report
…However, those Dailies and Weeklies always ended up “forgotten” or “not submitted”. It would be better to make them displayed in “My Task List” automatically. In the following Workflow sample, a Task “1. Write Weekly Report” starts up every Monday at 9:00 am. That is “Timer Start Event” starts the Process…

<Weekly Report flow>

In the example of Process above, you can see that it is realized using “Timer Start Event”.
Yes, so to speak, it is “Timer start event robot”.

That robotty performs

* Waking up at 9 o’clock in the morning of every Monday
* Launches Processes for every users belonging to employee Swimlane
*Allocating the “1. Write weekly report” Step to the target users

Since it is a robot, it never forgets to do.

However, “Timer Start Event robot” may get into trouble sometimes.

Those are cases, for example,

* Want reports to be submitted every other week
* Want closing task to be started at the end of each month
* Want report preparation to be started on the basis of the 20th of every month but want to make it on Monday in the case of Saturdays and Sundays

“Timer Start Event” is not capable of realizing the above. (See the manual below)
“Timer start event robot” can do nothing.

Auto Starting at the Time You Fix
By placing [Timer Start Event] at the beginning of a Business Process, a new processing of instance will be Started (launched) automatically. For example, you can reduce the risk of forgetting periodic operations such as “Daily Report” or “Expense Claim at the end of a month”.

Create your robot by yourself (using script task etc.)

When a standard function, “Timer start event robot”, can do nothing, you would better create new one.
Let’s realize

* Reports to be submitted every other week

As its overview, that is “Start the report creation process by the “Start Control Process (every other week)”..
Newly created robot serves as”Start Control Process (every other week)“.


Create Report Process

The following is summary of settings.

* Add “Report creator (User type Data Item)” (No display at every steps)
* Place “Message Start Event (http) instead of Timer Start Event
* Set up as to receive data of Report creator in Message Start Event (http)
* Set up Operator setting of “Employee” Swimlane to Report creator be allocated

<Settings of Create Report Process>

Start Control Process (every other week)

The input to the robot is as follows.

* Initial start date and time
* Organization which the people to submit the report belong

Based on those, let the robot do the following work.

* Find out all the people belonging to the target organization
* Allocate the first step of “Create Report Process” Started to all the people who were found out
*Wait 14 days and start its own Process, Start Control Process (every other week)

<Settings of Start Control Process (every other week)>
<#1, Contents of Script Task “Select reporter”>

// Data item No. 2 indicates that the target organization entered in the previous Step
// Acquire the users belonging to the target organization
var userList = quserDao.findByQgroup(data.get("2"));
var users = "";

for (var i = 0; i < userList.size(); i++){
    // Format email addresses of the acquired user by line feed delimiter
    users += userList.get(i).getEmail() + "\n";
// Set email address group to Data item No. 3, String type multi-line

<#2, Contents of Script Task “Update reporter”>

// Data item No. 3, String type multi-line: Email address group formatted with line feed delimiter
var users = new String(data.get("3")).split("\n");
var updatedUsers = "";
// Data item No. 4, String type multi-line: Email address group of users who Report creation process has started already
var completedUsers = data.get("4");
if (completedUsers == null){
   completedUsers = "";
var targetUser = "";
for (var i = 0; i < users.length; i ++){
    if (i == 0){
       targetUser = users[i];
       updatedUsers += users[i] + "\n";
retVal.put("4",completedUsers + targetUser + "\n");
// Data item No. 5, String single-line: Email address of target user of Creation Report Process connection

<#3, Auto-step “Next launch date calculation”/ Timer Intermediate Event>


I am afraid that it has become a little complicated implementation.
Although the robotty in this article is capable of “Start Control (every other week)“, the range of its work will be expanded by incorporating such as

* Specify Startup interval to every 14 day (every other week) at initial setting
* Specify the end of months (avoiding weekends and holidays)

into Start Control Process (every other week).
A Robot is reliable since it works 24 hours 365 days without complaining.

Next time I would like to introduce you a different robot.

If you have any questions, please feel free to contact us.


About Masato Furukubo

Questetra, Inc. Sales Department
View all posts by Masato Furukubo

Prev article - 50. Questetra Tips How to Adjust Sleep Period (Specified Date Tnd Time to Timer)
Next article - 50. Questetra Tips How to Cooperate between Office 365 and Cloud Based Workflow
Another article - Masato Furukubo What is Budget Management for Eliminating Over-budget Approval Request?