Halo PSA icon

Halo PSA

Consume Halo PSA API

Actions795

NHD Roles → Post Undefined

AI-generated

Overview

This node integrates with the Halo PSA API, allowing users to perform various operations on different resources within the Halo PSA system. Specifically, for the "NHD Roles" resource with the "Post Undefined" operation, it sends a complex JSON body payload to create or update roles and their related configurations in bulk.

Typical use cases include automating role management in Halo PSA by programmatically defining charge rates, teams, departments, clients, ticket types, custom fields, notifications, claims, access controls, and many other related entities associated with roles. This is beneficial for organizations that want to synchronize or provision role-based settings at scale without manual intervention.

For example, an IT service provider could use this node to push a comprehensive set of role permissions and configurations from an external system into Halo PSA, ensuring consistent access control and notification rules across their environment.

Properties

Name Meaning
Body A JSON object representing the full configuration of roles and related entities to be created or updated. It includes arrays for chargerates, teams, departments, clients, tickettypes, assetfields, custom fields, notifications (with nested agents, conditions, roles, user_roles), claims, custombuttons, assettypes, access control lists, sites, and many other detailed sub-entities relevant to role definitions and permissions.

The property expects a JSON structure similar to the following (simplified):

{
  "chargerates": [{}],
  "teams": [{}],
  "departments": [{}],
  "clients": [{}],
  "tickettypes": [{}],
  "assetfields": [{}],
  "unamecustomfields": [{}],
  "unameappointmenttypes": [{}],
  "notifications": [
    {
      "agents": [{}],
      "conditions": [{}],
      "roles": [{}],
      "user_roles": [{}]
    }
  ],
  "claims": [{}],
  "custombuttons": [{}],
  "assettypes": [{}],
  "uname_usercustomfields": [{}],
  "access_control": [{}],
  "ac_tickettypes": [{}],
  "ac_approvals": [{}],
  "ac_rules": [{}],
  "ac_cannedtext": [{}],
  "ac_customfields": [{}],
  "ac_customtables": [{}],
  "ac_dashboards": [{}],
  "ac_workflows": [{}],
  "ac_roles": [{}],
  "ac_slas": [{}],
  "ac_templates": [{}],
  "ac_outcomes": [{}],
  "ac_workdays": [{}],
  "ac_emailtemplates": [{}],
  "ac_messagegroups": [{}],
  "ac_reportgroups": [{}],
  "ac_fieldgroups": [{}],
  "ac_languagepacks": [{}],
  "ac_itemgroups": [{}],
  "ac_suppliers": [{}],
  "ac_suppliercontracts": [{}],
  "ac_assettypes": [{}],
  "ac_assetgroups": [{}],
  "ac_servicecategories": [{}],
  "ac_services": [{}],
  "ac_chatprofiles": [{}],
  "ac_faqlists": [{}],
  "ac_devices": [{}],
  "sites": [{}],
  "ac_databaselookups": [{}]
}

Each array can contain multiple objects defining specific configurations for that category.

Output

The node outputs an array of JSON objects corresponding to each input item processed. Each output item contains:

  • json: The response from the Halo PSA API after sending the POST request with the provided body. This typically includes confirmation of created or updated roles and related entities or error details if the request failed.
  • pairedItem: Metadata linking the output to the original input item index.

No binary data output is produced by this node.

Dependencies

  • Requires an active connection to the Halo PSA API.
  • Needs credentials including:
    • Base URL of the Halo PSA instance.
    • Tenant identifier.
    • Client ID.
    • Client Secret.
  • These credentials must be configured in n8n prior to using the node.

Troubleshooting

  • No credentials returned!
    Occurs if the node cannot retrieve the required API credentials. Ensure credentials are properly set up and selected in the node configuration.

  • Resource or Operation not found
    If the specified resource or operation does not exist, verify that the correct resource ("NHD Roles") and operation ("Post Undefined") are selected.

  • API request errors
    Errors returned from the Halo PSA API will be included in the output JSON under an error field if "Continue On Fail" is enabled. Common issues might include malformed JSON in the Body property or insufficient permissions.

  • Malformed JSON in Body
    Since the Body property expects valid JSON, ensure the JSON syntax is correct. Use the built-in JSON editor or validate externally before pasting.

  • Network or authentication failures
    Check network connectivity and validity of API credentials if requests fail to reach the Halo PSA server.

Links and References


This summary is based solely on static analysis of the provided source code and property definitions.

Discussion