Overview 💥
The Liongard–HaloPSA integration provides bi-directional synchronization between Liongard alerts and HaloPSA tickets. This ensures your PSA and operational automation remain aligned—every alert, status change, or ticket update stays consistent across both systems.
This guide provides:
How the sync works.
Why certain issues occur.
Detailed troubleshooting steps.
Required permissions.
How to validate API/Webhook health.
Logging guidance.
When to escalate to Support.
Important security reminders and disclaimers.
How the Integration Works? 🤔
The integration supports true two-way status synchronization:
✔ From Liongard → HaloPSA
When an alert is updated or closed in Liongard, the linked ticket in HaloPSA automatically updates (based on mappings).
✔ From HaloPSA → Liongard
When you run the Liongard HaloPSA inspector, it fetches the current ticket status and syncs it back into Liongard.
This ensures both platforms reflect the same state without requiring manual updates.
Why Issues Happen? 🧐
Most failures in ticket creation, sync, or updates are caused by:
Category | Common Causes |
Permissions | Missing API agent rights, limited ticket/customer scope |
API Issues | Expired credentials, invalid client secret, rate-limiting |
Custom/Mandatory Fields | Required fields in HaloPSA block ticket creation |
Webhooks/Sync Delays | Webhook misconfiguration, inspectors not running |
Connectivity | Network blocks, firewall restrictions, unreachable API |
Copy/Paste Errors | Extra spaces in API keys, incorrect instance URL |
Troubleshooting Guide 🧑🏫
1️⃣ Validate API Agent Permissions (Most Common Cause)
Your HaloPSA API-only Agent must have the following permissions.
If any of these are missing, ticket creation or updates will fail.
Required Feature Access
Feature | Required Access |
Tickets | Read + Modify |
Customers | Read + Modify |
Users | Read + Modify |
Required Ticket Permissions
Permission | Required Setting |
Can add new Tickets | Yes |
Can edit closed Tickets | Yes |
Can view Unassigned Tickets | Yes |
Can view Tickets assigned to other agents | Yes |
Editing of Actions | Can Edit Own Actions Only |
Can Edit Tickets Not Assigned to Them | Yes |
📌 If any permission is missing, Liongard will fail to create or modify tickets.
➡ Reference: Liongard’s HaloPSA API Account Documentation
2️⃣ Validate API Application Configuration
Your HaloPSA API App must be configured properly for Liongard to authenticate.
Required API App Settings:
Setting | Required Value |
Authentication Method | Client ID and Secret (Services) |
Assigned Agent | API-only Agent |
Token Expiry | Ensure secret is valid—not expired or rotated |
Required Permissions/Scopes:
Make sure all of these scopes are enabled:
read:ticketsedit:ticketsread:customers
📌 Missing scopes = ticket creation or updates will silently fail.
3️⃣ Fix Mandatory Field Errors
If HaloPSA has mandatory fields that the integration cannot populate, tickets will not be created.
What to Do?
Open your HaloPSA Ticket Form settings
Identify fields marked as mandatory
Choose one of the following:
Option | Description |
A. Map those fields in Liongard (if supported) | Provide values for required fields. |
B. Make them optional in HaloPSA | Simplifies automation; recommended. |
C. Use a dedicated "Liongard" ticket type/form | Avoids mandatory business fields. |
📌 Mandatory fields are responsible for ~40% of integration failures.
4️⃣ Webhook Problems & Sync Delays
Symptoms:
Tickets update late in HaloPSA
Liongard alerts show outdated statuses
Status changes are not syncing until the inspector runs
Checklist:
Check | What to Confirm |
Webhook Health | Webhook is enabled and not failing |
Allowed IPs | HaloPSA API endpoints reachable from Liongard |
Network Policies | No firewall/web content filter blocks |
5️⃣ Authentication Issues (Expired/Rotated Keys)
Signs of Token Problems:
Integration stops working suddenly
Ticket updates fail without clear error messages
Inspector errors referencing authentication or unauthorized access
Fix:
Recreate a new Client Secret in HaloPSA
Update Liongard with the new credentials
Test the connection
6️⃣ Review Logs for Errors
Where to Check?
Platform | Log Location |
Liongard | |
HaloPSA | System Logs → API Requests / Webhook Failures |
What to Collect Before Contacting Support?
Timestamp of failure.
Error message or HTTP response code.
API agent name.
Ticket ID / Alert ID (if applicable).
Screenshots of the failure and API permissions.
Summary 🤩
Issue | Likely Cause | Action to Take |
Ticket not created | Missing permissions or mandatory fields | Check API Agent + Ticket Form |
Ticket not updating | Webhook failure or expired API secret | Validate webhook + recreate secret |
Status not syncing | Inspector not running | Run inspector + check logs |
Cannot authenticate | Wrong instance, expired secret | Verify Client ID/Secret + instance |
Comments not syncing | Agent lacks comment permissions | Update API-only agent permissions |
When to Contact Support 🦁
Contact Liongard Support When:
Inspector fails repeatedly even after permissions are corrected
Ticket creation fails and logs contain Liongard-specific errors
Two-way sync works inconsistently despite proper configuration
You need help validating inspector logs
➡ Prepare the following:
Timestamp of failure
HaloPSA Ticket ID / Liongard Alert ID
Inspector run logs
Screenshots of API permissions
Contact HaloPSA Support When:
API returns 4xx/5xx errors
Mandatory fields cannot be removed or identified
Webhooks fail on the HaloPSA side
Security Reminder 🌟
Store API credentials securely
Do not share keys via email, chat, or screenshots
Rotate API secrets periodically
Remove unused API agents or applications
Additional Resources 📚
Third-Party Link Disclaimer ‼️
We may reference external third-party resources solely as additional guidance.
Liongard does not own, control, or guarantee the accuracy, security, or reliability of third-party sites. Please use them at your own discretion and risk.