How to Manage Complaints with Cloud Computing

Thursday, March 31, 2011
How speedily can your company respond to complaints?
The best way to manage complaints differs according to each company. In all cases, though, the quality and speed of responses are in reverse proportion to each other. Debates regarding Quick Response, customer satisfaction and concierge services are truly diverse, and solutions are never simple. This is where a BPM consultant's competence is tested.

One thing that is clear, however, is the importance of recording the current situation, or knowing how fast the current system is able to handle complaints. This is the first step to improvement.
For example, in today's workflow sample, the point is to measure the time between webform input and automatic email response.

Tasks: 1. Confirm Complaint/Respond/Send On, 2. Respond, 3. Approve/Revise/Return, 4. Handle Return

[Complaint Management <Record Response>: "1. Confirm Complaint/Respond/Send On" screen]

In this workflow, the leader is required to approve, revise or send back the response in order to ensure accuracy. If the customer service staff number is about ten, it might be enough to have one leader. But we would recommend keeping two leaders, to prevent incidents happening when the leader is absent.

Moreover, when managing complaints by telephone, or by both email and telephone, it is still significant to be able to record the content and response. The below workflow allows staff members to include telephone incidents.


Webform Setting system in Questetra BPM Suite SaaS Edition

1. [INTERNAL SYSTEM] Prepare an externally-initiated workflow
First, create a process model that has a Message Start Event. After activating the workflow, check the URL address found in the [Version Detail] screen.


In this example, the input values are data[1] (inquirer email address), data[2] (inquirer phone number), and data[3] (inquiry content).

2. [EXTERNAL SYSTEM] Prepare a form in Google Docs
Log into Google Docs and create a new file from [Create new > Form]. (You can change the theme if you want.)

* File name: "Complaint_Management"
* Questions: "Inquirer email address," "Inquirer phone number," "Inquiry"

You should get a spreadsheet with "Inquirer email address" in column A, "Inquirer phone number" in column B, and "Inquiry" in column C.

3. [EXTERNAL SYSTEM] Prepare a script that sends inputted info
Open the spreadsheet, and create a new script from [Tools > Scripts >Script editor].

function myFunction() {


function startWorkflow(e) {
var longurl = "";
var payload = "processModelInfoId=ZZ&nodeNumber=WW&key=YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY";
payload += '&data[1].input=' + encodeURIComponent(e.values[1]);
payload += '&data[2].input=' + encodeURIComponent(e.values[2]);
payload += '&data[3].input=' + encodeURIComponent(e.values[3]);
var params = {
method: 'post',
payload: payload
UrlFetchApp.fetch(longurl, params);

...and save. Make sure you replace "XXXXXXXX", "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY", "ZZ" and "WW" with your own info. If you are not in Japan, you will probably want to also change "JST" to your own timezone.

4. [EXTERNAL SYSTEM] Set the script to work whenever someone submits info from the form
In the Script editor, select [Trigger > Current script's triggers]. Add a new trigger and set it to: Run [startWorkflow], Events [From spreadsheet] [On form submit].