Bulk importing controls

Bulk import controls if you need to avoid time-consuming manual data entry or migrate data from another system.

You can also update multiple controls at once using sessions in Bulk Importer. For more information, see Update existing controls in bulk.

How it works

You open a new Bulk Importer session and download the Excel template from the Bulk Importer page in the Launchpad. You prepare data in the template and then you upload the template in the Bulk Importer page.

Where are the uploaded controls?

Once you upload controls, the data is accessible within the Project Plan or Risk Control Matrix of the project or framework.

Controls are also available in the downloadable Risk Control Matrix reports and the OrganizationNameProject Report (final audit report).

Before you start

Before you begin to import controls, you need to:

  1. Create a project through the Bulk Importer by filling in the Projects worksheet or from the user interface; OR
    create a framework through the Bulk Importer by filling in the Frameworks worksheet or from the user interface.
  2. Define objectives through the Bulk Importer by filling in the Objectives worksheet or from the user interface.

Note

Using the Bulk Importer, you can create many Diligent One resources in a single import. You can fill in the worksheets of all the resources required and import them all, in one go.

Workflow

Permissions

Only System Admins can bulk upload Diligent One resources from Bulk Importer.

Upload new controls in bulk

Notes

  • Interface terms are customizable, and fields and tabs are configurable. In your instance of Diligent One, some terms, fields, and tabs may be different.
  • If a required field is left blank, you will see a warning message: This field is required. Some custom fields may have default values.

Open a new Bulk Importer session and download the Excel template

  1. Open Launchpad.

    Note

    If your company uses more than one instance in Launchpad, make sure the appropriate instance is active.

  2. Select Organization Settings > Organization.

    If you do not see Organization as an option, the account you used to sign in does not have Admin privileges.

  3. Under Bulk Importer, click Manage bulk resources.

    A new Bulk Importer session begins, with the session ID appended to the URL.

    Caution

    Always begin a new session to add new resources, else you may lose previously uploaded data.

    Note

    You can use previous sessions to update previously uploaded data. For more information, see Update functionality in the Bulk Importer.

  4. Under Select resource, select one of the following options in the resource type:

    • Projects > Project names To create controls for a particular project. The template is dynamic and has built-in configurations of the selected project. Using this method, you can create multiple Diligent One resources (objectives, risks, controls, and mitigations) belonging to a particular project.
    • Frameworks > Framework names To create controls for a particular framework. The template is dynamic and has built-in configurations of the selected framework. Using this method, you can create multiple Diligent One resources (objectives, risks, controls, and mitigations) belonging to a particular framework.
    • Projects > Project types To create controls for a project or a framework, based on a project type. The template is dynamic and has built-in configurations of the selected project type. Using this option, you can add multiple Diligent One resources (projects, frameworks, objectives, risks, controls, and mitigations), based on a project type. You can do the same thing using the Frameworks > Project types option too.
    • All resources To bulk import all resources at once: projects, frameworks, objectives, risks, controls, mitigations, issues, actions, requests, entities, and compliance maps. The template is static and it takes some effort to complete, as you will have to figure out the configuration of the resources manually.
  5. Click Download .xlsx Template.

    The Excel template saves to your local machine.

