Skip to main content

Integration Framework Endpoints

Integration Framework

This section covers HaloPSA's integration framework — the APIs for connecting external systems, configuring integration modules, exchanging data with third-party services, and managing sync state.


HaloIntegration

Internal integration endpoint used to push data into HaloPSA from external systems.

GET /HaloIntegration/Get

Retrieve integration state or connection info.

No query parameters documented.

POST /HaloIntegration/CreateTicket

Create a ticket via the integration channel.

Request body: Faults schema — see Faults object (ticket creation payload).

POST /HaloIntegration/CreateAction

Add an action to a ticket via the integration channel.

Request body: Actions schema — ticket action object with ticket_id, note, note_html, outcome, datetime, who_agentid, attachment_list, customfields, and many optional fields for billing, email, social, travel, and scheduling.


IntegrationConfiguration

Manages the configuration of integration modules (third-party connectors configured in HaloPSA).

GET /IntegrationConfiguration

List all integration configurations.

No query parameters documented.

POST /IntegrationConfiguration

Create or update integration configurations.

Request body: Array of IntegrationConfiguration objects.

GET /IntegrationConfiguration/{id}

Get a single integration configuration by ID.

ParameterTypeDescription
idinteger (path, required)Integration configuration ID
includedetailsbooleanInclude full details

IntegrationData

The largest tag in this section — 130+ endpoints that proxy requests to specific third-party integration systems. Each follows one of these URL patterns:

  • GET /IntegrationData/Get/{IntegrationType} — fetch data from the integration
  • POST /IntegrationData/Import/{IntegrationType} — import data into HaloPSA from the integration
  • POST /IntegrationData/Export/{IntegrationType} — export data from HaloPSA to the integration
  • POST /IntegrationData/Send/{IntegrationType} — send a specific record (e.g., invoice)
  • POST /IntegrationData/Post/{IntegrationType}/{action} — perform a specific action
  • GET /IntegrationData/Validate/{IntegrationType} — validate integration credentials/connection
  • GET /IntegrationData/Search/{IntegrationType} — search integration data
  • POST /IntegrationData/Link/{IntegrationType} — link a HaloPSA record to an integration record
  • POST /IntegrationData/Unlink/{IntegrationType} — unlink a HaloPSA record from an integration record
  • POST /IntegrationData/AdjustQty/{IntegrationType} — adjust subscription quantity

Integration Types Supported

Accounting / Finance

IntegrationEndpoints
XeroGET, Import, Send (invoice)
QuickBooksOnlineGET, Import
KashflowGET, Import
BusinessCentralGET, Import
SageBusinessCloudGET, Import
ExactOnlineGET, Import
IntacctGET, Import
SnelStartGET, Import
FortnoxGET, Import
MyobGET, Import

RMM / Monitoring

IntegrationEndpoints
PRTGGET (testOnly)
DattoGET (dataType, fetchSites, keyPair)
NinjaRMMGET (datatype, organizationid, page)
SolarWindsRMMGET (datatype, gfisiteid)
AutomateGET (dataType, extraFilter, keyPair)
AteraGET (datatype, keyPair, page)
AuvikGET (dataType, alsoInclude, excludeMapped, mappedOnly, next_url, paginate, parentId, subDataType)
NCentralGET (accountid, customerid, dataOnly, datatype)
KaseyaVSAGET (datatype, extrafilter, keyPair, page)
LogicMonitorGET (datatype, offset)
ZabbixGET (method)
IcingaGET
ConnectwiseRmmGET
DomotzGET (endpoint, returntype, validate)
BarracudaGET (after, datatype, keypair, pageinapi, varname)
NewRelicGET (datatype)
PrometheusGET
TaniumGET
SnowGET (accountid, dataOnly, datatype, nextlink, paginate)
SyncroGET (dataOnly, datatype, page)
DynatraceGET
XensamGET
BigPanda (GetDeviceList)GET

PSA / Help Desk

