Action Definition
Last updated
Last updated
Action definitions define the base parameters for contextual and reporting actions. You can configure your own action definitions or re-use the default options. To see the currently configured action definitions, type view -a
in Salem Chat and navigate to Configs > ActionDefinition.
Definition: Specifies the type of action to be executed by the ActionDefinition object.
Supported action types:
Chat
Webhook
Chat actions are used by ReportConf and other internal processes to communicate with users.
Specifications:
params <dict>
role <list>
Definition: Email actions are used by ReportConf objects to interface with target email resources.
Specifications:
params <dict>
role <list>
Definition: Webhook ActionDefinitions allow Salem to interact with third-party systems, either as ActionConf or ReportConf actions. There are several default configurations pre-loaded into Salem, to access/edit type view -a in Salem Chat and navigate to Configs > ActionDefinition.
The action completed by a webhook object, including authentication methods and attempted requests, are defined as part of the parameters listed below.
Specifications:
credentials
<dict>: authentication attributes.
action_type
<str>: accepts "webhook" or "report_webhook"
disabled
<bool>: true/false whether the ActionDefinition has been disabled.
input
<dict>:
static_keys
<dict>: GUIDs for target resources to be called in the http request.
input_keys
<list dict>: query or reporting.
requests
<list dict>: types and format of http requests to target resources.
timeout
<dict>: length of time before no response
results
<dict>: expected format of response
Definition: The credentials
parameter specifies the authentication fields needed to authenticate calls made to the actions specified in the requests
parameter of the same ActionDefinition
object.
Default credential fields:
user
: The user name used to authenticate Salem to a third-party system.
secret_name
: The name of a secret in a key vault that contains the credential used to access a third-party system.
vault_url
: The FQDN (ex: https://{vaultName}
.vault.azure.net) of the key vault where the secret is stored.
Definition: The input.input_keys parameter defines the fields Salem users can interact with once the system is configured.
Specifications:
key
: The name of the value object, referenced in the requests parameter.
example
: An example of the expected response from the user.
description
: A description for how the value will be used.
The requests parameter dictates the composition, sequence, and construction of http requests made by the ActionDefinition.
Salem offers a set of preconfigured webhook actions for your convenience. These out-of-the-box webhook actions seamlessly integrate with the following services:
Azure Log Analytics
Microsoft Graph API
You can configure default webhook actions in Salem using one of two methods::
Editing ActionDefinition object directly within Salem:
Access Salem's admin command by sending view -a
to Salem.
Select "View Configs" and then "ActionDefinition" to view available actions.
Locate and select the ActionDefintion you wish to configure/enable.
Update the configuration by replacing placeholder values (denoted by <>) in the existing config and changing the "disabled" value to 0.
Once done, update the configuration by using the update button and pasting in your newly changed JSON config.
Entering fields in the system configuration workflow:
The system configuration workflow streamlines system configurations and is accessible to Salem admins. The workflow inputs are dynamically created based on the fields in the specified ActionDefinition. See ActionDefinition System Configurations for additional details on specific system configuration.
Workflow inputs:
Credentials: (inputs generated based on credentials
)
Salem expects a key vault for bot authentication. See webhook auth documentation for additional detail.
Customer Environment Identifiers: (inputs generated based on static_keys
)
Salem expects your
Webhook Request Inputs: (inputs generated based on input_keys
)
The request expects a valid query, with any required parameters, to validate the connection. The request can be
Note: the system configuration workflow currently only supports query webhook actions and not report webhook actions.
By default, one email ActionDefinition is defined, called Email Notify. To enable use of this ActionDefinition, add a target email server and port. Additionally, see the default configuration default_email_notify to configure reporting preferences.
All parameters can be to fit whatever configuration required of an organization, including unique key structures, authentication methods, and http methods.
Definition: The input.static_keys field includes the id tags for the target resources used in the HTTP calls defined in the parameter. Typically, the values of these IDs will mimic a GUID structure.
This documentation provides general guidance on configuring and customizing these system integrations. For in-depth information about each of these systems, refer to the documentation.
OPTIONAL: If configuring an ActionDefinition with the action_type of "report_webook," you should also enable/configure/update the reporting parameters in the ReportConf config to match your expectations. You can read more about the options here:
Contact for assistance creating new webhook integrations with third-party tools.