Tool: list_integration_actions
Lists all the actions for a given SOAR Integration. You can also list actions across all integrations by passing "-" as the integration_id.
Retrieves a paginated list of all available actions for a specific integration. Actions are the specific, executable functions that an integration provides, such as 'block_ip', 'get_user_details', or 'analyze_url'. This is useful for discovering the capabilities of a particular integration and what automated or manual steps can be taken.
Workflow Integration:
- Populates a UI with a list of available actions for an analyst to choose from when building a playbook or taking manual action.
- Enables automated systems to discover and validate the actions that can be executed through a specific integration before attempting to run them.
- Essential for playbook development and for understanding the available automated capabilities of each integrated tool.
Use Cases:
- A SOAR engineer lists the actions for a newly installed EDR integration to understand what it can do.
- A security analyst, working on a case, lists the actions for the EDR integration to see if there's an action to 'isolate_host'.
- An automated script queries the available actions to ensure an action like 'suspend_user' exists before attempting to use it in a playbook.
Example Usage:
list_integration_actions(projectId='123', region='us', customerId='abc', integrationId='my-edr-integration')list_integration_actions(projectId='123', region='us', customerId='abc', integrationId='-')
Next Steps (using MCP-enabled tools):
- Use 'get_integration_action' with an action's resource name to fetch its full details, including the script.
- Use 'execute_manual_action' to run one of the discovered actions on a case or alert. Note: manual actions can ONLY be executed on open alerts (not closed ones).
The following sample demonstrate how to use curl to invoke the list_integration_actions MCP tool.
| Curl Request |
|---|
curl --location 'https://chronicle.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "list_integration_actions", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Request message for ListIntegrationActions.
ListIntegrationActionsRequest
| JSON representation |
|---|
{ "projectId": string, "customerId": string, "region": string, "integrationId": string, "pageSize": integer, "pageToken": string, "filter": string, "orderBy": string } |
| Fields | |
|---|---|
projectId |
Required. Google Cloud project ID. |
customerId |
Required. Chronicle customer ID. |
region |
Required. Chronicle region (e.g., "us", "europe"). |
integrationId |
The ID of the integration to list actions for (required). If "-" is provided, actions for all integrations will be listed. |
pageSize |
The maximum number of actions to return in a single response. |
pageToken |
A token for fetching a specific page of results, obtained from a previous call. |
filter |
A filter string to apply to the list of actions. Supported filter fields are Id, Author, DisplayName, Custom, HasJsonResult, and Integration. Example: "DisplayName:"Block IP" AND Author:"John Doe"" |
orderBy |
A comma-separated list of fields to sort the results by. Supported fields are DisplayName, Author, and Custom. Example: "DisplayName asc" |
Output Schema
Response message for ListIntegrationActions.
ListIntegrationActionsResponse
| JSON representation |
|---|
{
"actions": [
{
object ( |
| Fields | |
|---|---|
actions[] |
The list of IntegrationActions. |
nextPageToken |
A token, which can be sent as |
totalSize |
Output only. Total number of IntegrationActions. |
IntegrationAction
| JSON representation |
|---|
{ "name": string, "displayName": string, "script": string, "timeoutSeconds": integer, "asyncPollingIntervalSeconds": integer, "asyncTotalTimeoutSeconds": integer, "dynamicResults": [ { object ( |
| Fields | |
|---|---|
name |
Identifier. The unique name(ID) of the action. Format: projects/{project}/locations/{location}/instances/{instance}/integrations/{integration}/actions/{action} |
displayName |
Required. Action's definition name, limited to a maximum of 150 characters. |
script |
Required. Action's script, limited to a maximum size of 5MB. |
timeoutSeconds |
Required. Action timeout in seconds. The maximum allowed value is 1200 seconds. |
asyncPollingIntervalSeconds |
Optional. The async polling interval time in seconds. The maximum allowed value can not exceed total timeout secs. Relevant only for async actions |
asyncTotalTimeoutSeconds |
Optional. The total async polling interval timeout in seconds. The maximum allowed value is 14(days)x24x3600 = 1209600 secs. Relevant only for async actions |
dynamicResults[] |
Optional. List of dynamic results metadata. The max count for the items is 50. |
parameters[] |
Optional. Action's parameters. The max count for the items is 50. |
integration |
Output only. The parent integration identifier. |
integrationInstances[] |
Output only. The integration instances. |
id |
Output only. The action id. |
aiCategories[] |
Output only. The categories of the action, generated by AI. |
entityTypes[] |
Output only. The entity types that the action can run on. For example, if it's an action that runs on an IP (like EnrichIP), this will be ["ADDRESS"]. |
Union field
|
|
description |
Optional. Action's description, limited to a maximum or 400 characters. |
Union field
|
|
author |
Output only. User that created the action in the system. |
Union field
|
|
enabled |
Required. Determines whether the action is enabled or disabled. |
Union field
|
|
scriptResultName |
Required. The script result name. Describes the field name that holds the script result. Has a maximum character limit of 100 characters. |
Union field
|
|
async |
Required. Determines whether the action is async or not. |
Union field
|
|
defaultResultValue |
Optional. Action's default result value. Has a maximum character limit of 1000 characters. |
Union field
|
|
widgetTemplateIdentifier |
Output only. The widget template identifier. Relevant only for actions which contain a widget. |
Union field
|
|
custom |
Output only. Determines whether the action is custom or not. |
Union field
|
|
hasJsonResult |
Output only. Describes whether the action has a json result. |
Union field
|
|
dynamicResultsMetadataJson |
Output only. The dynamic results metadata json. |
Union field
|
|
aiGenerated |
Optional. Determines whether the action was generated by AI or not. |
Union field
|
|
actionType |
Output only. Action type. |
Union field
|
|
aiDescription |
Output only. The description of the action, generated by AI. |
DynamicResultMetadata
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field
|
|
resultName |
Output only. The result name. |
Union field
|
|
resultExample |
Optional. The result example. Has a maximum character limit of 100000 characters. |
Union field
|
|
displayResult |
Required. Determines whether to display the result. |
ActionParameter
| JSON representation |
|---|
{ "id": integer, "actionId": integer, "optionalValues": [ string ], // Union field |
| Fields | |
|---|---|
id |
Output only. The parameter's id. |
actionId |
Output only. The action's id. |
optionalValues[] |
Optional. Parameter's optional values. The max count for the items is 50. |
Union field
|
|
mandatory |
Required. Describes whether the parameter is mandatory. |
Union field
|
|
defaultValue |
Optional. The default value of the parameter. Has a maximum character limit of 150 characters. |
Union field
|
|
displayName |
Required. The parameter's display name. Has a maximum character limit of 150 characters. |
Union field
|
|
type |
Required. The parameter's type. |
Union field
|
|
description |
Required. The parameter's description. Has a maximum character limit of 150 characters. |
IntegrationInstance
| JSON representation |
|---|
{ "name": string, "environment": string, "displayName": string, "parameters": [ { object ( |
| Fields | |
|---|---|
name |
Identifier. The unique name of the integration instance. Format: projects/{project}/locations/{location}/instances/{instance}/integrations/{integration}/integrationInstances/{instance} |
environment |
Required. The integration instance environment. |
displayName |
Optional. The display name of the integration instance. Automatically generated if not assigned. Limited to 110 characters. |
parameters[] |
Optional. Integration's parameters. |
integrationIdentifier |
Output only. The integration identifier. |
identifier |
Output only. The integration instance identifier. |
Union field
|
|
description |
Optional. The integration instance description. Limited to 1500 characters. |
Union field
|
|
configured |
Output only. Determines whether the integration instance is configured. |
Union field
|
|
remote |
Output only. True if the integration instance is a remote instance. Instance is created with remote = false by default. |
Union field
|
|
agent |
Optional. The agent identifier for a remote integration instance |
Union field
|
|
systemDefault |
Output only. Indicates whether the integration instance is the system default. |
IntegrationInstanceParameter
| JSON representation |
|---|
{ "id": string, "displayName": string, "type": enum ( |
| Fields | |
|---|---|
id |
Output only. The unique id of the integration instance parameter. |
displayName |
Output only. The integration instance parameter display name. |
type |
Output only. The integration instance parameter type. |
Union field
|
|
description |
Output only. The integration instance parameter description. |
Union field
|
|
propertyName |
Output only. The integration instance parameter property name. |
Union field
|
|
mandatory |
Output only. Indicates if the parameter is required when configuring the integration instance. |
Union field
|
|
value |
Optional. The parameter's value. |
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