Overview
Action nodes are the workhorses of your workflows. They execute tasks on target systems via agents and connections — from SSH commands and Kubernetes operations to Slack messages and Jira tickets.SSH
Remote commands and scripts
Kubernetes
Deployments, pods, and logs
HTTP
API requests to any endpoint
Slack
Messages and reactions
Jira
Issues, comments, transitions
Script
Bash, PowerShell, Python
OS Service
Start, stop, restart services
SMTP email notifications
Every action node has two output handles: Success (bottom-left) and Error (bottom-right). Connect an Error Handler to the error output for automated failure handling.
SSH
Remote command execution and script deployment on Linux/Unix servers via SSH.ssh.executeCommand
ssh.executeCommand
Execute a single command on the remote server.
Output variables:
Example: Restart a service after an incident
ssh.executeScript
ssh.executeScript
Upload and execute a multi-line script on the remote server.
Example: Collect diagnostic info
Script
Execute scripts locally on the agent machine. No remote connection needed.- Bash
- PowerShell
- Python
Action type:
script.bashstdout, stderr, exitCode (same as SSH)
HTTP
Make HTTP/HTTPS requests to any API endpoint. Useful for interacting with REST APIs, triggering webhooks, and checking service health. Action type:http.request
Output variables:
By default, the HTTP executor blocks requests to private IP ranges (127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to prevent SSRF attacks. To allow private network access, set
ALLOW_PRIVATE_NETWORK=true on the agent.Kubernetes
Manage Kubernetes deployments, pods, and logs directly from your workflow.kubernetes.restartDeployment
kubernetes.restartDeployment
Restart a deployment by performing a rolling restart.
Output:
stdout with rollout statuskubernetes.scaleDeployment
kubernetes.scaleDeployment
Scale a deployment to a specific replica count.
Output:
stdout with scale confirmationkubernetes.deletePod
kubernetes.deletePod
Delete one or more pods (useful for forcing recreation).
Output:
stdout, pods (list of deleted pod names)kubernetes.rollbackDeployment
kubernetes.rollbackDeployment
Roll back a deployment to the previous revision.
Output:
stdout with rollback statuskubernetes.getLogs
kubernetes.getLogs
Retrieve logs from one or more pods.
Output:
stdout (logs), pods (pod list), matchedCount (pods matched)OS Service
Manage operating system services on the agent host usingsystemctl (Linux) or sc.exe (Windows).
Parameters:
Slack
Send messages and reactions to Slack channels via the Slack Bot API.- Send Message
- Update Message
- Add Reaction
Action type: Output:
slack.sendMessagechannel, ts (message timestamp), messagexoxb-..., default channel)
Jira
Create and manage Jira issues directly from your workflows.jira.createIssue
jira.createIssue
Create a new Jira issue.
Output:
issueId, issueKey (e.g., OPS-123), urljira.updateIssue
jira.updateIssue
Update fields on an existing issue.
jira.addComment
jira.addComment
Add a comment to an existing issue.
jira.transitionIssue
jira.transitionIssue
Transition an issue to a different status (e.g., Open → In Progress → Done).
email.sendEmail
Connection required: Email (SMTP host, port, TLS, from address, credentials)
Teams
Send messages to Microsoft Teams channels.
Parameters:
Connection required: Teams (incoming webhook URL)
Database
Execute SQL queries against connected databases. Action type:database.executeQuery
Output variables:
Connection required: Database (host, port, database, driver, credentials)
WinRM
Execute commands and scripts on Windows servers via WinRM (Windows Remote Management).
Parameters:
Output:
stdout, stderr, exitCode (same as SSH)
Connection required: WinRM (host, port, SSL, auth method, credentials)
Notification
Send notifications through EasyAlert’s built-in notification channels without requiring an agent connection. Action type:notification.sendNotification
Notification actions are routed through the SaaS notification service, not through the agent. This means they work even if all agents are offline.
Using Variables in Actions
Template variables ({{variable.path}}) can be used in any action parameter — commands, URLs, message bodies, query strings, and more.
Shell Escaping
When template variables are used in SSH commands or scripts, EasyAlert automatically appliesshlex.quote() escaping to prevent command injection. For example:

