Halo's native PowerShell integration runs your scripts automatically — triggered by ticket actions, approval steps, or on a schedule. Pass live ticket data straight into your parameters. Included in every licence.
✓ First-party — built by Halo✓ Action-triggered automation✓ Approval-linked execution✓ Scheduled task support✓ Included in every licence
What it does
Five ways PowerShell plugs into Halo.
Every trigger, every action, every result — controlled entirely from within your Halo configuration.
Trigger
Action-triggered scripts
Assign a PowerShell script to any Halo action. When that action is performed on a ticket, the Halo Integrator fires the script automatically — passing live ticket data in as parameters. Configured at Configuration > Tickets > Actions, with the system use set to "Queue PowerShell Script".
✓Attach to any configurable Halo action
✓Immediate execution via the Halo Integrator
✓Live field values passed at runtime
Approval
Approval-linked execution
Link a PowerShell script to a specific step in a Halo approval process. The script fires when that approval step is approved — ideal for provisioning tasks that require sign-off before changes are made. Configured at Configuration > Tickets > Approval Processes.
✓Fires on a specific approval step, not every ticket
✓Controlled, auditable execution path
✓Supports multi-stage approval processes
Schedule
Scheduled task integration
Run PowerShell scripts as part of Halo's built-in scheduled tasks. Housekeeping routines, nightly sync jobs, and recurring compliance checks — all managed from within Halo without relying on external schedulers.
✓Runs as part of Halo Scheduled Tasks
✓Managed entirely from within Halo
✓No external scheduler required
Data
Field-to-parameter mapping
Map any Halo field — ticket ID, user details, custom fields — directly to your PowerShell script parameters. The values are passed automatically at execution time. You declare variables in your script; Halo populates them.
✓System fields, custom fields, and customer/site/user data
✓Three parameter-passing methods supported
✓Zero manual data entry at runtime
Results
Outcome-based result handling — unlimited scripts
Halo evaluates each script's output against a configured result text. If matched, the ticket status is automatically updated to your defined success state. If the script fails, the failure message is added as a ticket action for visibility. There is no limit on the number of scripts you can configure.
✓Configurable success result text matching
✓Ticket status updated automatically on success
✓Failure details logged as a ticket action
✓No limit on the number of scripts
Everything included
Full capability. Every licence.
No add-ons. No tiers. Every PowerShell integration feature is available in every Halo licence from day one.
First-party integration
Built and maintained by Halo's own engineering team — not a third-party connector or workaround.
Unlimited scripts
No cap on how many PowerShell scripts you configure in Halo. Build automation for every process that needs it.
Action-triggered execution
Assign scripts to Halo actions — the Integrator fires the script automatically when that action is performed on a ticket.
Approval-linked scripts
Scripts fire when a specific approval process step is approved — a gated, auditable execution path for sensitive changes.
Scheduled automation
Run scripts as part of Halo Scheduled Tasks — without relying on external schedulers or separate task management tools.
Live Halo field mapping
System and custom field values from ticket, customer, site, and user tables pass directly into script parameters at runtime.
Flexible parameter passing
Three methods for passing parameters to scripts — including base64-encoded JSON for handling special characters safely.
Result text matching
Halo evaluates the script's output against a configured result string to determine success or failure — no guesswork.
Status update on success
Configure the ticket status to update automatically when a script completes successfully.
Failure logging
If a script fails, the failure message is added as a ticket action — full visibility without manual investigation.
Active Directory automation
Create, modify, or disable AD accounts triggered directly by Halo service requests or HR workflows.
Included in every licence
No additional cost. No premium tier required. PowerShell integration is part of the standard Halo platform.
Getting started
Six steps to your first automated workflow
The steps below walk through how Halo's PowerShell integration is configured. Allied ESM can scope and deliver this as part of your project — contact us to discuss what's involved.
Before you start
Required
Halo Integrator
The Halo Integrator must be installed and running on a server in your environment. This is the component that executes PowerShell scripts — scripts run on this server, not on Halo's own infrastructure. The user account running the Integrator scheduled task must have permission to execute the scripts.
Required
Scripts accessible on the Integrator server
Your PowerShell script files must be stored on the server where the Integrator runs and accessible via a local file path (e.g. C:\Scripts\mailbox-resize.ps1). Halo stores the path reference — not the script content itself.
1
Identify the process to automate
Agree which manual task is the best first candidate — onboarding, mailbox changes, and AD account management are the most common starting points.
2
Write the script and declare your parameters
Write the PowerShell script and declare the variables it needs (e.g. $Username, $MailboxSize). These variable names are what you'll map to Halo fields in the next steps. Save the script to the Integrator server.
3
Enable the PowerShell module in Halo
Go to Configuration > Integrations and enable the PowerShell module. Once enabled, click into it to begin configuration. Create a new script entry: give it a name, set the file path to the script on the Integrator server, and choose the type — Action or Approval.
4
Map Halo fields to script parameters
Add field mappings in the script configuration — match each Halo field (ticket, customer, site, user, or custom field) to the corresponding script variable name. Halo passes the live values into the script at execution time.
5
Link to an action or approval process
For action-triggered scripts: go to Configuration > Tickets > Actions, set the system use to "Queue PowerShell Script", and choose your script. For approval-triggered scripts: go to Configuration > Tickets > Approval Processes, open the relevant process, and assign the script to the appropriate approval step.
6
Configure result handling and test
Set the success result text that Halo should match against your script's output, and choose the ticket status to apply on success. Configure a failure status too — failed runs are logged as a ticket action with the full failure message. Run a test, confirm the outcome, and go live.
Allied ESM can scope and configure this for you
As a pure play Halo partner, Allied ESM can scope and configure PowerShell automation as part of your project — writing scripts, setting up the Integrator, building field mappings, and documenting every routine for your team. Contact us to discuss what's involved.
Real-world examples
What IT teams automate first.
These three workflows are the most common starting points for teams implementing the Halo PowerShell integration.
01
New starter provisioning
A service request is raised for a new employee. The manager approves it in Halo. PowerShell creates the AD account, assigns group memberships, provisions the mailbox, and sets the correct permissions — the new starter is ready before their first day without a single manual task.
A user raises a service request to increase their Exchange mailbox quota. IT approves it via Halo's approval workflow. The Integrator runs the PowerShell script with the user's email and new quota size passed as parameters. The mailbox is updated; if the result text matches, the ticket status is set to resolved automatically.
User requests increase→IT approves→Script runs→Ticket resolved
03
Leaver de-provisioning
An HR leaver ticket is raised in Halo. On manager sign-off, PowerShell immediately disables the AD account, removes the user from all security groups, and revokes email access. If anything fails, the failure message is logged as a ticket action for the team to review.
Is the PowerShell integration included in every Halo licence?
Yes. PowerShell integration is a first-party, native feature included in every HaloITSM licence — no add-on, no premium tier, no additional cost. Configuration and scripting work is separate; Allied ESM can scope that as part of your project.
Where do the scripts actually run?
Scripts run on the server where your Halo Integrator is installed — not on Halo's own servers. Halo triggers the execution and passes the parameter values; the Integrator handles the actual script run on your infrastructure. This means your scripts, credentials, and sensitive data stay within your own environment. The Integrator server must have access to the systems the scripts interact with (e.g. Active Directory, Exchange).
Can I pass live Halo ticket data into a script?
Yes. Any Halo field — system fields from the ticket, customer, site, and user tables, as well as custom fields — can be mapped to a script variable. You declare the variable in your script; Halo maps it to the field in the integration configuration. The live field values are passed in automatically every time the script runs.
Can scripts run on approval only — not on every ticket?
Yes. Scripts are configured with a type of either Action or Approval. An Approval-type script is linked to a specific step within an approval process and only fires when that step is approved — it will not run on unrelated tickets or unapproved requests.
Is there a limit on how many scripts I can create?
No. There is no limit on the number of PowerShell scripts you can configure in Halo. You can build a full automation library covering every repeatable task in your environment.
Can Allied ESM write the PowerShell scripts for us?
Yes. Allied ESM can scope, write, test, and document PowerShell scripts for your most common automation workflows — typically starting with onboarding/offboarding and the top two or three manual provisioning tasks. If you already have scripts, we can adapt them to work with Halo's field mapping and approval configuration. Contact us to discuss what's involved.
Ready to automate with PowerShell?
Allied ESM can scope and configure PowerShell automation for your Halo project. Tell us what you want to automate first.