HaloPSA MCP server for AI agents and assistants

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with HaloPSA MCP or direct API to create tickets, inspect requests, find customer records, and route support work through natural language.

HaloPSA logoHaloPSA
Oauth2

HaloPSA is a service desk platform for managing IT support tickets, customers, assets, and service operations. It brings support workflows into one place so teams can resolve issues faster and keep work organized.

85 Tools

Try HaloPSA now

Type what you want done — sign in and watch it run live in the Tool Router playground.

TOOL ROUTER PLAYGROUND
HaloPSA
Try asking
TOOLS

Supported Tools

Every HaloPSA action and event your agent gets out of the box.

Create Ticket

Create one HaloPSA ticket from a summary and optional details and routing IDs; sends the provider-required one-item array body.

Delete Agent

Request deletion of one HaloPSA agent by numeric ID.

Delete Appointment

Delete one HaloPSA appointment by numeric ID.

Delete Asset

Delete one HaloPSA asset by numeric ID.

Delete Attachment

Delete one HaloPSA attachment by numeric ID.

Delete Client Contract

Delete one HaloPSA client contract by numeric ID.

Delete Customer

Delete one HaloPSA customer by numeric ID.

Delete Invoice

Delete one HaloPSA invoice by numeric ID.

Delete Item

Delete one HaloPSA inventory or service item by numeric ID.

Delete Knowledge Base Article

Delete one HaloPSA knowledge-base article by numeric ID.

Delete Opportunity

Delete one HaloPSA sales opportunity by numeric ID.

Delete Project

Delete one HaloPSA project by numeric ID.

Delete Quotation

Delete one HaloPSA quotation by numeric ID.

Delete Report

Delete one HaloPSA report definition by numeric ID.

Delete Site

Delete one HaloPSA customer site by numeric ID.

Delete Status

Delete one HaloPSA ticket-status configuration record by numeric ID.

Delete Supplier

Delete one HaloPSA supplier by numeric ID.

Delete Team

Delete one HaloPSA team by numeric ID.

Delete Ticket

Delete one HaloPSA ticket by numeric ID, optionally recording a reason.

Delete Ticket Action

Delete one HaloPSA ticket action by numeric action ID and its parent ticket ID.

Delete Ticket Type

Delete one HaloPSA ticket-type configuration record by numeric ID.

Delete User

Delete one HaloPSA end user by numeric ID.

Get Agent

Return one HaloPSA agent by numeric ID.

Get Appointment

Return one HaloPSA appointment by numeric ID, optionally with extra detail objects.

Get Asset

Return one HaloPSA asset by numeric ID, optionally including activity, allowed statuses, details, diagram data, and hierarchy data.

Get Attachment

Download one HaloPSA attachment by numeric ID.

Get Client Contract

Return one HaloPSA client contract by numeric ID, with optional expanded billing, asset, user, schedule, and period details.

Get Current Agent

Return a compact identity for the HaloPSA agent authorized by the current connection, without claims or access-control records.

Get Customer

Return one HaloPSA customer by numeric ID, with optional expanded, activity, ticket-type, period, and pre-pay data.

Get Invoice

Return one HaloPSA invoice by numeric ID, optionally with extra detail objects.

Get Item

Return one HaloPSA inventory or service item by numeric ID, optionally with expanded details and tenant-specific accounting data; additional provider fields are preserved.

Get Knowledge Base Article

Return one HaloPSA knowledge-base article by numeric ID, optionally with expanded details and language or organisation context.

Get Opportunity

Return one HaloPSA sales opportunity by numeric ID, optionally with extra provider detail objects.

Get Project

Return one HaloPSA project by numeric ID, optionally with expanded details.

Get Quotation

Return one HaloPSA quotation by numeric ID, optionally with expanded details or portal-view context.

Get Report

Return one HaloPSA report definition by numeric ID.

Get Site

Return one HaloPSA customer site by numeric ID, with optional customer, permission, activity, detail, setup, and ticket-type context.

Get Status

Return one HaloPSA ticket-status configuration record by numeric ID, optionally including its detailed configuration.

Get Supplier

Return one HaloPSA supplier by numeric ID, optionally including expanded details; additional provider fields are preserved.

Get Team

Return one HaloPSA team by numeric ID, optionally including agent details and expanded team objects.

Get Ticket

Return one HaloPSA ticket by numeric ID, with core assignment and classification fields and optional expanded details and most recent action.

Get Ticket Action

