Let’s Create a Cool(?) Questionnaire Management System! (1)

I will introduce a realization example of a mechanism which is a published webform screen using the Message Start Event (Form), and induction/answer management to the questionnaire using automation (Add-on). [Questionnaire Implementation]

Hi, there!

In Questetra, we are working on various “work automation”.

This time, I would like to introduce an App which is capable of implementing a medium-sized questionnaire and manage it.
I am going to try automating as much as possible aiming to reduce the burden of implementation/management work.

As my explanation will be long, I will write it in a series of two articles.

Now, concerning implementation/management of a questionnaire, I suppose that it would often be done using a CRM system.

Customer Relationship Management (Wikipedia)
Customer relationship management (CRM) is an approach to manage a company’s interaction with current and potential customers. It uses data analysis about customers’ history with a company to improve business relationships with customers, specifically focusing on customer retention and ultimately driving sales growth.


You should use a CRM system in cases such as

* Questionnaire answer number is unspecified
* There is a certain period for answering

However, Questetra would be enough in cases such as

* Closed questionnaires for a specific number of targets (up to 100 people)
(E.g. in-group limited questionnaire, etc.)
* To make sure it is answered (keeping track of the answers missing)


The image of the workflow from questionnaire preparation to answer management is as follows.

The main point is that you’d only need the following preparation, leaving the rest to the robot.

* Create a questionnaire
* Create a list of the respondents of the questionnaire
* Determine the dunning interval

If all the respondents of the questionnaire were Questetra account holders, it can be realised relatively easily.
Surprisingly, there are customers who say “In my company, all of our employees do not have a Questetra account“.

As the requirements, specify the following.

* Enable Users who do not have a Questetra account also to answer the questionnaire

I wish all the employees to hold an account soon. (Longing for it.)

Explanation of Business flow

There will be two Apps to be created on Questetra which are

* “Questionnaire” App
* “Questionnaire Informing/Answer dunning management” App

In this article, I am going to describe the “Questionnaire” App.

The points are

* Users who do not have a Questetra account also to be able to answer the questionnaire
* Make it possible to know who answered
* If the same person answers more than once, mark it somehow
(To exclude answers by the same person who replied more than once when aggregating them.)

<Flow diagarm of “Questionnaire” App>

Implementation (Add-on config. etc.)

Each point of the business flow is realized by the following functions.

* Enable anyone to answer
(Message Start Event (Form))
* Check if the respondent answers multiple times/Set the number of responses.
(“Multiple-answer check service” Process Modeler Add-on)
* Change notifications to respondents according to the number of responses.
(Set check result to Split condition)

<”Questionnaire” App: “Multiple-answer check service” Add-on config screen>

We will use the Questetra API to check whether a person with the specified email address has answered multiple times to the questionnaire (the relevant App).
The API we use is the Questetra Workflow API: Monitoring API (Querying for all Process Instances records).
* If you want to see the code, please download it here Multiple-answer check service.

Implementation (JavaScript for decoration on Answering form)

<”Questionnaire” App: Example of Questionnaire answering form screen>

Who (by the email address) answered” must be entered to the questionnaire answer screen.
However, if you let the respondent enter it, there is the risk of typos or input incorrect email addresses (using a different email address).
Therefore, it is necessary to devise how to correctly input the email address to which the questionnaire request email is delivered.

What’s being done on the client side JavaScript where

* Have the respondent’s “name” and “contact e-mail address” passed in the questionnaire URL as parameters.
* Acquire “name” and “contact e-mail address” from the URL, and set them for Data Items respectively.

In this case, I have set the parameter names as

* Respondent’s email address: email
* Respondent’s name: name

However, in “Parameter acquisition script“, the Parameter name is not seen.
Since it assumes the request email, strict checking is not necessary.

<”Questionnaire” App: Example of URL for Message Start Event (Form)>


* The parameter must be URL encoded.

<”Questionnaire” App: Parameter acquisition script>

<script type="text/javascript">
	var params = jQuery(location).attr('search');
	var items = new String(params).replace(/^\?/,"").split("&");
	var emailItems = new String(items[0]).split("=");
	var nameItems = new String(items[1]).split("=");
	jQuery('input[name="data[0].input"]').css( "background-color", "#f2f2f2" );
	jQuery('input[name="data[2].input"]').css( "background-color", "#f2f2f2" );


Regarding questions in the questionnaire, you can duplicate this App and modify or add to the questions already set in the App, i.e.

– Q1. Are you able to use the Internet in your workplace?
– Q2. Are there any conditions to use?

I suppose it is relatively easy to create questionnaires of your own.
Sample App, “Questionnaire”: 201710-Survey for Network utilization


This time, I explained a “Questionnaire” App.
And I used the Message Start Event with a little extension.
I hope you to use the Event referring to the following manual site.

Auto Starting Triggered by Published Web Form Entry
By placing a [Message Start Event (Form)], a mechanism of starting a Process triggered by Web Form at the beginning, a new Process will be Started automatically each time entering to published Web form. For example, when you use the “Contact Us” on our Home Page, an Inquiry Correspondence Process will be generated.


In the next article, I will explain the App for “Questionnaire guidance/Respond dunning management”, which will work on how to promote the questionnaire responses and guiding respondents to it with it.

In addition, an input restriction has been configured in “Parameter acquisition script” so that the respondent is not able to modify the email address/name that is set automatically.
Please refer to the implementation example.
(Parameter set to client-side JavaScript / URL is not supported at Support desk, so please check it carefully and implement it.)

Well then, please look forward to the next article.


About Masato Furukubo

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

Prev article - 50. Questetra Tips Automatically Acquire Revision History of Input Data
Next article - 50. Questetra Tips Let's Create a Cool(?) Questionnaire Management System! (2)
Another article - Masato Furukubo How to Evaluate Questetra (Step 2)