Skip to main content

HaloPSA: Ticketing Integration Setup and Validation

Overview

Spotto’s Halo integration (HaloPSA / HaloITSM) lets you create a Halo service ticket directly from a recommendation, so “we should fix this” becomes a trackable item with an owner and a queue. This guide covers what Halo details you need, where to enter them in Spotto, and how to validate the connection end-to-end.

Goal: enable Spotto → Halo ticket creation from the Recommendations page. Time: ~10 minutes (plus however long it takes to find the right Halo credentials). Cost: whatever Halo charges you for API access (Spotto doesn’t add extra API usage fees).

When configured, Spotto will:

  • Offer Halo as a share option on recommendation detail pages.
  • Create a new Halo ticket that includes the recommendation context (what it is, why it matters, and affected resources).
  • Use the queue/team/ticket type defaults you provide to route tickets to the right place.
What this integration is (and isn’t)

This is a ticket creation integration. Spotto creates tickets when you share a recommendation. It’s not a full two-way sync of ticket status back into Spotto (yet).

One provider per company

Spotto supports one active ticketing provider per company at a time. If the company is set to Jira or ConnectWise, Halo won’t be available in the share dialog for that company.

Why use this? (Jobs, pains, gains)

Jobs to be done

  • When I’m triaging cloud optimization work, I want to turn a recommendation into a service ticket, so it lands in the backlog that has owners, SLAs, and visibility.
  • When I’m supporting multiple customers (MSP mode), I want to route work per customer while keeping the operational process consistent, so nothing falls through the cracks.
  • When I need to coordinate platform work, I want tickets to carry enough context (resource list, impact, savings), so engineers don’t start from a blank page.

What you gain

  • Less context switching: triage in Spotto, execute in Halo.
  • Consistent ticket payloads: the same recommendation produces the same “shape” of ticket every time.
  • Better routing: queue/team/ticket type defaults prevent “ticket ping-pong”.

Prerequisites

  • Access to Company settings in Spotto for the customer/company you’re configuring.
  • Permission in Halo to create API applications and assign application permissions.
  • The Halo base URL for your tenant (for example https://your-domain.halops.com).

Step-by-step: Create Halo API credentials

  1. In the Halo ITSM portal, open Configuration → Integrations → HaloITSM API.
  2. On the API details page, click View Applications.
  3. Click New to create a new application.
  4. Set Application Name to Spotto.
  5. Set Authentication Method to Client ID and Secret (Services).
  6. Copy the Client ID and Client Secret.
  7. Choose the appropriate Login Type for your Halo tenant.
  8. Open the Permissions tab and enable:
    • read:tickets
    • edit:tickets
    • all:teams
    • read:projects
  9. Save the application.

Step-by-step: Configure Halo in Spotto

  1. In the Spotto Portal, open Companies and select the customer/company you want to configure.
  2. Go to Settings → Integrations (or use the Configure link from the recommendation Share dialog).
  3. Enable Ticketing Integrations.
  4. Select Halo as the integration provider.
  5. Fill in the Halo configuration fields:
    • Base URL: your Halo tenant base URL.
    • Queue (optional): default destination queue for new tickets.
    • Team (optional): default destination team.
    • Ticket type (optional): ticket classification (for example “Incident”).
    • Client ID: Halo API client identifier from your Halo application.
    • API token or key: your Halo client secret from the same application (stored securely; you won’t be able to view it after saving).
  6. Click Save/Update on the company settings page.
Treat the client secret like a password

Spotto stores integration secrets encrypted and does not show them again after saving. Only share or rotate secrets using your organisation’s secure credential handling process.

Validation (Does it work?)

Run a single end-to-end test:

  1. Open Recommendations in Spotto.
  2. Open any recommendation detail page.
  3. Click Share recommendation and choose Halo.
  4. Submit the share.
  5. In Halo, confirm a new ticket was created and landed in the expected queue/team/type (if set).

If Halo is disabled in the share dialog, Spotto is telling you the integration isn’t configured for that company (or you don’t have permission to read integration settings).

Technical reference

ComponentDetails
InputsCompany integration settings (Halo base URL, optional queue/team/ticket type, client ID, client secret).
OutputsA Halo ticket created from a recommendation share action, including recommendation context and affected resources.
DefaultsOptional routing fields (queue/team/ticket type) are used when provided; otherwise Halo defaults apply.
LimitationsTicket creation only (no two-way status sync). Halo availability in Share depends on company configuration and permissions.

Troubleshooting

Halo isn’t available (only Email shows up)

What you’re seeing: The Share dialog only offers Email, or Halo appears as disabled. Likely causes:

  • Ticketing integrations aren’t enabled for that company.
  • A different ticketing provider is selected (Spotto supports one ticketing provider per company at a time).
  • Your role can’t read company integration settings (some environments return 403 Forbidden; email sharing still works). How to fix:
  1. Go to Company settings → Integrations and confirm Enable ticketing integration is on and Halo is selected.
  2. If you’re an MSP, confirm you’re configuring the right company context (parent vs customer).
  3. If you expect access but still don’t see it, ask a Spotto admin to confirm your permissions.

Ticket creation fails after configuration

What you’re seeing: Share fails or no ticket is created in Halo. Likely causes:

  • Incorrect base URL.
  • Client ID/secret pair is invalid, expired, or doesn’t have ticket creation permission.
  • Queue/team/ticket type values don’t exist (or don’t match Halo’s expected identifiers). How to fix:
  1. Re-check the Base URL is the Halo tenant base URL (no extra path segments).
  2. Rotate the client secret and update it in Spotto.
  3. Temporarily remove optional routing fields (queue/team/ticket type) and retest to narrow down what’s failing.

Need help?

If you want a sanity-check before you hand over credentials, or you’re not sure which Halo fields map to your process, contact the Spotto team via your Customer Success Manager or Contact Us.

Optimize Your Azure Environment

Looking to enhance your cloud setup for cost efficiency, performance, reliability, or security?

Talk to a cloud expert! Email us or schedule a 30-minute consultation and let's optimize your cloud environment together.

Book a Free Consultation