Prepare data in the template

  1. Open the downloaded template and go to the Controls worksheet.
  2. Copy and paste or enter your data into the template. For help with entering data, see Tips for preparing content.
    Note
    • If you use Add-In for Excel, ensure the ACL Add-In option is disabled before modifying the Excel template. To learn how to do it, see Configuring Add-In for Excel.
    • Do not change the name of the worksheet or the fields. These are case sensitive and must not be modified.
    • The maximum number of rows that can be uploaded at once is 2000 (including all the worksheets).
    FieldDescription

    referenceId

    mandatory

    Specifies a unique ID for the resource. This must be unique for each row in the worksheet.

    It can contain a combination of text and numbers, and the maximum length is 255 characters.

    This field is the primary key for each row in the template. You will need this key if you want to update this resource again.

    Important

    You can use reference IDs to associate resources to one another, on the fly. For example, you can create a new project and a new objective associated to that project in the same upload. You can do this by creating a link between the project and the objective by providing referenceId in the required field.

    To learn more about associating Diligent One resources in Bulk Importer, see Using reference IDs to link resources in Bulk Importer.

    Note

    Reference IDs are required when you add or update resources using the Bulk Importer. They are not available when you add / update resources from the user interface of Diligent One.

    objectiveId

    mandatory

    Specifies ID of the objective that you want to associate this control to.

    You can find objective ID in the URL when you navigate to an objective.

    For example: 

    https://stark.projects.highbond.com/
    audits/13659/objectives/6616
    , where 6616 is the objective ID.

    Note

    Alternatively, in this field, you can provide reference ID of a new objective that you have added in the current template. This will associate the control with the objective when you upload the template.

    To learn more about associating Diligent One resources in Bulk Importer, see Using reference IDs to link resources in Bulk Importer.

    For information about objectives, see Defining objectives .

    title

    Specifies title of the control.

    For information about controls, see Defining risks and controls.

    description

    mandatory

    Specifies detailed description of the control.

    Tip

    Use HTML tags to format text. For example: <b>, <i>, <ol>, <ul>.

    controlId

    mandatory

    Specifies the reference number or code for the control.

    owner

    Specifies name or email ID of the person responsible for the control.

    This field is best suited to add non-Diligent One users.

    ownerUser

    Specifies user ID (UID) or email ID of the person responsible for the control.

    Learn how to get the UID of a user.

    You cannot add non-Diligent One users to this field.

    Note that specifying an ownerUser overrides any value provided in the owner field.

    Note

    Ensure the user you want to add to this field has already been assigned to the respective project / framework.

    To learn about assigning user roles, see Assigning user roles in projects and frameworks

    frequency

    conditionally mandatory

    Specifies the testing frequency.

    The options available depend on the project type.

    This field will help in determining the default testing method and sample size in the test plan.

    For more information about this field, see Executing procedures and testing controls.

    method

    Specifies how the control will be tested or implemented.

    The options available depend on the project type.

    controlType

    conditionally mandatory

    Specifies the type of control.

    The options available depend on the project type.

    This field will help in determining the default testing method and sample size in the test plan.

    For more information about this field, see Executing procedures and testing controls.

    preventDetect

    conditionally mandatory

    Specifies whether the control is intended to prevent or detect risk, or if it is not applicable.

    The options available depend on the project type.

    status

    Specifies the current state of the control.

    The options available depend on the project type.

    position

    Specifies value that determines the order in which the control is displayed.

    Tip

    Fill in the values in sequential order, so that the resources appear in the same order after the import.

    entities

    Specifies entity IDs of the entities that are tagged to the control.

    You can find entity ID in the URL when you navigate to an entity.

    For example: 

    https://stark.projects.highbond.com/
    auditable_entities/33055
    , where 33055 is the entity ID.

    You can provide multiple IDs separated by commas.

    Note

    Alternatively, in this field, you can provide reference ID of a new entity that you have added in the current template. This will associate the control with the entity when you upload the template.

    To learn more about associating Diligent One resources in Bulk Importer, see Using reference IDs to link resources in Bulk Importer.

    For information about entities, see Setting up entity tagging.

    customAttributes_1_term - customAttributes_n_term

    Specifies custom attribute fields 1 through n.

    The custom attributes in the Excel template depend on the type of template, as follows:

    • Project names / Framework names / Project types: By default, the template will contain the custom attribute fields defined in the project type.
    • All resources: You have to manually check and enter the custom attribute fields, both the term and the value. The template will have one pair of custom attribute term and value, and you can add nine more pairs if required. To add, follow the same naming convention by adding a counter, for example: customAttributes_2_term, customAttributes_2_value, etc.

    The custom attributes of a project, framework, and their components are defined in the project type. For more information about custom attributes, see Customizing terms, fields, and notifications.

    customAttributes_1_value - customAttributes_n_value

    Specifies custom attribute values 1 through n.

    The custom attributes in the Excel template depend on the type of template, as follows:

    • Project names / Framework names / Project types: By default, the template will contain the custom attribute fields defined in the project type.
    • All resources: You have to manually check and enter the custom attribute fields, both the term and the value. The template will have one pair of custom attribute term and value, and you can add nine more pairs if required. To add, follow the same naming convention by adding a counter, for example: customAttributes_2_term, customAttributes_2_value, etc.

    The custom attributes of a project, framework, and their components are defined in the project type. For more information about custom attributes, see Customizing terms, fields, and notifications.

    Note
    • If a value begins with a square bracket or contains a comma, semicolon, or a line break, enclose the value in double quotation marks (" ").
      For example: "[2021]", "First, second asset", "This is important; this too".
    • For a multiple choice field, you can add multiple values by separating each value with a comma.
    • For a dropdown list or a multiple choice field, ensure the values are exactly the same as provided in the options.

    control_test_plan_testingMethod

    Specifies how evidence will be obtained.

    The options available depend on the project type.

    control_test_plan_testSteps

    Specifies the steps or attributes associated with the test plan.

    Tip

    Use HTML tags to format text. For example: <b>, <i>, <ol>, <ul>.

    control_test_plan_totalSampleSize

    Specifies the total sample size, split among testing rounds.

    Note

    If this field is left blank, the total sample size mentioned in the project is taken.

    For more information about control test plans, see Executing procedures and testing controls.

    control_test_plan_customAttributes_1_term - control_test_plan_customAttributes_n_term

    Specifies custom attribute fields 1 through n for the control test plan.

    The custom attributes in the Excel template depend on the type of template, as follows:

    • Project names / Framework names / Project types: By default, the template will contain the custom attribute fields defined in the project type.
    • All resources: You have to manually check and enter the custom attribute fields, both the term and the value. The template will have one pair of custom attribute term and value, and you can add nine more pairs if required. To add, follow the same naming convention by adding a counter, for example: customAttributes_2_term, customAttributes_2_value, etc.

    The custom attributes of a project, framework, and their components are defined in the project type. For more information about custom attributes, see Customizing terms, fields, and notifications.

    control_test_plan_customAttributes_1_value - control_test_plan_customAttributes_n_value

    Specifies custom attribute values 1 through n for the control test plan.

    The custom attributes in the Excel template depend on the type of template, as follows:

    • Project names / Framework names / Project types: By default, the template will contain the custom attribute fields defined in the project type.
    • All resources: You have to manually check and enter the custom attribute fields, both the term and the value. The template will have one pair of custom attribute term and value, and you can add nine more pairs if required. To add, follow the same naming convention by adding a counter, for example: customAttributes_2_term, customAttributes_2_value, etc.

    The custom attributes of a project, framework, and their components are defined in the project type. For more information about custom attributes, see Customizing terms, fields, and notifications.

    Note
    • If a value begins with a square bracket or contains a comma, semicolon, or a line break, enclose the value in double quotation marks (" ").
      For example: "[2021]", "First, second asset", "This is important; this too".
    • For a multiple choice field, you can add multiple values by separating each value with a comma.
    • For a dropdown list or a multiple choice field, ensure the values are exactly the same as provided in the options.

    walkthrough_walkthroughResults

    Specifies description that captures the results of performing the walkthrough.

    walkthrough_controlDesign

    Specifies whether the control design passes or fails.

    • True: Passes.
    • False: Fails.

    The options available depend on the project type.

    walkthrough_customAttributes_1_term - walkthrough_customAttributes_n_term

    Specifies custom attribute fields 1 through n for the walkthrough.

    The custom attributes in the Excel template depend on the type of template, as follows:

    • Project names / Framework names / Project types: By default, the template will contain the custom attribute fields defined in the project type.
    • All resources: You have to manually check and enter the custom attribute fields, both the term and the value. The template will have one pair of custom attribute term and value, and you can add nine more pairs if required. To add, follow the same naming convention by adding a counter, for example: customAttributes_2_term, customAttributes_2_value, etc.

    The custom attributes of a project, framework, and their components are defined in the project type. For more information about custom attributes, see Customizing terms, fields, and notifications.

    walkthrough_customAttributes_1_value - walkthrough_customAttributes_n_value

    Specifies custom attribute values 1 through n for the walkthrough.

    The custom attributes in the Excel template depend on the type of template, as follows:

    • Project names / Framework names / Project types: By default, the template will contain the custom attribute fields defined in the project type.
    • All resources: You have to manually check and enter the custom attribute fields, both the term and the value. The template will have one pair of custom attribute term and value, and you can add nine more pairs if required. To add, follow the same naming convention by adding a counter, for example: customAttributes_2_term, customAttributes_2_value, etc.

    The custom attributes of a project, framework, and their components are defined in the project type. For more information about custom attributes, see Customizing terms, fields, and notifications.

    Note
    • If a value begins with a square bracket or contains a comma, semicolon, or a line break, enclose the value in double quotation marks (" ").
      For example: "[2021]", "First, second asset", "This is important; this too".
    • For a multiple choice field, you can add multiple values by separating each value with a comma.
    • For a dropdown list or a multiple choice field, ensure the values are exactly the same as provided in the options.

    controlTests_1_notApplicable

    conditionally mandatory

    Specifies whether control test 1 is applicable to the testing round or not.

    • True: Control test is not applicable to the testing round.
    • False: Control test is applicable to the testing round.

    The controlTests_1_notApplicable is one of the control test fields. Each control test has its own set of fields, and there can be a maximum of four control tests. To learn more, see Control test fields.

    controlTests_1_sampleSize

    Specifies the total sample size, split among testing rounds.

    The controlTests_1_sampleSize is one of the control test fields. Each control test has its own set of fields, and there can be a maximum of four control tests. To learn more, see Control test fields.

    controlTests_1_testingResults

    Specifies detailed evaluation that describes whether or not the control is operating effectively.

    The controlTests_1_testingResults is one of the control test fields. Each control test has its own set of fields, and there can be a maximum of four control tests. To learn more, see Control test fields.

    controlTests_1_testingConclusion

    Specifies whether the control passes or fails.

    • True: Passes.
    • False: Fails.

    The options available depend on the project type.

    is one of the control test fields.

    The controlTests_1_testingConclusion is one of the control test fields. Each control test has its own set of fields, and there can be a maximum of four control tests. To learn more, see Control test fields.

    controlTests_1_assignedUserId

    Specifies user ID (UID) or email ID of the person who is assigned to the control test.

    Learn how to get the UID of a user.

    The controlTests_1_assignedUserId is one of the control test fields. Each control test has its own set of fields, and there can be a maximum of four control tests. To learn more, see Control test fields.

    controlTests_1_customAttributes_1_term

    Specifies custom attribute fields 1 through n.

    The custom attributes in the Excel template depend on the type of template, as follows:

    • Project names / Framework names / Project types: By default, the template will contain the custom attribute fields defined in the project type.
    • All resources: You have to manually check and enter the custom attribute fields, both the term and the value. The template will have one pair of custom attribute term and value, and you can add nine more pairs if required. To add, follow the same naming convention by adding a counter, for example: customAttributes_2_term, customAttributes_2_value, etc.

    The custom attributes of a project, framework, and their components are defined in the project type. For more information about custom attributes, see Customizing terms, fields, and notifications.

    controlTests_1_customAttributes_1_value

    Specifies custom attribute values 1 through n.

    The custom attributes in the Excel template depend on the type of template, as follows:

    • Project names / Framework names / Project types: By default, the template will contain the custom attribute fields defined in the project type.
    • All resources: You have to manually check and enter the custom attribute fields, both the term and the value. The template will have one pair of custom attribute term and value, and you can add nine more pairs if required. To add, follow the same naming convention by adding a counter, for example: customAttributes_2_term, customAttributes_2_value, etc.

    The custom attributes of a project, framework, and their components are defined in the project type. For more information about custom attributes, see Customizing terms, fields, and notifications.

    Note
    • If a value begins with a square bracket or contains a comma, semicolon, or a line break, enclose the value in double quotation marks (" ").
      For example: "[2021]", "First, second asset", "This is important; this too".
    • For a multiple choice field, you can add multiple values by separating each value with a comma.
    • For a dropdown list or a multiple choice field, ensure the values are exactly the same as provided in the options.
    Note

    In the dynamic template, for a dropdown field, the options in the dropdown list appear only for the first row. To get those options for more rows, copy the first row and paste it to the rows required.

    Note

    A single control test has the following fields:  controlTests_1_notApplicable, controlTests_1_sampleSize, controlTests_1_testingResults , controlTests_1_testingConclusion, controlTests_1_assignedUserId, and custom attributes.

    There can be a maximum of four control tests, depending on the type of template, as follows:

    • Project / Framework name (dynamic): Will contain the number of control tests defined in the project (with each control test having its own set of fields).
    • Project type (dynamic): Will contain all the four control tests (with each control test having its own set of fields) that have been defined in the project type.
    • All resources (static) : Will contain two control tests (with each control test having its own set of fields). You can manually add two more if required. To add, follow the same naming convention by adding a counter, for example: controlTests_3_notApplicable, controlTests_4_notApplicable.
  3. Save and close the template.