IntegrationEndpoints
ConnectWiseGET (datatype, page)
AutotaskGET (datatype, nexturl)
ServiceNowGET
ServiceNowIntegrationGET (alternate_sys_id, customer_id, datatype, offset, search, updateddate)
JiraServiceManagementGET (alternate_sys_id, customer_id, datatype, offset, search, supplier_id)
FreshdeskGET (datatype, page, parent_id)
JiraGET (dataOnly, dataType, haloProduct, issueTypes, productId, search), Validate, Search, Import, Link, Unlink
DevOps (Azure DevOps)GET (data_only, haloProduct, instance_id, product_id, resource, search, workItemTypes), Search, Import, Link, Unlink

Identity / Directory

IntegrationEndpoints
AzureADGET (connectionid, datatype, mappingid, tenantid), Delta
IntuneGET (areaAzureTenant, connectionid, datatype, doPaginate, nextLink)
GoogleWorkplaceGET (datatype, mappingid, nexttoken, paginate)
OktaGET (datatype, override_mapping_id, validate)
MicrosoftCSPGET (azuretenants, continuationToken, datatype, detailsId, doPaginate, isLookup, keyPair, nextLink, search), AdjustQty, ClearLicenceKeyCache

Calendars / Scheduling

IntegrationEndpoints
ExchangeCalendarsGET (datatype, masterid, nexturl, overrideenddate, overridestartdate, userprincipalname)
ExchangeCalendars/EWSGET, Import (EWSAppointmentChange)
GoogleCalendarsGET (datatype), Post (array of Uname)
HolidayAPIGET (country, dataOnly, endpoint, year)

CRM / Sales

IntegrationEndpoints
DynamicsCRMGET (accountid, datatype)
HubSpotGET (keypair, nextlink, objecttype, paginate, resource, search)
SalesforceGET (endpoint, keypair, nextlink, resource)
QuoterGET (resource)
GoToAssistGET (customeremail, customername, datatype, limit, offset, ticketid)
AmazonSellerGET
ShopifyGET, ShopifyVerify
GoogleBusinessGET
WordPress.comGET
WordPress.orgGET

Distribution / Licensing

IntegrationEndpoints
Pax8GET (include_this_id, page, paginate, remove_existing, resource, third_party_id), AdjustQty
IngramMicroGET (include_this_id, offset, paginate, remove_existing, resource, tenant, third_party_id), Import (Subscriptions)
StreamOneIonGET
SynnexGET
GiacomGET (include_this_id, remove_existing, resource, sub_resource)
RhipeGET (include_this_id, remove_existing, resource)
TechDataGET (include_this_id, remove_existing, resource)
intYGET (include_this_id, remove_existing, resource)
CloudMarketplaceGET (account_id, include_this_id, module_id, remove_existing, reset_token, resource)
SherwebGET (customer_id, include_this_id, remove_existing, reset_token, resource)
ArrowSphereGET (include_this_id, next_url, paginate, remove_existing, resource)
DickerDataGET (include_this_id, remove_existing, resource, tenant_id)
DattoCommerceGET (connectionid, datatype, page)
MicrosoftSkusGET

Security / Access

IntegrationEndpoints
BeyondTrustGET Code, Import
AzureSentinelGET (connectionid, datatype, resourcegroupname, subscriptionid, workspacename)
QualysGET (mappingid, offset, paginate, resource)
PassportalGET (clientid, documenttype, endpoint, pagenum, returntype, validate)
PagerDutyGET (apikeyoverride, dataOnly, datatype)
SplunkOnCallGET (datatype), CreateIncident
JamfGET (dataOnly, endpoint)
ITGlueGET (datatype, organizationid, returntype, typeid, updateddate)
LiongardGET (datatype, keyPair, page), Post Customer (Area), Post Metrics
Device42GET (datatype, keyPair)
EtilizeGET (catalog, datatype, locale, page_size, pageno, search)

Communication / Messaging

