SMARTTILE · SERVICEAUTOMATE™ · HALOPSA

HaloPSA tickets, on the right client, site and asset

A validated outage becomes a HaloPSA ticket on the client and site you choose — type, status, team, agent, priority, SLA and category picked from your own lists — linked to the Halo asset, noted as it evolves and closed on recovery.

SmartTile integrates with
HaloPSA — your instance's resource and auth server URLs — Tickets, Actions (notes) and Assets through the Halo REST API, with an OAuth2 Client ID and Secret (Services) application logged in as a dedicated agent.
How SmartTile automates it
Opens one ticket per location (or per device) after your open delay, links the matching Halo asset, posts agent-private notes, closes to your closed status on recovery, and pulls status, agent and closure back every 5 minutes.
Category
ServiceServiceAutomate™

An MSP on HaloPSA should work an outage where it works everything else — on the client's ticket, against the client's asset. ServiceAutomate connects each company's own Halo instance and reads its real clients, sites, ticket types, statuses, teams, agents, priorities, SLAs and categories, so nobody types an ID. When SmartTile confirms a site is down, the ticket appears there, with the SmartChoice Rev.io ticket number SmartChoice is working the carrier on.

What changes in HaloPSA

The momentTodayWith SmartTile
A site goes downAn e-mail; someone logs the ticket, picks the client and hunts for the asset.A ticket on your client + site, type and opening status, with every device down at the site — and the Halo asset found by name, IP, serial or MAC.
A blipA ticket opened and closed for nothing.With an open delay set, the ticket is queued and only opened if the device is still down.
Five devices dropFive tickets.One ticket per location (default), or per device if you choose.
It comes backSomeone closes it — or it ages.A Circuit Restored note, then your closed status — left open while any other device at the site is still down.
Your agent closes it in HaloMonitoring still thinks it is open.The 5-minute sync pulls status, agent and closure back into SmartTile.

How it goes live

  1. In HaloPSA: Configuration → Integrations → HaloPSA API → View Applications → New. Authentication Client ID and Secret (Services), Login type Agent, Agent to log in as a dedicated agent (e.g. SmartTile Automation). Grant all, or at least read:tickets, edit:tickets, read:customers, read:crm, read:assets.
  2. In SmartTile: ServiceAutomate → HaloPSA card. Resource server URL, tenant (hosted), client ID and secret → Test Connection. The ID fields become drop-downs read from your Halo.
  3. Pick client, site, ticket type, statuses, team, agent, priority, SLA, category; notes private or visible; asset linking; one ticket per location or device.
  4. Set the sync policy, switch Platform enabled, Save. The HaloPSA engine is off by default — SmartChoice switches it on under ServiceAutomate Engines.
SettingWhat it does
Wait before openingMinutes of confirmed outage first; default 0.
Auto-closeOn restore (default), after N minutes, or never.
NotesPrivate to agents (default) or visible to the customer.
Link assetMatch the device to a Halo asset (default yes).
Bi-directional syncOn by default: status, agent, closure every 5 min.
SmartChoice · SmartTile ServiceAutomate™ — HaloPSAPage 1 of 2
SMARTTILE · SERVICEAUTOMATE™ · HALOPSA — WHAT LANDS IN HALOPSA, AND HOW IT IS KEPT SAFE

What lands in HaloPSA

The ticket

Summary and details with location, device, IP, the devices down at the site and the Rev.io ticket number; your client, site, type, status, team, agent, priority, SLA and category; the asset attached.

Notes, every direction

SmartTile and CarrierAutomate updates post as Actions. Every 5 minutes a human Action is carried to the Rev.io ticket, and Rev.io journals come back — marked [SmartTile ↔ …], carried once.

Automation Flows

A flow can open a Halo ticket with its own ticket type, priority, team, agent, subject/body template and close policy — or one master ticket for a mass outage.

Exactly what SmartTile calls in HaloPSA

POST/auth/token?tenant=Client-credentials token (cached until expiry).
GET/api/Client · /Site · /TicketType · /StatusYour pick-lists; also /Priority, /Team, /Agent, /SLA, /Category.
GET/api/Asset?search=&client_id=Find the asset by name, IP, serial, MAC.
POST/api/TicketsOpen the ticket (JSON array body).
POST/api/ActionsNote (hiddenfromuser) — or close, with new_status.
GET/api/Actions?ticket_id=&excludesys=trueRead your agents' notes back.
GET/api/Tickets/{id}5-minute sync: status, agent, closed.

Security and control

Secret never logged

The client secret and bearer token never reach the API log; a rotated or wrong secret can never reuse an earlier good token.

Your instance, your tenant

Credentials are stored encrypted per company and never shown again; SmartTile refuses a device that is not the company's.

Two switches

Per company: Platform enabled. Fleet-wide: the HaloPSA engine switch — nothing is sent to Halo unless both are on.

In the ledger

Tickets opened and closed, and every carried note, are rows in the Automation Audit Ledger. Prove it first in the ServiceAutomate Lab.

Common objections

ObjectionAnswer
“We'd have to look up every ID.”Test Connection reads your lists; agents filter by team and sites by client.
“Halo rejected the ticket.”Halo's own message is shown verbatim — usually a required type, status or category.
“One integration for all our desks?”The same contract serves every IT Service Management (ITSM) system: Kaseya (Autotask, BMS), Freshservice, ServiceNow, Jira Service Management, Rev.io, HaloPSA, ConnectWise PSA, Zendesk, NinjaOne, ManageEngine, Ivanti and Freshdesk.
The outage is already on the client's Halo ticket — asset attached, notes flowing.
SmartChoice · smarttile.smartchoiceus.com · (800) 217-3096, 24×7 · verified 2026-09-28Page 2 of 2