Helpdesk
HaloITSM
API integration
Ship Helpdesk features without building the integration. Full HaloITSM API access via Proxy, normalized data through Unified APIs, and 80+ MCP-ready tools for AI agents — all extensible to your exact use case.
Talk to usUse Cases
Why integrate with HaloITSM
Common scenarios for SaaS companies building HaloITSM integrations for their customers.
Automate incident creation from monitoring and security alerts
Security and observability SaaS platforms can automatically create HaloITSM tickets when threats or anomalies are detected, linking assets and users directly. This eliminates manual ticket logging and accelerates mean time to resolution for IT teams.
Sync employee directories for zero-touch IT provisioning
HR and identity platforms can push new hire records into HaloITSM as users, assign them to teams and sites, and trigger onboarding tickets — all through Truto's Unified User Directory API. This lets your customers offer automated IT provisioning without custom API work.
Keep asset inventories in sync with the CMDB
Endpoint management, ITAM, and device security tools can continuously push discovered hardware and software into HaloITSM's asset registry, ensuring support agents always have up-to-date device context when triaging incidents.
Bridge the quote-to-cash lifecycle for MSPs
CPQ, billing, and sales automation platforms serving MSPs can create clients, push quotes and contracts, and generate invoices directly in HaloITSM — closing the loop between sales and service delivery without manual data entry.
Centralize project and ticket workflows across tools
Project management and professional services automation platforms can create and track HaloITSM projects and tickets bidirectionally, giving delivery teams a unified view of work without switching between systems.
What You Can Build
Ship these features with Truto + HaloITSM
Concrete product features your team can ship faster by leveraging Truto’s HaloITSM integration instead of building from scratch.
Alert-to-incident pipeline with asset linking
Automatically create HaloITSM tickets from detected events, look up the affected asset and user, link them to the ticket, and append diagnostic logs as actions — all without agent intervention.
Two-way user and team directory sync
Keep your product's user directory and HaloITSM's users and teams continuously synchronized using Truto's Unified User Directory API, handling onboarding, offboarding, and department changes automatically.
Automated onboarding ticket generator
When a new employee is created, automatically open a typed ticket (e.g., 'New Hire Hardware Request') assigned to the correct team and site, triggering HaloITSM's built-in approval workflows.
Real-time CMDB asset enrichment
Push device metadata — serial numbers, OS versions, warranty status — from your endpoint or asset management tool into HaloITSM assets so helpdesk agents see full context during ticket triage.
Quote-to-project handoff for MSPs
Convert closed-won deals into HaloITSM clients, quotes with line items, contracts, and implementation projects in a single automated workflow, eliminating rekeying between sales and delivery.
Ticket action audit trail
Append structured notes, status transitions, and external event logs to existing HaloITSM tickets as actions, creating a complete audit trail of automated and manual activity without overwriting ticket data.
SuperAI
HaloITSM AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_haloitsm_users
List users in HaloITSM. Returns count and an array of user objects with key details such as name, email, and status.
get_single_haloitsm_user_by_id
Get details of a specific user in HaloITSM using id. Returns fields such as id, name, emailaddress, site_name, department, and related contact information.
create_a_haloitsm_user
Create or update one or more users in HaloITSM. If id is included, the user record is updated; if not, a new user is created. Returns key user fields including id, name, emailaddress, site_name, department, and lastlogindate.
delete_a_haloitsm_user_by_id
Delete a user in HaloITSM using id. Also removes related objects associated with the specified user. Returns status 200 upon successful deletion.
list_all_haloitsm_teams
List teams in HaloITSM. Returns an array of teams with key details such as team name, type, and membership-related information.
get_single_haloitsm_team_by_id
Get details of a specific team in HaloITSM using id. Returns fields such as id, name, department_name, inactive, emailaddress, and agents.
create_a_haloitsm_team
Create or update one or more teams in HaloITSM. If id is provided, updates the existing team; otherwise, creates a new team. Returns id, name, department_id, and other team configuration details in the response.
delete_a_haloitsm_team_by_id
Delete a team in HaloITSM by id. Removes the team and related objects. Returns a success confirmation in the response.
list_all_haloitsm_actions
List actions in HaloITSM. Returns count of actions and array of action objects. Requires no parameters.
get_single_haloitsm_action_by_id
Get details of a specific action in HaloITSM using id and ticket_id. Returns key fields describing the action, such as identifiers, metadata, and related ticket information.
create_a_haloitsm_action
Create or update one or more actions in HaloITSM. If id is provided, updates the action; otherwise creates a new one. Requires ticket_id. Returns action details including id, ticket_id, outcome, datetime, and action status fields.
delete_a_haloitsm_action_by_id
Delete an action in HaloITSM using ticket_id and id. Removes the action and related objects. Returns status confirming deletion.
list_all_haloitsm_agents
List all agents in HaloITSM. Returns an array of agent objects including key fields such as name, email, and role.
get_single_haloitsm_agent_by_id
Get details about a specific agent in HaloITSM using id. Returns key agent fields such as name, email, status, and role information.
create_a_haloitsm_agent
Create or update one or more agents in HaloITSM. If id is included, the agent is updated; if not, a new agent is created. Returns key agent details such as id, name, email, and status in the response.
delete_a_haloitsm_agent_by_id
Delete an agent in HaloITSM using id. Removes the agent and all related objects. Requires id.
list_all_haloitsm_appointments
List appointments in HaloITSM. Returns an array of appointments including key fields such as appointment details, assigned agents, dates, and related entities.
get_single_haloitsm_appointment_by_id
Get a specific appointment in HaloITSM using id. Returns key fields such as id, subject, confirmed, start_date, end_date, agent_name, client_name, and status.
create_a_haloitsm_appointment
Create or update one or more appointments in HaloITSM. If id is included, the appointment is updated. If not, a new appointment is created. Returns appointment details including updated or newly created records.
delete_a_haloitsm_appointment_by_id
Delete an appointment in HaloITSM by id. Requires id. Deletes the appointment and all related objects. Returns a success status upon completion.
list_all_haloitsm_assets
List assets in HaloITSM. Returns record_count, page_no, page_size, and an array of asset objects with key fields such as id, inventory_number, client_id, site_id, and assettype_id.
get_single_haloitsm_asset_by_id
Get a specific asset in HaloITSM by id. Returns key details such as id, inventory_number, client_name, assettype_name, warranty dates, and related counts.
create_a_haloitsm_asset
Create or update one or more assets in HaloITSM. If id is included in the request, the asset is updated; if omitted, a new asset is created. Returns an array of created or updated asset details in the response.
delete_a_haloitsm_asset_by_id
Delete an asset in HaloITSM using the specified id. This operation removes the asset and its related objects. Returns confirmation of deletion.
list_all_haloitsm_clients
List clients in HaloITSM. Returns count and an array of client objects including id, name, colour, inactive, toplevel_id, toplevel_name, and customfields.
get_single_haloitsm_client_by_id
Get details about a specific client in HaloITSM using id. Returns fields such as id, name, inactive status, colour, customfields, notes, invoice settings, contact details, and statistics including ticket counts.
create_a_haloitsm_client
Create or update one or more clients in HaloITSM. If id is included, the client is updated; if id is not included, a new client is created. Returns details of the updated or newly created clients in the response.
delete_a_haloitsm_client_by_id
Delete a specific client in HaloITSM with the given id. Deletes the client and related objects. Returns status 200 upon successful deletion.
list_all_haloitsm_contracts
List contracts in HaloITSM. Returns contract details such as contract identifiers, associated client information, and contract attributes.
get_single_haloitsm_contract_by_id
Get details of a specific contract in HaloITSM using id. Returns key fields such as client_name, ref, start_date, end_date, status, and billing details for the contract.
create_a_haloitsm_contract
Create or update one or more contracts in HaloITSM. If id is included, updates the existing record; if not, creates a new one. Returns contract details including key fields like id and name.
delete_a_haloitsm_contract_by_id
Delete a contract in HaloITSM by id. Removes the contract and all related objects associated with the specified id. Returns confirmation of deletion in the response.
list_all_haloitsm_invoices
List invoices in HaloITSM. Returns count and an array of invoice objects. Each invoice includes key fields such as id, client_id, invoicenumber, name, invoice_date, amountdue, and invoicevalue.
get_single_haloitsm_invoice_by_id
Get a specific invoice in HaloITSM using id. Returns detailed invoice information including key fields describing the invoice record.
create_a_haloitsm_invoice
Create or update one or more invoices in HaloITSM. If id is included, the invoice is updated; otherwise, a new invoice is created. Returns details of the created or updated invoices in the response.
delete_a_haloitsm_invoice_by_id
Delete an invoice in HaloITSM with the specified id. The response confirms successful deletion of the invoice and its related objects.
list_all_haloitsm_items
List items in HaloITSM. Returns record_count and an array of item objects including key fields like id, name, status, assetgroup_name, quantity_on_order, and pricing details.
get_single_haloitsm_item_by_id
Get details for a specific item in HaloITSM using id. Returns key item fields in the response root object.
create_a_haloitsm_item
Create or update one or more items in HaloITSM. If id is included, updates the existing item; otherwise, creates a new item. Returns root array with item details including id and update status.
delete_a_haloitsm_item_by_id
Delete an item in HaloITSM by id. Requires id. The response confirms deletion of the item and related objects.
list_all_haloitsm_knowledge_base
List all knowledge-base articles in HaloITSM. Returns an array of articles with key fields containing article metadata and content details.
get_single_haloitsm_knowledge_base_by_id
Get a specific knowledge base article in HaloITSM using id. Returns key fields describing the article such as title, content, and metadata.
create_a_haloitsm_knowledge_base
Create or update a knowledge base article in HaloITSM. If id is provided, the article is updated; if not, a new article is created. The response returns the created or updated article details including id and key metadata fields.
delete_a_haloitsm_knowledge_base_by_id
Delete the knowledge base article with the specified id in HaloITSM. Removes the article and related objects. Returns a success status in the response.
list_all_haloitsm_opportunites
List opportunities in HaloITSM. Returns count and an array of opportunity objects in the root field of the response.
get_single_haloitsm_opportunite_by_id
Get details of a specific opportunity in HaloITSM using id. Returns key fields such as id, summary, details, status_id, client_name, team, opportunity type, value, and related dates providing full opportunity context.
create_a_haloitsm_opportunite
Create or update one or more opportunities in HaloITSM. If id is provided, updates the existing opportunity; if not, creates a new one. Returns the updated or newly created opportunity records in the response.
delete_a_haloitsm_opportunite_by_id
Delete an opportunity in HaloITSM with the specified id. Returns confirmation of deletion including the removed opportunity details.
list_all_haloitsm_projects
List projects in HaloITSM. Returns count of projects (record_count) and an array of project objects (tickets) containing detailed project information.
get_single_haloitsm_project_by_id
Get details of a specific project in HaloITSM using id. Returns fields such as id, summary, status_id, client_name, sla_id, priority_id, datecreated, lastactiondate, and more, providing full project information.
create_a_haloitsm_project
Create or update one or more projects in HaloITSM. If id is provided, updates an existing project; if not, creates a new one. Returns project details including key fields such as id and name.
delete_a_haloitsm_project_by_id
Delete a specific project in HaloITSM with the given id. Deletes the project and related objects. Returns confirmation of successful deletion.
list_all_haloitsm_quotes
List quotes in HaloITSM. Returns the total record_count, pagination details (page_no, page_size), and an array of quote objects containing fields such as id, dateoccurred, summary, client_name, status_id, and priority_id.
get_single_haloitsm_quote_by_id
Get details for a specific quote in HaloITSM using id. Returns key fields including title, ticket_id, status, po_ref, date, expiry_date, revenue, total, cost, profit, user details, and line items in the response.
create_a_haloitsm_quote
Create or update one or more quotes in HaloITSM. If id is provided, the quote is updated; otherwise, a new quote is created. Returns quote details including id, status, and associated information.
delete_a_haloitsm_quote_by_id
Delete a specific quote in HaloITSM using the id. Removes the quote and related objects. Returns status 200 on success.
list_all_haloitsm_reports
List reports in HaloITSM. Returns fields including page_no, page_size, record_count, columns_id, columns, and an array of report objects in tickets.
get_single_haloitsm_report_by_id
Get a specific report in HaloITSM using id. Returns fields such as id, name, sql, reportingperiod, charttitle, charttype, count, client, includesummary, and schedule details in the response.
create_a_haloitsm_report
Create or update one or more reports in HaloITSM. If id is provided, updates the existing report; otherwise, creates a new report. Returns details of the reports including their ids and updated information.
delete_a_haloitsm_report_by_id
Delete a specific report in HaloITSM using id. The operation removes the report and all related objects. Returns a status 200 response upon successful deletion.
list_all_haloitsm_sites
List Sites in HaloITSM. Returns each site's id, name, client_id, inactive status, phonenumber, sla_id, client_name, colour, and customfields in the response.
get_single_haloitsm_site_by_id
Get details of a specific site in HaloITSM. Requires id. Returns key fields describing the site, including its configuration and properties.
create_a_haloitsm_site
Create or update one or more sites in HaloITSM. If id is included, the site is updated; if not, a new site is created. The response returns details of the processed sites including their identifiers and properties.
delete_a_haloitsm_site_by_id
Delete a specific site in HaloITSM using id. Deletes the site and its related objects. Returns confirmation of successful deletion.
list_all_haloitsm_status
List all statuses in HaloITSM. Returns an array of statuses with key fields such as name, id, and type that describe each available status.
get_single_haloitsm_status_by_id
Get details of a specific status in HaloITSM using id. Returns key fields of the status object such as name, id, and settings relevant to the status configuration.
create_a_haloitsm_status
Create or update one or more status in HaloITSM. If id is included, updates existing status; if not, creates new. Returns the list of created or updated statuses in the response.
delete_a_haloitsm_status_by_id
Delete a specific status in HaloITSM using id. Deletes the status and related objects. Returns confirmation of deletion in the response.
list_all_haloitsm_suppliers
List suppliers in HaloITSM. Returns an array of suppliers containing key details such as supplier names and identifiers. Requires no path parameters.
get_single_haloitsm_supplier_by_id
Get details of a specific supplier in HaloITSM using id. Returns key supplier fields such as id, name, contact_name, email_address, phone_number, inactive status, and customfields in the response.
create_a_haloitsm_supplier
Create or update one or more suppliers in HaloITSM. If id is included, updates that supplier; otherwise, creates a new supplier. Returns details of created or updated suppliers.
delete_a_haloitsm_supplier_by_id
Delete a supplier in HaloITSM using id. This operation removes the supplier and related objects. Returns confirmation of successful deletion.
list_all_haloitsm_ticket_types
List all ticket-types in HaloITSM. Returns id, name, ticket_count, use, and sequence for each ticket type.
get_single_haloitsm_ticket_type_by_id
Get a specific ticket type in HaloITSM using id. Returns details including name, ticket_count, workflow_name, approval_process_name, default_team, default_agent_name, default_priority, and related configuration fields.
create_a_haloitsm_ticket_type
Create or update one or more ticket-types in HaloITSM. If id is provided, updates the existing record; if not, creates a new one. Returns an array of ticket-type objects with their details in the root of the response.
delete_a_haloitsm_ticket_type_by_id
Delete a specific ticket type in HaloITSM using id. Deletes the ticket type and related objects with the specified id. Returns status 200 upon successful deletion.
list_all_haloitsm_tickets
List tickets in HaloITSM. Returns ticket objects with key fields such as ticket ID, status, client, and SLA details in the response. No required parameters.
get_single_haloitsm_ticket_by_id
Get details of a specific ticket in HaloITSM using id. Returns key fields such as ticket ID, SLA ID, Status ID, Client ID, Name, and LastIncomingEmailDate.
create_a_haloitsm_ticket
Create or update one or more tickets in HaloITSM. If id is included, the ticket is updated; if not, new tickets are created. Returns each ticket's status and details in the response.
delete_a_haloitsm_ticket_by_id
Delete a specific ticket in HaloITSM by id. Removes the ticket and related objects. Returns confirmation of deletion in the response.
list_all_haloitsm_attachments
List attachments in HaloITSM using ticket_id. Returns an array of attachments in Base64 format with fields describing file metadata and encoding details.
get_single_haloitsm_attachment_by_id
Get details of a specific attachment in HaloITSM using id. Returns a single attachment object in Base64 format in the response.
create_a_haloitsm_attachment
Create or update one or more attachments in HaloITSM. If id is included, updates the attachment; otherwise, creates a new one. Attachments must be provided in Base64 format. Returns attachment details in response.
delete_a_haloitsm_attachment_by_id
Delete an attachment in HaloITSM using id. Removes the attachment and related objects. Returns confirmation of successful deletion in the response.
Why Truto
Why use Truto’s MCP server for HaloITSM
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 600+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
Unified APIs
Unified APIs for HaloITSM
Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.
How It Works
From zero to integrated
Go live with HaloITSM in under an hour. No boilerplate, no maintenance burden.
Link your customer’s HaloITSM account
Use Truto’s frontend SDK to connect your customer’s HaloITSM account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call HaloITSM
Truto’s Proxy API is a 1-to-1 mapping of the HaloITSM API. You call us, we call HaloITSM, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate HaloITSM’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about HaloITSM on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What authentication method does the HaloITSM integration use?
HaloITSM uses OAuth 2.0 client credentials for API authentication. Truto handles token issuance and refresh automatically, so your end users connect their HaloITSM instance once and you never manage tokens directly.
Which HaloITSM resources can I read and write through Truto?
Truto supports full CRUD (list, get, create, delete) across 22 HaloITSM resources including tickets, actions, users, teams, agents, assets, clients, contracts, invoices, quotes, opportunities, projects, sites, suppliers, knowledge base articles, reports, appointments, items, statuses, ticket types, and attachments.
Does Truto handle pagination for HaloITSM list endpoints?
Yes. Truto abstracts away HaloITSM's pagination so you get a consistent interface for iterating through large result sets of tickets, assets, users, or any other resource without managing page tokens or offsets yourself.
Can I use Truto's Unified API with HaloITSM?
HaloITSM is mapped to Truto's Unified User Directory API, which provides a normalized schema for Users and Groups (Teams). This means you can build one integration that works across HaloITSM and other directory-compatible apps without writing provider-specific code.
How do ticket actions work versus ticket updates?
In HaloITSM, actions are discrete events attached to a ticket — public or private notes, status changes, logged calls, and audit entries. Use create_a_haloitsm_action to append activity to a ticket without overwriting its core fields, and use ticket endpoints to modify the ticket record itself.
Can I filter or search resources when listing them?
Yes. HaloITSM's API supports query parameters for filtering on list endpoints (e.g., filtering assets by type or tickets by status). Truto passes these filters through, so you can scope API calls to exactly the data your integration needs.
HaloITSM
Get HaloITSM integrated into your app
Our team understands what it takes to make a HaloITSM integration successful. A short, crisp 30 minute call with folks who understand the problem.
Talk to us