IntegrationEndpoints
SplunkOnCallGET, CreateIncident (SOCCreateIncident)
TwitterGET (callbackurl, datatype)
FacebookGET (facebook_details_id, resource)
SlackGET
MattermostGET, Post create-webhook, Post delete-webhook, Post send-webhook
MicrosoftTeamsPost Manifest (TeamsManifestCreate)
InteractGET (searchString, testOnly)
GoogleBusinessGET

Remote Access

IntegrationEndpoints
LogMeInGET (datatype)
ConnectwiseControlGET (datatype, keyPair, secondarydatatype)
SplashtopGET

Asset Management

IntegrationEndpoints
LansweeperGET (datatype, exportid, exportUrl, halositeid, siteid), Export (LansweeperStartExport)
SnipeITGET
VMWorkspaceGET
MerakiGET

Finance / Payments

IntegrationEndpoints
StripeGET, Post create-webhook (StripeWebhookEndpoint), Post create-setup-intent, Post create-payment-intent (StripePaymentIntentCreateRequest), Post update-invoice-payment (StripeUpdateInvoicePaymentRequest), Post create-portal-session (StripeCreatePortalSession)
GoCardlessGET, GET /Payments
AvalaraGET

Other / Misc

IntegrationEndpoints
HaloLinkGET (resource, uriparams), Unlink (array of int IDs)
DatagateGET
ConfluenceGET, Post create-webhook (ConfluenceWebhookEndpoint)
MailGET, GET DeletedMail, POST Move (MoveMailRequest)
OpenAiPost (Actions schema)
SalesMailboxGET (connectionid, datatype, mailboxname, mappingid), GET /{id}
SAML/IdP/MetadataPOST (KeyPair2)
SAML/SP/MetadataGET
QuoterGET (resource)
FormatJsonArrayPOST — utility to format a JSON array
DatagateGET
ConfluenceGET, Post webhook

Common GET /IntegrationData/Get/{type} Parameters

Many integration GET endpoints share common query parameters:

ParameterTypeDescription
datatypestringSub-resource type to fetch (e.g., "customers", "devices")
keyPairbooleanReturn results as key-value pairs
pageintegerPage number for paginated results
paginatebooleanEnable pagination
nextLink / next_url / nexturlstringContinuation token for next page
dataOnlybooleanReturn raw data without Halo mapping metadata
connectionidintegerTarget a specific connection config
mappingidintegerTarget a specific field mapping
searchstringFilter results by search string

Key Request Body Schemas

StripeCreatePortalSession

FieldTypeDescription
customeridstringStripe customer ID
returnurlstringURL to return to after portal session

SubscriptionQuantityChange (used for MicrosoftCSP and Pax8 AdjustQty)

FieldTypeDescription
licence_idintegerHaloPSA licence record ID
current_quantityintegerCurrent subscription seat count
new_quantityintegerNew desired seat count

Actions (used for CreateAction, OpenAI post)

Key fields:

FieldTypeDescription
ticket_idintegerParent ticket ID
idintegerAction ID (for updates)
notestringPlain text note body
note_htmlstringHTML note body
outcomestringAction outcome text
who_agentidintegerAgent who performed the action
datetimedatetimeAction timestamp
attachment_listobjectAttachment_View schema
customfieldsarrayCustom field values
actisbillablebooleanWhether time is billable
emailbodystringEmail body (for email actions)
emailsubjectstringEmail subject
actionarrivaldatedatetimeScheduled arrival time
actioncompletiondatedatetimeScheduled completion time

IntegrationDelta

Tracks changes (deltas) for sync operations between HaloPSA and integrations.

GET /IntegrationDelta

List all integration deltas.

No query parameters documented.

POST /IntegrationDelta

Create integration delta records.

Request body: Array of IntegrationDelta objects.

GET /IntegrationDelta/{id}

Get a single delta record.

ParameterTypeDescription
idinteger (path, required)Delta record ID