Plugins: Workflow

This category plugins are used to perform workflow operations. You can send data between surveys or forms.

1. Workflow - Sends new survey to respondents with the autofilled data gathered from different survey.
2. Survey Opening Validator - Allows or denies access to a survey depending on the response from the third-party application.
3. Remote Data Sender - Sends data as a HTTP request to a third party applications.
4. Logical Remote Data Sender - Sends data as an HTTP request to a third party application if a certain logical condition is met.
5. Expired Link Blocker - Blocks unique respondents links after the indicated period of time.
6. Logical Workflow - This plugin allows you to email a survey or formwith some pre-filled answers taken from previously submitted survey or form. 
7. Copy Responses - Creates a copy of a response provided in a survey and passes it to the indicated field in another survey.
8. External JDBC database writer - Allows you to send respondent information in relation normal form to a third party database via JDBC. It takes some time to transfer data from a form or survey to your database. You can refer to XML export files to see the entire data structure of the form/survey.
9. Logical Workflow (Participant Portal) - Enables you to deploy a form on Participant Portal for a given user when the current survey/form is submitted.
10. Task Workflow (Participant Portal) - Deploys a form on Participant Portal for a user when the current survey/form is submitted.

Workflow - This plugin is commonly used to send invitation to a new survey and autofill that survey with the data from the other submitted survey.
Let us take a look at the following example:

When surveys are ready for launch insert plugin and adjust the following parameters:

  1. *Target Form or Survey Id - Indicate target survey ID to pass data from the first survey for. ID is a six digit number within the survey Master URL. For example: http://www.keysurvey.com/survey/ 11501/206c/. Survey ID is 11501.
  2. *Question References - Insert references to a questions you are sending data from and to using the Qx.Ay=Qw.Az format where:
    x - question number of the source survey you are sending data from;
    y - answer choice number of the source survey you are sending data from;
    w - question number of the target survey you are sending data to;
    z - answer choice number of the target survey you are sending data to.
Note

  • Data can not be passed from one survey to another between questions of '3D Matrix' and 'Compare One Against Another' types.
  • If you pass data for questions of 'Multi-Line' or 'Single-Line' types and comment fields of appropriate questions no more than 1024 characters will be imported. Characters that exceed the limit will be truncated.


Survey Opening Validator - This plugins is used to verify if a specific respondent can open and submit your survey upon the response from the third-party application.

  1. *Remote URL - Indicate a third-party application URL to which the validation request will be sent using the following format: http://domain.com
  2. *HTTP Request Method - Select the request method which will be used to access a third-party application. It is recommended to use the 'POST' method if the URL is very long or has some non-ASCII characters. Use 'GET' if the target form is idempotent (usually a pure query form).
  3. *Activation Criteria - Indicate the activation criteria as a value or use regular expression.
    Regular expression example: ^\[0-9]$, which means that if server response is an integer from 1 to 9, it satisfies indicated expression.
    If a response from the remote server matches indicated criteria, the survey or form will be served to respondent. This parameter can not be empty.
  4. *Validation Parameters - Input parameter names and values using the Param_Name=Param_value format. For example FF_01=Q1.A1, where FF_01 is the arbitrary unique name of the parameter you are sending data to, Q1.A1 is the parameter value which gets data from the survey question. To use send multiple parameters use the following syntax: FF_01=Qx.Ay&FF_02=Qx.Ay.Cz
  5. *Alert Message - If a response from the remote server does not match the Activation Criteria, this message will be displayed to survey or form respondent.
  6. Redirect URL - If the response from the remote server does not match the Activation Criteria, respondents will be redirected to the URL indicated here. This can be URL to any webpage or to your website. For example http://worldapp.com
  7. *Serve survey if remote service is down: - this parameter defines survey bahaviour if the remote service does not response and there is no chance to validate respondents. You can allow respondents to fill they surveys by selecting 'Yes'. Select 'No' to redirect them to the URL indicated in the 'Redirect URL' parameter above.
  8. Error Message & Redirect URL - If the remote server generates an exception, you can redirect respondents to the external URL depending on the received error. Input error message that can be received from the remote server and URL to redirect respondents.
    For example: remote server generates an exception and sends error message 'Error1' and you want respondents to be redirected to the http://worldapp.com website. Thus the syntax will be as follows Error1 -> http://worldapp.com. You can add as many items as you need by clicking the Add button.

