Required Information
Gather the following from your HaloPSA system before you start:string
required
The unique identifier for your Neo Agent API application, shown on the application’s Details tab after you save it.
string
required
The secret for your API application. HaloPSA shows it once, at creation.
string
required
Your HaloPSA instance URL (e.g.,
https://yourdomain.halopsa.com or https://yourdomain.haloitsm.com), without a trailing slash.string
required
The ID of the Neo Agent resource you created. Neo uses this agent for time entries and ticket assignments.
Configuring the Integration
1
Open HaloPSA in the Neo dashboard
In the Neo Agent Dashboard, open Integrations, switch to the Directory tab, and select HaloPSA. The connect page walks you through the same steps as this guide, one at a time.
2
Enter your credentials
On the “Enter connection details” step, fill in the Client ID, Client Secret, base URL, and Agent ID you gathered, then click Save & run checks. Neo runs the checks on the values you entered and stores the credentials only when the required checks pass. After a passing run, save registers the webhook and does not re-run the ticket-read probe.
3
Watch the verification checks
Neo runs its verification checks one by one against the values you entered: authentication, the agent the application logs in as, ticket read access, write access, webhook permission (
admin:webhooks), and data sync (sync starts after save). Each check reports as it completes. A missing admin:webhooks scope fails the webhook row and Neo does not store the credentials.All required checks green means Neo authenticates, logs in as your Neo Agent resource, can read and write tickets, and can register the webhook. A failed check names the exact HaloPSA screen to fix. Fix the permission, then click Save & run checks again.
Troubleshooting Connection Issues
If a check fails or the save is rejected, check the following:Authentication Errors
Authentication Errors
- Verify that the Client ID is correct and corresponds to an active API application
- Ensure the Client Secret was copied correctly without extra spaces or characters
- Confirm the API application is set to “Active” status in HaloPSA
- Check that the authentication method is “Client ID and Secret (Services)”
- Try regenerating the Client Secret if you are unsure about its accuracy
Permission Errors
Permission Errors
- Verify that the
all:standard,all:teams, andadmin:webhooksscopes are all set to Yes on the application’s Permissions tab admin:webhooksis required. If it is missing, the credentials are accepted but Neo’s automatic webhook creation fails with a 401 Unauthorized, and the connection cannot complete. Enable it, then retry.- A bare 403 when an agent tries to create an email rule is a different, expected case: HaloPSA blocks configuration writes unless the optional
adminscope is enabled. See Letting Neo Manage Email Rules.
Agent Resource Issues
Agent Resource Issues
- Verify that the Agent ID or username is correct
- Ensure the agent resource is set to “Active” status
- Check that the agent has proper team assignments; the identity check confirms which agent the application logs in as
- Confirm the agent has permissions to create time entries and can be assigned to tickets
Network Connectivity
Network Connectivity
- Confirm your HaloPSA Base URL is accessible from external networks
- Check if any firewall rules might be blocking API connections
- Whitelist Neo Agent’s IP address if your system restricts access by IP
- Test the URL accessibility by opening it in a browser, and use HTTPS
URL Format Issues
URL Format Issues
- Remove any trailing slashes from the base URL
- Ensure you are using the correct domain (halopsa.com vs haloitsm.com) and your specific subdomain
- Do not include
/api/or other path segments in the base URL - Use the full URL including
https://
What’s Next?
When you connect HaloPSA, Neo creates a webhook named “Neo Tickets callback [ALL]” in your HaloPSA system and subscribes it to the ticket events it needs. Nothing to add by hand:Webhook Events
The events Neo subscribes to, and how to check them in HaloPSA.
