The Checklist Design Loader allows Admins to upload a complete design, including all related object records (Section Design, Available Answer Design, etc.) as a single CSV file.
How to Enable Checklist Design Loader
In order to use Checklist Design Loader, you must configure the Upload Design Configuration user action on one or more states of the Checklist Design Lifecycle. This action allows a user to upload a Checklist Design CSV. For Checklist Designs with Aggregate Checklists set to Yes, this action is not available.
Exporting Checklist Designs
You can export your checklist designs and share them with other Vaults. Vault exports your designs in CSV format, allowing you to upload them to any Vault. Add the Export Checklist Design user action to any lifecycle state on a Checklist design object lifecycle to set this up. For Checklist Designs with Aggregate Checklists set to Yes, this action is not available.
This action exports all related design records including sections, questions, answers, and question dependencies. Vault sends a notification when your checklist design is ready to download along with a link to download the file. You can upload your design with the Checklist Design Loader.
Note: Vault will not include the following characters in the file name of an export: <,>,:,”“,/,|,\?,*.
How to Use Checklist Design Loader
To create a checklist design using Checklist Design Loader:
- Navigate to the Checklist Design record list page.
- Create a new Checklist Design record.
- From the All Actions menu on the Checklist Design record, select Upload Design Configuration. The label may be different based on your configuration and the record must be in a state where the user action is configured.
- In the Upload Design Configuration dialog, click Choose and select the CSV file.
- Vault validates that the CSV file is in the proper format, includes all required columns, and does not exceed Vault limits for number of records or file size. If the file is invalid, you’ll see an error. The loader does not support custom fields.
- Click Submit to upload the file. The Submit button will not be active for invalid files.
- The loader will process the CSV, create records, and send a notification when the process is complete. If the loader encounters any errors while processing the file, Vault will not create any records, and you will receive a notification. From the notification, you can download a CSV file with detailed error messages.
Template CSV File
Download:
Conditional Sections & Questions
When using the Checklist Design Loader to export and upload checklist designs that include conditional sections and questions, Vault includes strings with the section and question conditions as well as the target object in the Section Condition (section_design__sys.section_condition__sys) and Question Condition (question_design__sys.question_condition__sys) columns in the checklist design CSV file. Vault uses the following JSON syntax for these strings:
[{"op":"operator","lhs":"object_field__c","rhs":"field_value","targetObject":"target_object__c","names":["record name"]}]
See Condition Syntax for information about the op, rhs, and lhs key-value pairs required for the Section Condition and Question Condition fields.
When uploading a checklist design CSV, the Section Condition and Question Condition fields also require the targetObject key, and the name key is optional.
targetObject: Vault uses thetargetObjectvalue to validate that both the CSV file and the checklist design to which you are uploading the CSV file use the same target object. This attribute is required."targetObject":"useraction__c": Vault validates that the checklist design to which you are uploading the CSV file uses theuseraction__ctarget object.
name: Vault uses thenamevalue to match to a record when uploading a CSV that may have been exported from a different Vault. The record may have different record IDs between Vaults, but if they have the same record name, Vault can use the name to match to the appropriate record. This attribute is optional when the source Vault (for export) and the target Vault (for import) are the same.[{"op":"IN","lhs":"created_by__v","rhs":["1615347"],"targetObject":"useraction__c","names":["john.smith@veepharm.com"]}]: In this example, the record ID of thecreated_by__vuser is1615347in the exporting Vault, which may not match the record ID of the user in the importing Vault. The record uses the same name (john.smith@veepharm.com) in both Vaults, so the name value is used to match to the record.
CSV File Validation
Vault validates the CSV file according to the conditions below. Review the limits for conditional, dependent, and dynamic questions and sections when creating your CSV input file.
- Number of unique section names in
section_design__sys.name__vdoes not exceed 20. - Number of
question_design__sysrecords for a single section does not exceed 50. - Number of answers in
available_answer_design__sysdoes not exceed 10. - Number of
question_design__sysrecords withquestion_design__sys.conditional__sysequals true does not exceed 20. - The column
question_design__sys.object_type__vincludes only valid options:text_question__sysdate_question__sysnumber_question__sysmultiple_choice_question__sys
- The values for
question_design__sys.question_help_text__vdo not exceed 300 characters. - The values for
question_design__sys.XXX_required__sys(for example,doc_attachments_required__sys) can only be “true” ifquestion_design__sys.XXX_allowed__sys(for example,doc_attachments_allowed__sys) is “true.” - The values for
question_design__sys.documents_allowed__sysandavailable_answer_design__sys.documents_allowed__sysinclude only valid options:truefalseNull
- The values for
question_design__sys.documents_allowed__sysandavailable_answer_design__sys.documents_allowed__sysdo not both contain a value of true for the same row. - The values for
question_design__sys.documents_required__sysandavailable_answer_design__sys.documents_required__sysinclude only valid options:single_document__sysmultiple_documents__sysnot_required__sysNull
- Values in
question_design_sys.name__vare unique within a particular section. Values that appear in the CSV in this column are not uploaded to Vault. The values in this column in the CSV only define dependent questions. Since this is a system-managed field, when uploaded to Vault, the system assigns the next appropriate values for thequestion_design_sys.name__vfield. If you export an existing checklist design and you specify existingquestion_design_sys.name__vfield values, the next time you upload the Checklist Design using the Checklist Design Loader, Vault deletes all existing records in the checklist design and related records (sections, questions, answers, and dependencies) and replaces them with the new values from the CSV. - The value for
question_design__sys.maximum_answer_value__sysis greater than the value forquestion_design__sys.minimum_answer_value__sys. - Values for
available_answer_design__sysare unique for a specific question. - Values for text fields do not exceed the configured maximum number of characters.
- Values for Yes/No (boolean) fields are either “true” or “false”.
- Values for number fields are within the configured range.
- Values for
question_design_sys.decimal_places__sys, if present, are integers from 0 to 9. - Only multiple choice questions can be referenced under
dependency_design__sys.controlling_question__sys. - For a given record,
dependency_design__sys.controlling_question__sysis different fromdependency_design__sys.dependent_question__sys. - Introduction-type section designs do not include any questions.
- Introduction-type section designs do not include a weight (
section_design_sys.weight__sys). - The delimiter used to separate values for values related to answer options throughout the CSV is the “
;” semicolon. - The value for
comment_type__sysincludes only valid options:text__syslong_text__sysrich_text__sysNull(treated astext__sys)
- A value for
dynamic_questions_in_checklist_section__sysmust be present ifcontains_dynamic_questions__sysis true. A value is not allowed indynamic_questions_in_checklist_section__sysifcontains_dynamic_questions__sysis false or null - The value for
dynamic__syscan be true only ifdynamic_questions_in_checklist_section__syscontains a value that does not exceed 50 andcontains_dynamic_questions__sysistrue. Ifcontains_dynamic_questions__sysisfalseornull,dynamic__sysmust be false for questions in the same Section. - Introduction sections cannot contain values in
contains_dynamic_questions__sysanddynamic_questions_in_checklist_section__sys - The
dynamic__sysvalue cannot equal true for controlling and dependent questions - The
contains_dynamic_questions__sysvalue cannot equal true for dependent sections - The
targetObjectin the string forsection_design__sys.section_condition__sysandquestion_design__sys.question_condition__sysmust match the target object of the checklist design to which you are uploading the CSV file - When
section_design__sys.conditional__sysis true,section_design__sys.section_condition__syscannot be blank and must follow the correct syntax - When
question_design__sys.conditional__sysis true,question_design__sys.question_condition__syscannot be blank and must follow the correct syntax section_design__sys.conditional__syscannot be true when the section contains question designs withquestion_design__sys.conditional__sysset to true