Remote Data Sender - This plugin is used to send data from the survey that is submitted by respondents to a third party applications via HTTP request.

  1. *Remote URL - Indicate URL to access a third party and send the data to. Here you can add {RespondentID} and {FormID} formats to get respondent ID and form ID respectively. For example, the remote URL http://192.168.1.1/remote.php?respondent={RespondentID}&formID={FormID} would return respondent = 123456789 surveyID = 123456 on a server.
  2. *HTTP Request Method - Select the request method you want to use when sending data.
    POST - is recommended for using if the URL of the third party application is very long or contains non-ASCII characters.
    GET - this method is recommended if target application is idempotent.
  3. Timeout - specify a possible timeout of a third party application where you want to send the data.
  4. Submit Value - Provide parameter for submit event.
  5. *Form Elements Names and Values - Input parameter names and values using the Param_Name=Param_value format. For example FF_01=Q1.A1, where FF_01 is the arbitrary name of the parameter you are sending data to, Q1.A1 is the parameter value.

Logical Remote Data Sender - This plugin is used to send data from the survey that is submitted by respondents to a third party applications via HTTP request and only if the indicated condition is met.

  1. *Remote URL - Indicate URL to access a third party and send the data to. Here you can add {RespondentID} and {FormID} formats to get respondent ID and form ID respectively. For example, the remote URL http://192.168.1.1/remote.php?respondent={RespondentID}&formID={FormID} would return respondent = 123456789 surveyID = 123456 on a server.
  2. *HTTP Request Method - Select the request method you want to use when sending data.
    POST - is recommended for using if the URL of the third party application is very long or contains non-ASCII characters.
    GET - this method is recommended if target application is idempotent.
  3. Submit Value - Provide parameter for submit event.
  4. *Send When Next or Submit - If your survey has more that one page you can enable data sending when respondents click Submit only or when they navigating between survey pages.
  5. *Logical Expression to Enable Sending - Indicate logical expression when the request should be sent depending on the respondents answers. If no expression is used, request will be sent at any case.
  6. *Form Elements Names and Values - Input parameter names and values using the Param_Name=Param_value format. For example FF_01=Q1.A1, where FF_01 is the arbitrary name of the parameter you are sending data to, Q1.A1 is the parameter value.

Expired Link Blocker - This plugin is used to allow respondents open their unique links that were distributed by means of Email or Password distribution methods during a specified period of time.

  1. *Days to Live - Specify the number of days so the unique links can be accessible by respondents.
  2. *Redirect URL - Indicate the URL and respondents will be redirected to this URL after the links are expired.
  3. *Info Message - This parameter can be used if you do not want to redirect respondents to the external URL and want to notify them with the info message.

Logical Workflow - This plugin is basically a Workflow plugin that could be triggered by certain criteria.

  1. *Target Form or Survey Id - Indicate target survey ID to pass data from the first survey for. ID is a six digit number within the survey Master URL. For example: http://www.keysurvey.com/f/ 115011/206c/. Survey ID is 115011.
  2. Logical condition - specify logical expression that would trigger the workflow. Use the Qx.Ay.Cz format here.
  3. Name of link - Enter the link name, and link to target form will look as clickable name. Leave it empty if you want to see just html link instead of linked name. Piping is supported.
  4. *Question References - Insert references to a questions you are sending data from and to using the Qx.Ay=Qw.Az format where:
    x - question number of the source survey you are sending data from;
    y - answer choice number of the source survey you are sending data from;
    w - question number of the target survey you are sending data to;
    z - answer choice number of the target survey you are sending data to.

