Responding Info Request Workflow Integrates Web-form

Monday, August 15, 2011
"Info Request Accepts" is an effective marketing technique not only for Business to Business, also good for Business to Customer. In some case, it would be outsourced. Anyway they must be handled with speed that prospective customer satisfaction.

Data from Web form is passed into Workflow at "Message Start Event". (Icon that thin-line circle with envelope)

<Tasks>
0. Exception, 1. Irregular check, 1b. Clerical questions, 2. Important clients, 3. Mail Processing, 3b. Questions


[Info Request Response: [3. Mail Processing] screen]




<Items>
  • Title
-Info-
  • Name requester(Org.) (string)
  • Position (string)
  • Name (Person) (string)
  • Email Address (string)
  • Phone (string)
  • Posting Address (string)
  • Address (string)
-Control-
  • Need Personnel Care (user)
  • Ignore? (select: ignore/Response)
  • Consult? (select: NO/Ask Marketing)
  • Consult? (select: NO/Ask Marketing)
-Communication-
  • Correspondence (discussion)


In this Workflow Definition, after prospected customer types in Web form, Sales office does [1. Irregular Check] . "Duplicate entry" or "obvious spam entries" are eliminated by visual inspection. It could be checked by two to three people even in large-scale campaign. Rather fewer people would be better because they can share "know-hows" easily.

By the way, about the split condition to [0. Exception], variety of rules can be assumed, like string of "test" was content in the Web form entry. It is useful for prior testing on form.

And If you'd like to send emails automatically responding to the requester "We have received your request. We will soon ship" etc., just place Automatic email send Icon (Message Throwing Intermediate Event) right after [1. Irregular check].

<Email setting screen>


<Tasks>
0. Exception, 1. Irregular check, 1b. Clerical questions, 2. Important clients, 3. Mail Processing, 3b. Questions


0. Exception, 1. Irregular check, 1b. Clerical questions, 2. Important clients, 3. Mail Processing, 3b. Questions


<Similar models>





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.

Example)

https://s.questetra.net/XXXXXXXX/System/Event/MessageStart/start?processModelInfoId=ZZ&nodeNumber=WW&key=YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

In this example, the input values are data[1] (Name requester(Org.)), data[2] (Position), data[3] (Name), data[4] (Email Address), data[5] (Phone), data[6] (Posting Address) and data[7] (Address).

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: "Web_Info_Request"
* Questions: "Name requester(Org.)", "Position", "Name", "Email Address", "Phone", "Posting Address" and "Address"

You should get a spreadsheet with "Name requester(Org.)" in column A, "Position" in column B, "Name" in column C, "Email Address" in column D, "Phone" in column E, "Posting Address" in column F and "Address" in column G.

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

function myFunction() {
}

...with...

function startWorkflow(e) {
var longurl = "https://s.questetra.net/XXXXXXXX/System/Event/MessageStart/start";
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]);
payload += '&data[4].input=' + encodeURIComponent(e.values[4]);
payload += '&data[5].input=' + encodeURIComponent(e.values[5]);
payload += '&data[6].input=' + encodeURIComponent(e.values[6]);
payload += '&data[7].input=' + encodeURIComponent(e.values[7]);
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].
Voila!


Reference: