Document toolboxDocument toolbox

KnowBe4

[ 1 Connect KnowBe4 with Devo SOAR ] [ 2 Actions for KnowBe4 ] [ 2.1 List Users ] [ 2.1.1 Input Field ] [ 2.1.2 Output ] [ 2.2 List Users In Group ] [ 2.2.1 Input Field ] [ 2.2.2 Output ] [ 2.3 List Groups ] [ 2.3.1 Input Field ] [ 2.3.2 Output ] [ 2.4 Get Risk Score of Group ] [ 2.4.1 Input Field ] [ 2.4.2 Output ] [ 3 Release Notes ]

KnowBe4 is the world’s largest integrated platform for security awareness training combined with simulated phishing attacks.

Connect KnowBe4 with Devo SOAR

  1. Navigate to Automations > Integrations.

  2. Search for KnowBe4.

  3. Click Details, then the + icon. Enter the required information in the following fields.

  4. Label: Enter a connection name.

  5. Reference Values: Define variables here to templatize integration connections and actions. For example, you can use https://www.{{hostname}}.com where, hostname is a variable defined in this input. For more information on how to add data, see 'Add Data' Input Type for Integrations.

  6. Verify SSL: Select option to verify connecting server's SSL certificate (Default is Verify SSL Certificate).

  7. Remote Agent: Run this integration using the Devo SOAR Remote Agent.

  8. API Key: API key for KnowBe4. It should have all the necessary permissions.

  9. Base URL: Base URL (Example 'https://us.api.knowbe4.com' or 'https://eu.api.knowbe4.com' without quotes).

  10. After you've entered all the details, click Connect.

Actions for KnowBe4

List Users

Retrieves a list of all users in your KnowBe4 account.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input Name

Description

Required

Input Name

Description

Required

Additional Params

Jinja-templated JSON containing params to be passed in request. Example: '{"status": "active","expand": "group"}'. Status can either be 'active' or 'archived'.

Optional

Explode Results

Explode each result in a separate row. (Default is No)

Optional

Output

JSON containing the following items:

``` {json}{ "has_error": false, "result":[{ "provisioning_managed": true, "aliases": [ "test@email.com" ], "custom_field_4": "", "organization": "", "first_name": "test", "custom_date_2": null, "phone_number": "", "location": null, "email": "test@email.com", "phish_prone_percentage": 100, "mobile_phone_number": "", "last_sign_in": "2020-08-13T09:21:16.000Z", "job_title": "", "custom_field_1": "", "manager_email": null, "groups": [], "current_risk_score": 38.9, "division": "Sales", "manager_name": null, "provisioning_guid": null, "department": "", "custom_field_2": "", "employee_start_date": null, "joined_on": "2018-05-10T06:13:24.000Z", "has_error": false, "id": 1474666, "language": "", "error": null, "last_name": "test", "status": "archived", "comment": "", "custom_field_3": "", "custom_date_1": null, "employee_number": "", "archived_at": "2020-11-10T13:09:40.000Z", "extension": "" }] }

## Get Specific User Retrieves a specific user based on the provided user identifier. ### Input Field Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection. | Input Name | Description | Required | | :--------- | :----------------------------------------------------------------- | :------- | | User Id | [Jinja-templated](doc:jinja-template) text containing the user ID. | Required | ### Output JSON containing the following items: ``` {json}{ "has_error": false, "result":{ "provisioning_managed": true, "aliases": [ "test@email.com" ], "custom_field_4": "", "organization": "", "first_name": "test", "custom_date_2": null, "phone_number": "", "location": null, "email": "test@email.com", "phish_prone_percentage": 100, "mobile_phone_number": "", "last_sign_in": "2020-08-13T09:21:16.000Z", "job_title": "", "custom_field_1": "", "manager_email": null, "groups": [], "current_risk_score": 38.9, "division": "Sales", "manager_name": null, "provisioning_guid": null, "department": "", "custom_field_2": "", "employee_start_date": null, "joined_on": "2018-05-10T06:13:24.000Z", "has_error": false, "id": 1474666, "language": "", "error": null, "last_name": "test", "status": "archived", "comment": "", "custom_field_3": "", "custom_date_1": null, "employee_number": "", "archived_at": "2020-11-10T13:09:40.000Z", "extension": "" } }

