# HaloPSA MCP

> HaloPSA connects your service desk and PSA tools directly to your AI client. Manage entire support workflows—from opening a new ticket to tracking assets, reviewing contracts, or updating statuses—all through natural conversation. It lets you run full operations using only text prompts.

## Overview
- **Category:** helpdesk-ticketing
- **Price:** Free
- **Tags:** psa, service-desk, it-service-management, ticket-management, client-management

## Description

Using this MCP, your agent gains complete control over your service desk and PSA data. Instead of navigating multiple tabs in the HaloPSA portal, you simply ask for what you need. For instance, if a client calls about an issue, you can immediately list all their assets or retrieve details on their current contract status, all without leaving the chat window. You can create new support tickets instantly, look up who used which site, and even perform actions like adding internal notes or changing ticket statuses. It’s like having a dedicated Operations Specialist sitting next to you, ready to execute any command against your system.

## Tools

### create_ticket
Generates and submits a brand new support ticket directly into the HaloPSA system.

### get_ticket
Retrieves all detailed information for one specific ticket ID, including its history and notes.

### list_assets
Pulls a comprehensive list of every piece of hardware or software asset recorded in the system.

### list_clients
Provides a full roster of all customer accounts defined within HaloPSA.

### list_contracts
Lists every active and expired customer contract for status review.

### list_invoices
Retrieves a list of all generated invoices, allowing you to check payment statuses.

### list_sites
Shows an inventory of every physical location or operational site tracked by the service desk.

### list_teams
Lists all organizational teams configured for support and resource allocation within HaloPSA.

### list_tickets
Fetches a bulk list of tickets based on criteria like status or assignee.

### list_users
Presents the complete directory of all individual users managed by your service desk instance.

### perform_ticket_action
Allows you to execute specific changes on a ticket, such as updating its status or adding an internal note.

## Prompt Examples

**Prompt:** 
```
List all open tickets assigned to me.
```

**Response:** 
```
I've retrieved your tickets. You currently have 3 open items: 'Internet connectivity issue' (ID: 1021), 'Printer setup request' (ID: 1025), and 'Software license renewal' (ID: 1030). Which one would you like to update?
```

**Prompt:** 
```
Add an internal note to ticket ID 1021: 'Waiting for vendor feedback'.
```

**Response:** 
```
Action performed! I've successfully added the internal note to ticket 1021. Would you like to change its status to 'On Hold' as well?
```

**Prompt:** 
```
Show me the asset list for Client 'Acme Corp'.
```

**Response:** 
```
Accessing assets... I found 5 assets linked to Acme Corp, including 3 Laptops (MacBook Pro), 1 Server (PowerEdge), and 1 Firewall (FortiGate). Shall I list the serial numbers for these items?
```

## Capabilities

### Create Support Tickets
You generate new support requests in HaloPSA using simple text commands.

### Review Ticket Statuses and Details
The agent pulls detailed information on specific tickets or provides a complete list of all open items for review.

### Audit Client and User Data
You retrieve comprehensive lists of customers, users, sites, and teams to verify data accuracy across your organization.

### Track Assets and Finances
The system pulls records for hardware assets, customer contracts, and invoices, giving you quick financial oversight.

### Update Records on the Fly
You perform necessary actions like adding internal notes or updating a ticket's status directly from your chat session.

## Use Cases

### Investigating an Account Issue
A customer calls, upset about a service gap. You tell your agent to list_clients for their company, then check list_assets to see what equipment they own, and finally retrieve the latest contract status using list_contracts.

### Daily Team Handoffs
It's end of day. Instead of printing out reports, you prompt your agent to list_tickets for all sites and check list_teams to see which teams are currently overloaded or underutilized.

### Billing Inquiry Resolution
A client questions a charge. You ask the agent to pull the most recent list_invoices, cross-reference it with their contracts using list_contracts, and then use get_ticket if the billing issue started as a support request.

### Onboarding New Hardware
A new laptop arrives. You ask your agent to list_assets to verify its serial number is logged, and you can simultaneously create_ticket for setup help while checking if the user exists via list_users.

## Benefits

- Stop manually checking asset lists. You can ask the agent to list all assets linked to a client or site, getting that data instantly for your audit.
- Never lose context again. Need to add an internal note while talking to a user? Use perform_ticket_action to update status and notes in one go.
- Get financial clarity without logging into accounting. List invoices or check customer contracts right alongside ticket details to understand the full picture.
- The agent handles client data retrieval, so you don't have to run separate reports for list_clients or list_users before a meeting.
- Manage everything from one place. You can create new tickets using create_ticket and then immediately get more details with get_ticket—all in the same chat thread.

## How It Works

The bottom line is you stop jumping between dashboards and start managing service desk operations entirely through conversation.

1. Subscribe to this MCP and provide your HaloPSA credentials (Client ID, Client Secret, etc.).
2. Your AI client authenticates the connection through Vinkius's catalog and makes your agent capable of communicating with HaloPSA.
3. You prompt your agent in natural language—for example, 'List all open tickets for Acme Corp'—and get real-time data or confirmation that an action was performed.

## Frequently Asked Questions

**How do I set up my HaloPSA API credentials?**
Log in as an Administrator, go to **Configuration > Integrations > Halo API**. In 'View Applications', create a new app with the 'Agent' login type and grant the necessary permissions. You will receive your Client ID and Client Secret there.

**What are the Resource and Auth URLs?**
The Resource URL is typically `https://your-tenant.halopsa.com/api` and the Auth URL is `https://your-tenant.halopsa.com/auth`. Replace 'your-tenant' with your actual HaloPSA instance name.

**Can I perform actions on tickets, like changing status?**
Yes! Use the `perform_ticket_action` tool by providing the ticket ID and the specific action ID configured in your Halo instance. You can also add an optional note.

**Is the integration secure?**
Yes, it uses industry-standard OAuth2 Client Credentials flow. Your credentials are encrypted and stored securely within the Vinkius Cloud infrastructure.