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.

How to Use Checklist Design Loader

To create a checklist design using Checklist Design Loader:

  1. Navigate to the Checklist Design record list page.
  2. Create a new Checklist Design record.
  3. 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.
  4. In the Upload Design Configuration dialog, click Choose and select the CSV file.
  5. 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.
  6. Click Submit to upload the file. The Submit button will not be active for invalid files.
  7. 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 the targetObject value 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 the useraction__c target object.
  • name: Vault uses the name value 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 the created_by__v user is 1615347 in 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__v does not exceed 20.
  • Number of question_design__sys records for a single section does not exceed 50.
  • Number of answers in available_answer_design__sys does not exceed 10.
  • Number of question_design__sys records with question_design__sys.conditional__sys equals true does not exceed 20.
  • The column question_design__sys.object_type__v includes only valid options:
    • text_question__sys
    • date_question__sys
    • number_question__sys
    • multiple_choice_question__sys
  • The values for question_design__sys.question_help_text__v do not exceed 300 characters.
  • The values for question_design__sys.XXX_required__sys (for example, doc_attachments_required__sys) can only be “true” if question_design__sys.XXX_allowed__sys (for example, doc_attachments_allowed__sys) is “true.”
  • The values for question_design__sys.documents_allowed__sys and available_answer_design__sys.documents_allowed__sys include only valid options:
    • true
    • false
    • Null
  • The values for question_design__sys.documents_allowed__sys and available_answer_design__sys.documents_allowed__sys do not both contain a value of true for the same row.
  • The values for question_design__sys.documents_required__sys and available_answer_design__sys.documents_required__sys include only valid options:
    • single_document__sys
    • multiple_documents__sys
    • not_required__sys
    • Null
  • Values in question_design_sys.name__v are 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 the question_design_sys.name__v field. If you export an existing checklist design and you specify existing question_design_sys.name__v field 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__sys is greater than the value for question_design__sys.minimum_answer_value__sys.
  • Values for available_answer_design__sys are 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__sys is different from dependency_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__sys includes only valid options:
    • text__sys
    • long_text__sys
    • rich_text__sys
    • Null (treated as text__sys)
  • A value for dynamic_questions_in_checklist_section__sys must be present if contains_dynamic_questions__sys is true. A value is not allowed in dynamic_questions_in_checklist_section__sys if contains_dynamic_questions__sys is false or null
  • The value for dynamic__sys can be true only if dynamic_questions_in_checklist_section__sys contains a value that does not exceed 50 and contains_dynamic_questions__sys is true. If contains_dynamic_questions__sys is false or null, dynamic__sys must be false for questions in the same Section.
  • Introduction sections cannot contain values in contains_dynamic_questions__sys and dynamic_questions_in_checklist_section__sys
  • The dynamic__sys value cannot equal true for controlling and dependent questions
  • The contains_dynamic_questions__sys value cannot equal true for dependent sections
  • The targetObject in the string for section_design__sys.section_condition__sys and question_design__sys.question_condition__sys must match the target object of the checklist design to which you are uploading the CSV file
  • When section_design__sys.conditional__sys is true, section_design__sys.section_condition__sys cannot be blank and must follow the correct syntax
  • When question_design__sys.conditional__sys is true, question_design__sys.question_condition__sys cannot be blank and must follow the correct syntax
  • section_design__sys.conditional__sys cannot be true when the section contains question designs with question_design__sys.conditional__sys set to true