Halo
PowerShell

Halo + PowerShell Integration

Script what happens next.

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.

Request raised Manager approves AD account created Ticket resolved
02

Exchange mailbox size increase

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.

Leaver ticket raised Approved AD disabled Access revoked

Common questions

Frequently asked questions

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.