Automation & scripting
Run scripts, build workflows, and automate repetitive tasks across your endpoints.
Overview
The Automation & scripting module lets you run scripts on one, many, or all endpoints — on demand or on a schedule. Whether you need to clean up temp files, enforce a registry setting, restart a service, or gather custom diagnostic data, automation gets it done without you having to remote into each machine.
Xcellerate RMM supports PowerShell, Bash, Batch (CMD), and Python scripts. You can store scripts in a shared library, chain them into multi-step workflows, and view detailed execution logs per endpoint.
Key concepts
- Script — a reusable block of code stored in the library with a name, description, language, and optional input parameters.
- Script task — a single execution of a script against one or more endpoints. Tasks are logged with full stdout/stderr output and exit codes.
- Workflow — an ordered sequence of scripts (and optional approval gates) that run one after another. If a step fails, the workflow can be configured to stop, skip, or retry.
- Schedule — a cron-like recurrence rule attached to a script or workflow (e.g. "every Monday at 06:00" or "daily at midnight").
- Script parameter — a variable placeholder (e.g.
{{threshold}}) you define in the script. When running or scheduling, the operator fills in the value — no need to edit the script itself.
Step-by-step walkthrough
Create a script
Go to Automation → Script library → New script. Give it a name (e.g. "Clear temp files"), choose the language, paste your code, and save. You can tag scripts with categories for easier searching.
Test on a single endpoint
Open the script and click Run now. Select one test endpoint, fill in any parameters, and click Execute. The output panel streams stdout and stderr in real time.
Run across a group
Once the script works, click Run now again but select a group instead of a single endpoint. Xcellerate runs the script in parallel (configurable concurrency) and collects results per device.
Schedule the script
On the script detail page, click Add schedule. Choose a recurrence pattern, select the target group, and save. The script now runs automatically at the specified interval.
Review execution history
Go to Automation → History. Each row shows the script name, target, start/end time, status, and a link to view the full output per endpoint.
Building a workflow
Navigate to Automation → Workflows → New workflow. Drag scripts from the library into the workflow canvas in the order you want them to run. Between steps you can add an approval gate (an admin must click Approve before the next step starts) or a condition (e.g. only continue if the previous step exited with code 0).
# Example: restart a service and verify it is running
Restart-Service -Name "Spooler" -Force
Start-Sleep -Seconds 5
$svc = Get-Service -Name "Spooler"
if ($svc.Status -ne "Running") { exit 1 }
exit 0Tips & best practices
- Always test scripts on a single endpoint before running at scale — a typo in a cleanup script can cause widespread damage.
- Use parameters to make scripts reusable (e.g. a "Set registry value" script with
{{key}}and{{value}}parameters). - Set a timeout on every script task. A hung script can block the agent from processing other tasks.
- Tag scripts consistently (e.g. "maintenance", "diagnostics", "security") so your team can find them quickly.
- Use workflows for multi-step operations like "stop service → patch config → restart service → verify health" instead of packing everything into one giant script.