Copy Responses - copies the responses provided in a survey and passes them to the indicated fields in another survey. It allows to set up an advanced workflow with options for synchronized responses updating and deletion in connected surveys.

  1. *Logical Condition - Specify the logical condition, based on which the plugin should be triggered. If this field is empty, the plugin would be executed on every submit. You can use Qx.Ay.Cz references in here, AND, OR, NOT operators and regular expressions.
  2. * Target Form or Survey Id - Enter the unique ID of the survey or form into which the data should be copied .
  3. Copy Respondent Id - Indicate the text field in a survey where Respondent ID will be stored. If this parameter is indicated, copied responses would be updated automatically if respondent comes back and updates original response.
  4. Question References - Enter paired references here to specify questions to pass the data from and to. Use Qx.Ay.Cz= Qa.Ab.Cc format in here. Example: Q1=Q5 means that response from question 1 of the original survey will be placed into the question 5 of the destination survey.

Note

  • Parameters marked with * are required.
  • Autocomplete function allows you faster and easier insert questions references. After entering Q or Qx.A system will show you the list of available questions or answer options. Picked element will be substituted by its sequence number within the survey.

External JDBC database writer - allows you to send respondent information in relation normal form to a third party database via JDBC. It takes some time to transfer data from a form or survey to your database. You can refer to XML export files to see the entire data structure of the form/survey.

  1. * URL - Specify the DB URL in format like jdbc:mysql://192.168.0.1:3306/dbname .
  2. * Login - the DB login.
  3. * Password - the DB password.
  4. Question References - Enter paired references here to specify questions to pass the data from and to. Use Qx.Ay.Cz= Qa.Ab.Cc format in here. Example: Q1=Q5 means that response from question 1 of the original survey will be placed into the question 5 of the destination survey.
  5. * Select your database - Choose from the Supported databases.
  6. Respondent table name - The name of table, where respondents are stored. If this field is empty then default name is 'tblRespondent'.
  7. Numeric results table name - The name of table, where numeric results are stored. If this field is empty then default name is 'tblNumericResults'.
  8. Text results table name - The name of table, where text results are stored. If this field is empty then default name is 'tblTextResults'.
  9. Matrix 3D results table name - The name of table, where matrix 3D results are stored. If this field is empty then default name is 'tblMatrixResults'.

Logical Workflow (Participant Portal) - enables you to deploy a form on Participant Portal for a given user when the current survey/form is submitted.

  1. * Target survey/form Id - Please enter the numeric ID of the survey or form into which the data should be imported. (This ID can be retrieved from the Master URL).
  2. Logical condition - Specify the logical expression that would determine if the plugin should execute.
  3. * Contact Manager - Please select a Contact Manager for which the new form should be published.
  4. * Contact ID Field - Please enter a reference to the form field where the value of the Unique Key column is stored for the user for whom the new form will need to be launched. Must be in Qx.Ay format.
  5. * Question References - Specify the question references. Use the paired format shown here: Qx.Ay=Qx.Ay where x,y are sequence numbers of questions and answer options you are referencing to. Left part of the formula references the original (source) survey. Right part of the formula references the new (destination) survey. Example: Q1.A1=Q5.A3 means that question 1 answer 1 of the original survey will be placed into question 5 answer 3 of the new survey.

 

Task Workflow (Participant Portal) - enables you to deploy a form on Participant Portal for a given user when the current survey/form is submitted.

  1. * Task definition - Task definition which will be used to create task
  2. * Task name - Task name may include question references like [Q1.A1] which will be substituted by real answers.
  3. Task description - Task description may include question references like [Q1.A1] which will be substituted by real answers.
  4. Logical expression - Specify logical expression for conditional plugin execution.
  5. * Contact manager - The contact manager used to look up for task assignees.
  6. * Task assignee field - Specify answer reference like Qx.Ay whose value will be used as a contact ID.
  7. * Question References - Specify question references to autofill new survey/form. Use following format: Qx=Qy or Qx.Ay=Qz.Ac.

 

See Also:
  1. Plugins