Get one HaloPSA ticket action by numeric action ID, optionally providing its ticket ID and requesting expanded details.

Get Ticket Type

Return one HaloPSA ticket type by numeric ID.

Get User

Return one HaloPSA end user by numeric ID, with optional customer, site, ticket-type, opportunity, supplier, activity, billing, asset, and detail context.

List Agents

Return compact HaloPSA agent records for assignment lookup, optionally filtered by name, email address, telephone number, or team ID.

List Appointments

Return one page of HaloPSA appointments, optionally filtered by customer, ticket, date range, or search text.

List Assets

Return one page of HaloPSA assets, optionally filtered by customer, site, user, asset type, search text, and active state.

List Attachments

List HaloPSA attachment metadata, optionally for one ticket.

List Client Contracts

Return one page of HaloPSA client contracts, optionally filtered by customer, site, search text, and active state.

List Customers

Return one page of HaloPSA customers, optionally filtered by name and active state.

List Invoices

Return one page of HaloPSA invoices, optionally filtered by date, customer, site, ticket, user, or search text.

List Items

Return one page of HaloPSA inventory and service items with the provider's documented status, asset, supplier, accounting, stock, search, and ordering filters.

List Knowledge Base Articles

Return one page of HaloPSA knowledge-base articles using the provider's documented status, access, relationship, language, search, and ordering filters.

List Opportunities

Return one page of HaloPSA sales opportunities, optionally filtered by customer, assignment, status, date range, or search text.

List Priorities

Return HaloPSA policy-priority mappings used to classify tickets, optionally filtered by SLA policy ID.

List Projects

Return one page of HaloPSA projects.

List Quotations

Return HaloPSA quotations with customer, state, approval, processing, text, attachment, ordering, and page filters.

List Reports

Return one page of HaloPSA report definitions with the provider's documented access, chart, customer, publication, ordering, group, search, and type filters.

List Sites

Return one page of HaloPSA customer sites, optionally filtered by customer, name, and active state.

List Statuses

Return HaloPSA ticket statuses, optionally constrained to a ticket type or a specific ticket's valid context.

List Suppliers

Return one page of HaloPSA suppliers with the provider's documented status, integration, ordering, search, and top-level filters.

List Teams

Return HaloPSA teams available for ticket assignment, optionally limited to the current agent's teams or a department.

List Ticket Actions

List HaloPSA ticket actions, optionally filtering by occurrence date range and whether attachment details are included.

List Tickets

Return one page of HaloPSA tickets, optionally filtered by customer, site, user, status, assigned agent, or text search.

List Ticket Types

Return ticket types available for ticket classification, optionally limited to types that agents can create for a customer.

List Users

Return one page of HaloPSA end users, optionally filtered by customer, site, name, and active state.

Upsert Agent

Create or update HaloPSA agent profiles, team memberships, account enablement, administrator access, working hours, licensing, costs, notifications, and approval settings in one array request.

Upsert Appointment

Create or update HaloPSA appointments in one array request.

Upsert Asset

Create or update one or more HaloPSA assets.

Upsert Client Contract

Create or update one or more HaloPSA client contracts.

Upsert Customer

Create or update one or more HaloPSA customers in the endpoint's array body.

Upsert Invoice

Create or update HaloPSA invoice records and their typed line items.

Upsert Item

Create or update HaloPSA inventory and service items in one array request.

Upsert Knowledge Base Article

Create or update one or more HaloPSA knowledge-base articles through POST /KBArticle.

Upsert Opportunity

Upsert HaloPSA sales opportunities: each resource item with id updates that record, while each item with id omitted creates a record.

Upsert Project

Create or update HaloPSA project records, typed milestones, and tags.

Upsert Quotation

Create or update HaloPSA quotation records and typed quotation lines.

Upsert Report

Create or update HaloPSA report definitions in one array request.

Upsert Site

Create or update one or more HaloPSA customer sites.

Upsert Status

Create or update HaloPSA ticket statuses in one array request.

Upsert Supplier

Create or update one or more HaloPSA suppliers through POST /Supplier.

Upsert Team

Create or update HaloPSA teams in one array request.

Upsert Ticket Action

Create or update ticket notes and work-log actions, optionally recording time or applying a ticket status, without sending email.

Upsert Ticket Type

Create or update HaloPSA ticket types in one array request.

Upsert User

Create or update one or more HaloPSA end-user records without sending welcome email.

SETUP GUIDE