Tips for preparing content

Preparing content involves:

  • copying and pasting your source data into the Excel template
  • entering data, where applicable, in the Excel template
  • saving the template in preparation for bulk upload

Using reference IDs to link resources in Bulk Importer

Reference ID is a field in the Bulk Importer Excel template. It is the first field in all the worksheets and is available for all the resources. It is a unique identifier for each record in the worksheet.

Using reference IDs, you can associate Diligent One resources to each other, on the fly. For example, you can create a project and an objective that is associated to the project in the same import. You can do this by providing referenceId in the required field.

Upload data

Do one of the following:

  • Drag and drop the template into the browser window.
  • Click Choose from your computer and select the updated template from your computer.

    Only one Excel template can be uploaded at a time (each file is validated separately).

  • Result A success or failure message appears depending on the outcome of the process, and the latest session is updated in the Sessions table.

Sessions in Bulk Importer

A session in the Bulk Importer is a series of user interactions to import Diligent One resources. Each user session is recorded in the Sessions table.

The Sessions table contains the following information.

Field Name

Description

Web Sessions

Shows the list of web sessions.

A web session refers to a session completed using the Bulk Importer user interface. A new session begins each time you open the Bulk Importer page.

API Sessions

Shows the list of API sessions.

An API session refers to a session completed using an API platform such as Postman, etc.

