When using the Form Task, you have the option to prefill (autofill) fields with data from previous forms or system data. Here we explain how this is done.
The General Settings area also provides three (3) additional form prefill options that enable you to prefill a form with existing data depending on when/where the form is started. These settings apply to the entire form and will try to fill all questions on the form, except for the "Specific Question Prefills Settings" choice, which allows you to choose individual questions. You should set up the prefill options so that the most specific option has first priority. If a question has a form-wide prefill setting as first priority, specific question prefills will not work correctly.
Please Note: a form task will first pull data from the previous form iteration (if it exists) if set to do so. If there is no previous iteration, then it will fill data from any matching task question, and then from a specific question prefill. Whatever values are found first according to the order (even empty values) will be used.
The following table describes each setting and the behavior:
|Prefill with all matching data from||Name of a task in the process or Any Matching Task Question||
This is used when you would like one task to fill all or most of a form based on another form task being completed. This is also used in cases where the process loops back on itself. To handle this you would set the task to prefill itself with its own data. Since it is possible to have the same form twice in a process you can use this option to have one form fill another even by different users.
Auto-complete this task with pre-fill data
Always, Never, When process is launched as a child request
|By default, the selection will be Never but you may have a process that requires the form task to auto-complete without a task recipient completing the form (typical when using the Launch Request task). If that is the case, select either Always or When the process is launched as a child request. For example, you may have a parent process that triggers a child or related request of a different process. You may want users to be able to start a request separately and complete the first form task in the child process but if the process is launched as a child, you may want the initial form task to auto-complete with some pre-fill data from the parent which could then trigger other downstream tasks without a user completing the initial form task.|
Every question on a form may be individually prefilled when the form is loaded. It is possible to prefill one question from the value from one form and another question with the value from second form.
After a form has been associated with a task, the Advanced Settings tab will be available to individually configure each question on a form is desired:
By selecting the Edit pencil icon on the line for a specific question, a dialog will be presented that will allow you to select the Source for that question’s prefill:
A form question may be prefilled from another task such as another form’s question value, user information (Requester, Client, etc), and information about the request itself.
Note: Not all sources in the drop-down list are valid for all Task Types (e.g. Fixed Value). If you try to use a source that is not allowed, you will be notified with an "Invalid Selection" error.
In this scenario, since the question is called Applicant Name and we will prefill the question with the requester's Name from their user profile:
Now, each time this form is executed, the 'Applicant Name' question will always be prefilled with the requester’s Name.
Note: If you add a question to an existing form that has already been configured as part of a form task, you will need to use the "Import Questions" menu button to add those new questions to the list of available questions to prefill. The new questions will not appear on the list automatically. Also, if you remove questions from a form, the question list for the form task will also not be updated until you click the "Import Fields" button.