List Users In Group

Retrieves a list of all users who are members of a specific group.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input Name

Description

Required

Input Name

Description

Required

Group Id

Jinja-templated text containing the group ID.

Required

Explode Results

Explode each result in a separate row. (Default is No)

Optional

Output

JSON containing the following items:

``` {json}{ "has_error": false, "result":[{ "provisioning_managed": true, "aliases": [ "test@email.com" ], "custom_field_4": "", "organization": "", "first_name": "test", "custom_date_2": null, "phone_number": "", "location": null, "email": "test@email.com", "phish_prone_percentage": 100, "mobile_phone_number": "", "last_sign_in": "2020-08-13T09:21:16.000Z", "job_title": "", "custom_field_1": "", "manager_email": null, "groups": [], "current_risk_score": 38.9, "division": "Sales", "manager_name": null, "provisioning_guid": null, "department": "", "custom_field_2": "", "employee_start_date": null, "joined_on": "2018-05-10T06:13:24.000Z", "has_error": false, "id": 1474666, "language": "", "error": null, "last_name": "test", "status": "archived", "comment": "", "custom_field_3": "", "custom_date_1": null, "employee_number": "", "archived_at": "2020-11-10T13:09:40.000Z", "extension": "" }] }

## Get Risk Score of User Retrieves risk score history for a specific user based on the provided user identifier. ### Input Field Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection. | Input Name | Description | Required | | :-------------- | :------------------------------------------------------------------------------------------------------------------------------- | :------- | | User Id | [Jinja-templated](doc:jinja-template) text containing the user ID. | Required | | Full Risk Score | Include the entire risk score history of a specific user. If this parameter isn't used, six months of data will show by default. | Optional | ### Output JSON containing the following items: ``` {json}{ "result": [ { "risk_score": 43.5, "date": "2024-01-14T00:00:00.000Z" }, { "risk_score": 44.7, "date": "2024-01-20T00:00:00.000Z" }, { "risk_score": 40, "date": "2024-01-21T00:00:00.000Z" }, { "risk_score": 42.2, "date": "2024-01-28T00:00:00.000Z" }, { "risk_score": 43.3, "date": "2024-01-29T00:00:00.000Z" }, { "risk_score": 41.9, "date": "2024-01-31T00:00:00.000Z" }, { "risk_score": 45.2, "date": "2024-02-04T00:00:00.000Z" }, { "risk_score": 43, "date": "2024-02-11T00:00:00.000Z" }, { "risk_score": 46.2, "date": "2024-02-18T00:00:00.000Z" }, { "risk_score": 44.8, "date": "2024-02-19T00:00:00.000Z" }, { "risk_score": 40.4, "date": "2024-02-25T00:00:00.000Z" }, { "risk_score": 42.9, "date": "2024-03-01T00:00:00.000Z" }, { "risk_score": 48.3, "date": "2024-03-03T00:00:00.000Z" }, { "risk_score": 50.3, "date": "2024-03-06T00:00:00.000Z" }, { "risk_score": 45.5, "date": "2024-03-10T00:00:00.000Z" }, { "risk_score": 44.3, "date": "2024-03-17T00:00:00.000Z" }, { "risk_score": 42.2, "date": "2024-03-22T00:00:00.000Z" }, { "risk_score": 45.1, "date": "2024-03-24T00:00:00.000Z" }, { "risk_score": 45.2, "date": "2024-03-29T00:00:00.000Z" }, { "risk_score": 47.3, "date": "2024-04-05T00:00:00.000Z" }, { "risk_score": 50, "date": "2024-04-06T00:00:00.000Z" }, { "risk_score": 48.7, "date": "2024-04-07T00:00:00.000Z" }, { "risk_score": 50.4, "date": "2024-04-14T00:00:00.000Z" } ], "error": null, "has_error": false }