Refresh

Reloads the Sessions table.

Session ID

Session identifier.

In Web Sessions, you can click on the session ID to go to a particular session, and the session ID is appended to the URL.

For example: https://stark.bulkimporter.highbond.com/import/bcc1e04e-4cd3-46d2-a8be-0b9083baccdc, where
bcc1e04e-4cd3-46d2-a8be-0b9083baccdc is the session ID.

Note

Session IDs of both the web and API sessions look similar, ensure not to interchange the IDs to avoid any errors.

Date

Shows the date and time of the session. You can sort the date in ascending or descending order.

Uploaded By

Shows the name of the user.

Status

Shows the status of the upload, if it was successful or not.

You can click on the status to view the complete import details.

File Name

Shows the name of the uploaded template / error log. For example: HighBond_Template.xlsx, ErrorLog.xlsx.

Template You can click and download the template to correct any previously uploaded data.

Error log An error log is generated when an upload fails. You can check the error log to rectify the errors and re-upload the template.

Note
  • The template and error log are available for download for up to 18 months from the date of upload.
  • The link to download the template is available for the Bulk Importer sessions beginning May 13, 2022. You cannot download the template for the sessions prior to this date.

Update existing controls in bulk

You can update multiple items at once in Bulk Importer using sessions.

Note

You can only update resources that you have uploaded using Bulk Importer.

Troubleshooting

You can download and check the error log from the Sessions table. Understand common bulk upload errors and learn how to fix errors.

The following table provides a list of possible errors that may occur when uploading the template.

Error Solution(s)
There may be more than 2000 rows in the uploaded file (including all the worksheets). Remove the extra rows from the template and re-upload.
Mandatory fields may be blank or missing in the uploaded file. Ensure that all mandatory fields (marked with red and orange column names in the template) are completed.
Note

If you do not provide data in the mandatory fields, the row is not processed.

Data format may be incorrect.

Ensure that data in text fields is valid and does not exceed the maximum field length: 255 characters.

Rich text fields do not have a character limit.

Data values may be invalid or may not match the dropdown values.

For example: The value for received and sendRecurrentNotifications fields in the Requests sheet must be True or False.

Invalid fields in the template.
  • Do not add new fields to the template.
  • Do not remove fields from the template.
Template may not be in expected format.

Ensure the file format is .xlsx.

Invalid worksheet names.

Do not change the name of the worksheet.

Session may have expired.

Refresh the page and try uploading again.

Session ID may be invalid. Ensure you are using a web session ID.