Connect HaloPSA MCP Tool with your Agent

1

Install Composio

typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
Install the Composio SDK and your agent framework
2

Create a session with MCP enabled

typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["halopsa"],
  mcp: true,
});
Create a session scoped to HaloPSA and read its MCP URL and headers
3

Connect your agent to the MCP server

typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "Create a HaloPSA ticket for a customer who cannot access the company VPN, set it to high priority, and assign it to the network support team.",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
Pass the session's MCP URL and headers to your agent and run a HaloPSA request
SETUP GUIDE

Connect HaloPSA API Tool with your Agent

1

Install Composio

typescript
npm install @composio/core @composio/openai openai
Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
2

Create a Composio session

typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["halopsa"] });
const tools = await session.tools();
Initialize Composio with the OpenAI Responses provider and create a session scoped to HaloPSA
3

Run HaloPSA tools with your agent

typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "Create a HaloPSA ticket for a customer who cannot access the company VPN, set it to high priority, and assign it to the network support team." }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
Send a request, execute the HaloPSA tool calls through the session, and print the final answer

Why Use Composio?

AI Native HaloPSA Integration

  • Supports both HaloPSA MCP and direct API based integrations
  • Structured, LLM-friendly schemas for reliable tool execution
  • Rich coverage for reading, writing, and querying your HaloPSA data

Managed Auth

  • Built-in OAuth handling with automatic token refresh and rotation
  • Central place to manage, scope, and revoke HaloPSA access
  • Per user and per environment credentials instead of hard-coded keys

Agent Optimized Design

  • Tools are tuned using real error and success rates to improve reliability over time
  • Comprehensive execution logs so you always know what ran, when, and on whose behalf

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access HaloPSA
  • Scoped, least privilege access to HaloPSA resources
  • Full audit trail of agent actions to support review and compliance

Rolling this out across your team?

Give your team centralized access control across every framework with Composio’s MCP Gateway.

EXPLORE MCP GATEWAY
FAQ

Frequently asked questions

HaloPSA requires connections to go through your own OAuth app. You register it once with HaloPSA, add its client ID and secret in the Composio dashboard, and from then on everyone connects by signing in to HaloPSA as usual. Composio handles the rest of the flow and the token refresh.

Yes! Composio's Tool Router enables agents to use multiple toolkits. Learn more.

Yes. Composio is SOC 2 Type II compliant and is built to keep your HaloPSA connection and credentials secure. OAuth tokens and API keys are encrypted, and sensitive customer data is protected at rest and in transit.

Composio also undergoes independent security testing and continuously monitors its systems for security threats. You can review the latest reports and policies in the Composio Trust Center.

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

When you connect a HaloPSA account through Composio, every action runs under that account, so anything the agent creates, sends, or changes shows up in HaloPSA as done by you. Keep an approval step in your prompt for actions with side effects, such as sending or deleting, and have the agent draft first.

Exactly the ones HaloPSA lists on its consent screen when you connect. Review that screen before approving. If you connect a work account, your HaloPSA administrator may need to approve the app first, and you can revoke the access inside HaloPSA whenever you want.

Yes. Composio supports multiple connected accounts for the same app, and that works in Claude, ChatGPT, or any other assistant you connect through Composio. Give each HaloPSA connection a name such as work or personal, and the assistant uses the one you mention in the request. Each account keeps its own credentials and nothing is merged.

Composio refreshes HaloPSA tokens automatically, so day to day you do nothing. If you revoke access inside HaloPSA, or HaloPSA invalidates the session, the connection shows as expired in Composio and the agent stops acting on that account until you reconnect it, which is a single sign-in.

Composio's free Hobby plan includes 100,000 tool calls per month with no credit card, which covers most personal HaloPSA use. Paid plans add higher limits and team features. Your HaloPSA plan and its API limits still apply as usual.

Built-in connectors usually give one AI access to a limited set of apps. Many people use Composio because it lets their AI connect to more apps than it normally supports, or connect to multiple accounts for the same app (e.g. connect Claude to multiple HaloPSA accounts).

With Composio, you connect HaloPSA once and then use it across different AI assistants without setting it up separately in each one. Connect your apps to Composio once, then connect Composio to whichever AI you use, whether that's Claude, ChatGPT, Hermes, or your own custom assistant.

Start with HaloPSA.It takes 30 seconds.

Managed auth, hosted MCP servers, and every HaloPSA tool your agent needs.Free to start.

Start building