KnowBe4 (KMSAT) Data Source
KnowBe4 (KMSAT)
Configure Using a Template
The following endpoint templates are available for configuring KnowBe4 (KMSAT) data sources. These templates provide pre-configured settings for common API endpoints, making it easy to set up data sources without manual API configuration.
- Select one of the following endpoint templates to configure your data source:
Configure Manually
If you need to configure a custom API endpoint that isn't available as a template, you can manually configure the data source using the KnowBe4 Reporting API. This section provides guidance on manual configuration for custom endpoints.
API Method
Select the HTTP method for your API request. The KnowBe4 Reporting API primarily uses GET requests for retrieving data. Choose the method that matches your API endpoint requirements.
API Endpoint URL
Enter the complete API endpoint URL for the KnowBe4 Reporting API endpoint you want to access. The URL should include your account server location and the API endpoint path.
URL Format:
- Base URL: Your KnowBe4 account server location (e.g.,
https://us.api.knowbe4.com,https://eu.api.knowbe4.com) - Endpoint path: The API endpoint path (e.g.,
/v1/users,/v1/groups,/v1/training/enrollments) - Complete URL example:
https://us.api.knowbe4.com/v1/users
You can use Nexla macros in the URL to make it dynamic. For example, you can use {now} to include the current timestamp, or reference data from other Nexla sources using lookup-based macros.
Path to Data
Specify the JSON path to the data you want to extract from the API response. Use dot notation to access nested data structures.
JSON Path Examples:
$[*]- Extract all items from the root array$.data.items[*]- Extract all items from a nested array$.users[*]- Extract all users from a users array
The KnowBe4 Reporting API typically returns data in arrays, so you'll commonly use paths like $[*] to extract all items from the response.
Pagination
Configure pagination settings if your API endpoint supports pagination. The KnowBe4 Reporting API uses incrementing page numbers for pagination.
Pagination Configuration:
- Pagination Type: Select "Incrementing" for KnowBe4 API endpoints
- Start Page: Set the starting page number (typically 1)
- Page Size Parameter: Specify the query parameter name for page size (e.g.,
per_page) - Page Number Parameter: Specify the query parameter name for page number (e.g.,
page) - Expected Rows per Page: Set the expected number of records per page (e.g., 100)
The KnowBe4 Reporting API typically uses page and per_page query parameters for pagination, with a default page size of 100 records.
Request Headers
Configure any additional HTTP headers required for your API request. The KnowBe4 API authentication is handled automatically by the credential, but you may need to add custom headers for specific endpoints.
Common Headers:
Content-Type: application/json- For JSON request bodiesAccept: application/json- To specify JSON response format
Metadata
Configure metadata paths to preserve contextual information from API responses, such as timestamps, request IDs, or pagination information. This helps maintain context about when data was retrieved and how it was obtained.
Scheduling
Configure the schedule for your data source to determine how frequently data should be retrieved from the KnowBe4 API. You can set up cron expressions for regular data synchronization or use manual triggers for on-demand data retrieval.
Scheduling Options:
- Cron Expression: Use cron syntax to define regular intervals (e.g.,
0 0 * * *for daily at midnight) - Manual Trigger: Enable manual triggering for on-demand data retrieval
Consider the KnowBe4 Reporting API rate limits when configuring your schedule. The API has a daily limit of 2,000 requests plus the number of licensed users on your account. Exceeding this limit will result in a 429 (Too Many Requests) error.
The KnowBe4 Reporting API has rate limits that should be considered when configuring data sources. The daily limit is 2,000 requests plus the number of licensed users on your account. If you encounter rate limit errors, consider reducing the frequency of data retrieval or distributing requests over a longer period. For detailed information about API rate limits and best practices, refer to the KnowBe4 Reporting API documentation.