Suped

HaloPSA

Connect HaloPSA to Suped to import clients and create issue tickets.

Open beta. PSA integrations are available to all MSP organizations. We'd love your feedback and to walk you through the integration on a call. Reach out to contact@suped.com.

The HaloPSA integration links your MSP's Suped client organizations to HaloPSA clients. Suped creates tickets for open issues in linked organizations with issue syncing enabled. Suped does not create or update HaloPSA custom fields.

Before you start

  • You must be an administrator of the parent MSP organization in Suped, with access to regular features rather than a billing-only account. Configure the integration in the parent organization, not an individual client organization.
  • You need permission to create an API application in HaloPSA and an agent whose permissions cover the clients and ticket settings you want to use.
  • Prepare a ticket category, ticket type with a configured default SLA, and priority. A team is optional. Ticket settings are required even if you are primarily connecting HaloPSA to import clients.

Create a HaloPSA API application

  1. In HaloPSA, open Configuration → Integrations, then open HaloPSA API.
  2. Open View Applications and create a new application named Suped.
  3. Set the authentication method to Client ID and Secret. Suped uses client credentials to connect without an interactive login.
  4. Choose the agent to log in as. The application acts with this agent's permissions, so ensure the agent can access the required clients and create tickets.
  5. Select the application permissions listed below, including the anticipated invoicing permissions. You can select All instead if you prefer. The selected agent must also have the necessary access.
  6. Save the application and copy its Client ID and Client Secret for the Suped connection form.
HaloPSA Add an Application form showing the Suped integration name and Client ID and Secret authentication method
HaloPSA Add an Application form showing the Suped integration name and Client ID and Secret authentication method

API permissions

Suped requests the specific scopes below when authenticating, rather than all. Enable each listed permission, or select All in HaloPSA. Application permissions and the selected agent's permissions both control access.

AreaPermission scopesUsed for
Clientsread:customersImporting and linking clients.
Ticketsread:tickets, edit:ticketsReading tickets and creating tickets for open Suped issues.

The agent needs access to the relevant clients, categories, ticket types, teams, and priorities, plus permission to create tickets.

Anticipated invoicing permissions

The following scopes are also requested in preparation for invoicing. We expect to use them to select or create a billing item and sync its billable domain quantity to a client's recurring invoice. HaloPSA invoicing is not yet available, and the final requirements may change.

AreaPermission scopesExpected use
Itemsread:items, edit:itemsSelecting or creating the Suped billing item.
Contractsread:contractsFinding the linked client's active contract.
Invoicesread:invoices, edit:invoicesFinding an existing recurring invoice and adding or updating its Suped line-item quantity.

Connect Suped to HaloPSA

  1. In your Suped MSP organization, open Settings → PSA integration (beta).
  2. Set PSA system to HaloPSA.
  3. Enter the connection details below.
  4. Click Continue to authenticate and load ticket options from HaloPSA.
  5. Configure ticket syncing, then click Save. Clicking Continue alone does not save the integration.
FieldWhat to enter
PSA URLYour HaloPSA base URL, for example https://example.halopsa.com. Enter the host rather than a ticket URL or API endpoint. Suped adds the authentication and API paths.
Client IDThe API application's client ID, not a HaloPSA customer ID.
Client secretThe secret generated for the same API application.
Suped HaloPSA connection form with PSA URL, client ID, masked client secret, and Continue button
Suped HaloPSA connection form with PSA URL, client ID, masked client secret, and Continue button

Configure ticket syncing

  • Ticket category: Required. Select the HaloPSA category to use for Suped tickets. This sets the ticket's first-level category.
  • Ticket type: Required. Select a ticket type. Suped lists active types the API agent can create and select, excluding types with mandatory technician or user fields.
  • Ticket team (optional): Select an enabled HaloPSA team or leave No ticket team selected.
  • Ticket priority: Required. All tickets created by this integration use this priority. Suped lists priorities belonging to the selected ticket type's default SLA. Changing the ticket type clears the selected priority.

If you leave the team unset, Suped does not send that value and HaloPSA applies its own defaults and rules. Suped does not set a ticket status; configure the appropriate initial status in HaloPSA. Click Save to finish setup.

Suped HaloPSA ticket syncing settings with category, type, team, priority, and Save button
Suped HaloPSA ticket syncing settings with category, type, team, priority, and Save button
  1. Find the client organization in the Suped organization column on the PSA integration page.
  2. Select the matching HaloPSA client in the PSA client column. You can search by name.
  3. Set Sync issues for each linked organization to control whether Suped creates tickets for its issues.
  4. Repeat for other clients, then click Save connections.

Each HaloPSA client can be linked to only one Suped organization. Saving a new link queues the first background sync. Linking an existing organization does not import or change its domains.

Turning off Sync issues does not delete existing tickets. The new-tab buttons beside the organization and PSA client open its Suped Issues page and HaloPSA client, respectively.