List Groups

Retrieves a list of all groups in your KnowBe4 account.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input Name

Description

Required

Input Name

Description

Required

Additional Params

Jinja-templated JSON containing params to be passed in request. Example: '{"status": "active"}'. Status can either be 'active' or 'archived'.

Optional

Explode Results

Explode each result in a separate row. (Default is No)

Optional

Output

JSON containing the following items:

``` {json}[ { "name": "Sales", "group_type": "console_group", "member_count": 0, "current_risk_score": 0, "provisioning_guid": null, "has_error": false, "id": 61325, "error": null, "status": "archived" } ]

## Get Specific Group Retrieves a specific group based on the provided group identifier. ### Input Field Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection. | Input Name | Description | Required | | :--------- | :------------------------------------------------------------------ | :------- | | Group Id | [Jinja-templated](doc:jinja-template) text containing the group ID. | Required | ### Output JSON containing the following items: ``` {json}{ "name": "Sales", "group_type": "console_group", "member_count": 0, "current_risk_score": 0, "provisioning_guid": null, "has_error": false, "id": 61325, "error": null, "status": "archived" }

Get Risk Score of Group

Retrieves risk score history for a specific group based on the provided group identifier.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input Name

Description

Required

Input Name

Description

Required

Group Id

Jinja-templated text containing the group ID.

Required

Full Risk Score

Include the entire risk score history of a specific group. If this parameter isn't used, six months of data will show by default.

Optional

Output

JSON containing the following items:

{json}{ "result": [ { "risk_score": 43.5, "date": "2024-01-14T00:00:00.000Z" }, { "risk_score": 44.7, "date": "2024-01-20T00:00:00.000Z" }, { "risk_score": 40, "date": "2024-01-21T00:00:00.000Z" }, { "risk_score": 42.2, "date": "2024-01-28T00:00:00.000Z" }, { "risk_score": 43.3, "date": "2024-01-29T00:00:00.000Z" }, { "risk_score": 41.9, "date": "2024-01-31T00:00:00.000Z" }, { "risk_score": 45.2, "date": "2024-02-04T00:00:00.000Z" }, { "risk_score": 43, "date": "2024-02-11T00:00:00.000Z" }, { "risk_score": 46.2, "date": "2024-02-18T00:00:00.000Z" }, { "risk_score": 44.8, "date": "2024-02-19T00:00:00.000Z" }, { "risk_score": 40.4, "date": "2024-02-25T00:00:00.000Z" }, { "risk_score": 42.9, "date": "2024-03-01T00:00:00.000Z" }, { "risk_score": 48.3, "date": "2024-03-03T00:00:00.000Z" }, { "risk_score": 50.3, "date": "2024-03-06T00:00:00.000Z" }, { "risk_score": 45.5, "date": "2024-03-10T00:00:00.000Z" }, { "risk_score": 44.3, "date": "2024-03-17T00:00:00.000Z" }, { "risk_score": 42.2, "date": "2024-03-22T00:00:00.000Z" }, { "risk_score": 45.1, "date": "2024-03-24T00:00:00.000Z" }, { "risk_score": 45.2, "date": "2024-03-29T00:00:00.000Z" }, { "risk_score": 47.3, "date": "2024-04-05T00:00:00.000Z" }, { "risk_score": 50, "date": "2024-04-06T00:00:00.000Z" }, { "risk_score": 48.7, "date": "2024-04-07T00:00:00.000Z" }, { "risk_score": 50.4, "date": "2024-04-14T00:00:00.000Z" } ], "error": null, "has_error": false }

Release Notes

  • v1.0.1 - Initial release with 7 actions: List Users, Get Specific User, List Users In Group, Get Risk Score of User, List Groups, Get Specific Group and Get Risk Score of Group actions.