Skip to main content

Automation Endpoints (Part 3)

Automation & Workflows (continued)

Webhook (Outbound Webhooks)

Outbound webhook configurations define where HaloPSA sends event notifications to external systems.


GET /Webhook

List outbound webhook configurations.

Query Parameters:

NameTypeDescription
isazureautomationbooleanFilter for Azure Automation webhooks
typeintegerFilter by webhook type

POST /Webhook

Create or update webhook configurations.

Request Body: Array of Webhook objects

Key Webhook fields:

PropertyTypeDescription
idstring (uuid)Webhook UUID
namestringWebhook name
typeintegerWebhook type
urlstringTarget URL
content_typestringContent-type header for requests
methodintegerHTTP method (GET/POST/etc.)
authentication_typeintegerOutbound authentication type
basic_usernamestringBasic auth username
certificate_idintegerClient certificate ID
activebooleanActive status
disabledbooleanWhether webhook is disabled
eventsarray[UnameNotification]Events that trigger this webhook
stepsarray[FlowDetail]Runbook steps (for runbook-type webhooks)
input_variablesarrayInput variable definitions
mappingsarray[WebhookMapping]Field mappings
custom_payloadbooleanUse custom payload format
payload_typeintegerPayload format type
schedule_idintegerSchedule for scheduled webhooks
log_retention_policy_daysintegerLog retention period in days
notify_on_failurebooleanSend failure notifications
notify_on_failure_techintegerTech to notify on failure
inbound_authentication_typeintegerAuthentication type for inbound requests to this webhook
runbook_start_typeintegerHow the runbook is initiated
batch_methodintegerBatch processing method
batch_delay_secondsintegerDelay between batches
batch_limitintegerMaximum batch size
safe_instancesintegerMax concurrent instances
multiple_execution_modeintegerBehavior when triggered multiple times concurrently
auto_disable_attemptsintegerAuto-disable after N failed attempts
integrationsarray[OutboundIntegration]Linked outbound integrations
standalone_methodsarray[OutboundIntegrationMethod]Standalone callable methods
run_count_hour / run_count_day / run_count_weekintegerExecution frequency stats

GET /Webhook/{id}

Get a single webhook configuration.

Path Parameters:

NameTypeRequiredDescription
idstring (uuid)YesWebhook UUID

Query Parameters:

NameTypeDescription
includedetailsbooleanInclude full step/mapping details

DELETE /Webhook/{id}

Delete a webhook configuration.

Path Parameters:

NameTypeRequiredDescription
idstring (uuid)YesWebhook UUID

WebhookEvent

WebhookEvent records log individual execution events for outbound webhooks — each time a webhook fires.


GET /WebhookEvent

List webhook execution event records.

Query Parameters:

NameTypeDescription
automation_idintegerFilter by automation ID
webhook_idstringFilter by webhook UUID
integrationmethod_idintegerFilter by integration method ID
countintegerNumber of records to return
idonlybooleanReturn IDs only
orderorder5stringSort fields
orderdescorderdesc5booleanSort descending flags
page_nointegerPage number
page_sizeintegerPage size
pageinatebooleanEnable pagination

POST /WebhookEvent

Create webhook event records.

Request Body: Array of WebhookEvent objects

Key WebhookEvent fields:

PropertyTypeDescription
idstring (uuid)Event UUID
webhook_idstring (uuid)Parent webhook UUID
integration_method_idintegerIntegration method that fired
notification_idintegerAssociated notification ID
timestampdatetimeWhen the event fired
statusintegerExecution status
durationnumber (double)Execution duration in ms
requestheadersstringOutbound request headers
requestbodystringOutbound request body
responsestatusintegerHTTP response status code received
responseheadersstringResponse headers
responsebodystringResponse body
automation_idintegerAssociated automation record ID
automation_stepintegerStep in automation that triggered this
entity_idintegerEntity ID (e.g., ticket ID)
errorbooleanWhether an error occurred
log_retention_policy_deletion_datedatetimeScheduled deletion date per retention policy

GET /WebhookEvent/{id}

Get a single webhook event record.

Path Parameters:

NameTypeRequiredDescription
idstring (uuid)YesEvent UUID

Query Parameters:

NameTypeDescription
includedetailsbooleanInclude full details

WebhookRepository

Read-only repository view of webhook configurations (library/shared webhooks).


GET /WebhookRepository

List webhook repository entries.

Query Parameters:

NameTypeDescription
isazureautomationbooleanFilter for Azure Automation webhooks
typeintegerFilter by webhook type

GET /WebhookRepository/{id}

Get a single webhook from the repository.

Path Parameters:

NameTypeRequiredDescription
idstring (uuid)YesWebhook UUID

Query Parameters:

NameTypeDescription
includedetailsbooleanInclude full details

OutboundIntegration (Custom Integrations)