Suped PSA integration page showing organization-to-client mappings and the Import clients, Settings, and Save connections buttons
Suped PSA integration page showing organization-to-client mappings and the Import clients, Settings, and Save connections buttons

Import clients from HaloPSA

Use Import clients for clients that do not already have a Suped organization. Link existing organizations instead to avoid creating duplicates.

  1. Click Import clients. The list includes active HaloPSA clients that are not already linked to a Suped organization.
  2. Review the Client and Email domains columns. Clients are selected by default. Use the row switches to choose clients, or the header switch to select or deselect all visible clients.
  3. Click Import to create an organization for each selected client shown.

Suped creates a child organization using the HaloPSA client's name, adds any valid domain supplied by HaloPSA, links the organization to the client, and queues its first sync with issue syncing enabled by default. A leading www. is removed from imported domains.

Domain suggestions come from the domain value returned in HaloPSA's client list. Some HaloPSA versions do not include that value, so the Email domains column may be empty even if the client has a domain in HaloPSA. A missing or invalid domain does not prevent the organization from being created; add its email domains directly in Suped afterward.

Review the imported domains and complete DMARC reporting setup. Importing does not change DNS records. It is a one-time action: later changes to client names and domains are not continuously imported.

Suped Import clients dialog showing client names, the Email domains column, per-client action menus, and the Import button
Suped Import clients dialog showing client names, the Email domains column, per-client action menus, and the Import button

How issue tickets work

Suped creates tickets for open issues in linked organizations with Sync issues enabled, including existing open issues on the first sync. Resolved and dismissed issues are skipped. Each ticket belongs to the linked HaloPSA client and includes:

  • A summary beginning with Automatic Suped issue:.
  • An overview of the issue and affected sources.
  • Numbered steps to fix the issue.
  • A link to the organization's Suped Issues page to confirm the fix.

Once an issue has been sent, ordinary syncs do not send it again. If Suped later reopens a previously resolved issue and marks it for syncing again, it can create a new ticket.

Ticket syncing is one-way ticket creation. Closing or editing a HaloPSA ticket does not resolve the issue in Suped, and resolving or dismissing an issue in Suped does not close the HaloPSA ticket. Use the ticket's Suped link to verify the fix and manage the ticket status separately in HaloPSA.

HaloPSA ticket created by Suped showing a DMARC issue overview, numbered steps to fix, and Suped confirmation link
HaloPSA ticket created by Suped showing a DMARC issue overview, numbered steps to fix, and Suped confirmation link

In a linked organization's Issues list, the PSA synced column shows each issue's sync result. Click a success indicator to open its HaloPSA ticket. Hover over an unsuccessful indicator to see the error or whether syncing has not yet been attempted.

Sync timing and verification

Linking or importing an organization queues an initial background sync. Saving a change to a linked organization's Sync issues switch or saving changed credentials also queues a sync. A daily job queues linked organizations throughout the day. Allow the next daily sync for new issues or ticket-routing changes.

  1. Confirm the organization-to-client mapping is saved in Suped.
  2. If the organization has an open issue that has not already been sent, check HaloPSA for its ticket and confirm the client and routing.

Change or remove the integration

Update credentials or ticket settings

Click Settings on the PSA integration page. Update the credentials or ticket settings, then click Save. Changing credentials requires clicking Continue to reload the available options and reselecting ticket settings before saving. Routing changes apply to future ticket creation; existing tickets are not moved or updated.

Set the organization's PSA client back to Select client and click Save connections. This stops future syncing without deleting the Suped organization or HaloPSA client.

Remove the integration

Open Settings, set PSA system back to Select PSA system, and click Save. This removes the saved integration configuration and clears all client links and issue sync history. Saving a different PSA provider also clears the existing links and issue sync history.

Unlinking or disconnecting leaves existing HaloPSA tickets in place. Unlinking alone preserves issue sync history. Removing the integration or switching providers resets that history, so linking clients again can create new tickets for issues that are still open.

Troubleshooting

Connection fails or options will not load

Check the HaloPSA base URL and that the client ID and secret belong to the same API application. Confirm the application uses Client ID and Secret authentication and that its selected agent is active. Check application permissions against both permission tables above, or select All. Check the agent's permissions for ticket configuration, client access, and ticket creation.

A ticket type or team is missing

Ticket types must be active, selectable by agents, and available for the API agent to create. Types with mandatory technician or user fields are excluded because Suped does not populate those extra fields. Teams must be enabled. After correcting HaloPSA's configuration, reopen Settings to reload the choices, or click Continue again during initial setup.

A client or domain is missing from import

Check that the client is active, accessible to the API agent, and not already linked. HaloPSA's client list may omit its domain depending on the tenant version. You can import the client without a domain and add the required email domains in Suped afterward.

Tickets are not appearing

Confirm both the integration settings and client connections are saved, then allow for the background sync. Check that Sync issues is enabled and saved for the organization, and inspect the issue's PSA synced indicator for errors. The issue must be open and not already synced. Check that the agent can create tickets for the client using the selected category, type, team, and priority.