KnowBe4

Version: 1.0.1

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

Connect KnowBe4 with LogicHub

  1. Navigate to Automations > Integrations.
  2. Search for KnowBe4.
  3. Click Details, then the + icon. Enter the required information in the following fields.
    • Label: Enter a connection name.
    • 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.
    • Verify SSL: Select option to verify connecting server's SSL certificate (Default is Verify SSL Certificate).
    • Remote Agent: Run this integration using the LogicHub Remote Agent.
    • API Key: API key for KnowBe4. It should have all the necessary permissions.
    • Base URL: Base URL (Example 'https://us.api.knowbe4.com' or 'https://eu.api.knowbe4.com' without quotes).
  4. 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 NameDescriptionRequired
Additional ParamsJinja-templated JSON containing params to be passed in request. Example: '{"status": "active","expand": "group"}'. Status can either be 'active' or 'archived'.Optional
Explode ResultsExplode each result in a separate row. (Default is No)Optional

Output

JSON containing the following items:

{
  "has_error": false,
  "result":[{
    "provisioning_managed": true,
    "aliases": [
      "[email protected]"
    ],
    "custom_field_4": "",
    "organization": "",
    "first_name": "test",
    "custom_date_2": null,
    "phone_number": "",
    "location": null,
    "email": "[email protected]",
    "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 NameDescriptionRequired
User IdJinja-templated text containing the user ID.Required

Output

JSON containing the following items:

{
  "has_error": false,
  "result":{
    "provisioning_managed": true,
    "aliases": [
      "[email protected]"
    ],
    "custom_field_4": "",
    "organization": "",
    "first_name": "test",
    "custom_date_2": null,
    "phone_number": "",
    "location": null,
    "email": "[email protected]",
    "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 NameDescriptionRequired
Group IdJinja-templated text containing the group ID.Required
Explode ResultsExplode each result in a separate row. (Default is No)Optional

Output

JSON containing the following items:

{
  "has_error": false,
  "result":[{
    "provisioning_managed": true,
    "aliases": [
      "[email protected]"
    ],
    "custom_field_4": "",
    "organization": "",
    "first_name": "test",
    "custom_date_2": null,
    "phone_number": "",
    "location": null,
    "email": "[email protected]",
    "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 NameDescriptionRequired
User IdJinja-templated text containing the user ID.Required
Full Risk ScoreInclude 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:

{
  "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 NameDescriptionRequired
Additional ParamsJinja-templated JSON containing params to be passed in request. Example: '{"status": "active"}'. Status can either be 'active' or 'archived'.Optional
Explode ResultsExplode each result in a separate row. (Default is No)Optional

Output

JSON containing the following items:

[
  {
    "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 NameDescriptionRequired
Group IdJinja-templated text containing the group ID.Required

Output

JSON containing the following items:

{
  "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 NameDescriptionRequired
Group IdJinja-templated text containing the group ID.Required
Full Risk ScoreInclude 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:

{
  "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.