Custom integrations define authenticated outbound API connections to external systems, including OAuth2, API key, and certificate-based auth configurations.


GET /CustomIntegration

List outbound integration configurations.


POST /CustomIntegration

Create or update outbound integrations.

Request Body: Array of OutboundIntegration objects

Key OutboundIntegration fields:

PropertyTypeDescription
idintegerIntegration ID
guidstring (uuid)Integration GUID
namestringIntegration name
module_idintegerAssociated module
authorizationtypeintegerAuthorization type (None, Basic, OAuth2, API Key, etc.)
granttypeintegerOAuth2 grant type
authorizationurlstringOAuth2 authorization URL
tokenurlstringOAuth2 token URL
client_idstringOAuth2 client ID
new_client_secretstringOAuth2 client secret (write-only)
usernamestringBasic auth / credential username
new_passwordstringBasic auth / credential password (write-only)
scopestringOAuth2 scope
resourcebaseurlstringBase URL for API calls
headernamestring (max 100)Authentication header name
headerprefixstring (max 100)Authentication header prefix
algorithmintegerSigning algorithm
bearernamestringBearer token field name
bearerlocationintegerWhere the bearer is passed (header/query)
certificate_idintegerClient certificate ID
response_token_namestringField name in token response
token_expiry_minsintegerToken cache duration in minutes
authorizedbooleanWhether the integration is authorized
methodsarray[OutboundIntegrationMethod]API methods defined for this integration
jwt_token_methodintegerJWT generation method
jwt_certificate_idstringCertificate for JWT signing
access_control_levelintegerAccess control level
safe_instancesintegerMax concurrent instances
enable_linked_instance_client_credentialsbooleanUse per-instance credentials
version_numberstringVersion string

GET /CustomIntegration/{id}

Get a single outbound integration by ID.

Path Parameters:

NameTypeRequiredDescription
idinteger (int32)YesIntegration ID

Query Parameters:

NameTypeDescription
includedetailsbooleanInclude full configuration details
includemethodsbooleanInclude defined API methods
module_idintegerFilter methods by module

DELETE /CustomIntegration/{id}

Delete an outbound integration.

Path Parameters:

NameTypeRequiredDescription
idinteger (int32)YesIntegration ID

OutboundIntegrationMethod (Custom Integration Methods)

Individual API methods (endpoints) within an outbound integration configuration.


GET /CustomIntegrationMethod

List outbound integration methods.

Query Parameters:

NameTypeDescription
integration_idintegerFilter by parent integration ID
countintegerNumber of records to return
orderorder5stringSort fields
orderdescorderdesc5booleanSort descending flags
page_nointegerPage number
page_sizeintegerPage size
pageinatebooleanEnable pagination

POST /CustomIntegrationMethod

Create or update integration methods.

Request Body: Array of OutboundIntegrationMethod objects

Key OutboundIntegrationMethod fields:

PropertyTypeDescription
idintegerMethod ID
guidstring (uuid)Method GUID
integration_idintegerParent integration ID
namestringMethod name
full_namestringFully qualified method name
resourcestringResource name
pathstringAPI path
methodintegerHTTP method (GET/POST/PUT/DELETE/etc.)
authorizationtypeintegerAuth override type
requesttypeintegerRequest body content type
responsetypeintegerExpected response content type
requestbodystringRequest body template
uri_paramsarray[OutboundIntegrationMethodValue]URI/query parameter mappings
headersarray[OutboundIntegrationMethodValue]Header mappings
body_mappingsarray[OutboundIntegrationMethodValue]Request body field mappings
output_variablesarray[OutboundIntegrationMethodValue]Output variable mappings from response
log_retention_policy_daysintegerLog retention in days
encrypt_response_bodybooleanEncrypt stored response
response_is_filebooleanWhether response is a file download
access_control_levelintegerAccess control level

GET /CustomIntegrationMethod/{id}

Get a single integration method by ID.

Path Parameters:

NameTypeRequiredDescription
idinteger (int32)YesMethod ID

Query Parameters:

NameTypeDescription
includedetailsbooleanInclude full method details

DELETE /CustomIntegrationMethod/{id}

Delete an integration method.

Path Parameters:

NameTypeRequiredDescription
idinteger (int32)YesMethod ID

OutboundIntegrationMethodValue

Values/mappings within integration methods.


GET /CustomIntegrationMethodValue

List integration method values.


OutboundIntegrationRepository (Custom Integration Repository)

Read-only view of shared/library integration configurations.


GET /CustomIntegrationRepository

List integration repository entries.


GET /CustomIntegrationRepository/{id}

Get a single integration from the repository.

Path Parameters:

NameTypeRequiredDescription
idinteger (int32)YesIntegration ID

Query Parameters:

NameTypeDescription
includedetailsbooleanInclude full configuration details
includemethodsbooleanInclude defined API methods
module_idintegerFilter methods by module