> For the complete documentation index, see [llms.txt](https://helpdesk.augmentt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://helpdesk.augmentt.com/configuration/psa-integrations-by-tool.md).

# PSA Integrations by Tool

This page supplements [Setting Up Your PSA Integration](/configuration/setting-up-your-psa-integration.md) with the specific configuration steps, minimum permissions, and known quirks for each supported PSA. All four PSA integrations are configured the same way at a high level:

1. Generate API credentials in the PSA itself (a token, or a public/private key pair, or client ID/secret depending on the tool).
2. In Augmentt, go to **Configuration > Integrations** at your MSP Organization level (PSA integrations are configured once, at the organization level — not per customer).
3. Click **Connect** on the relevant PSA tile and enter the credentials.
4. Map your PSA clients to your Augmentt companies.
5. Configure ticketing defaults (severity mapping, board/queue, internal vs. public notes) on the **Ticketing** tab.

{% hint style="info" %}
If you haven't created your Augmentt customers yet, do that first — see the Getting Started 10-Step Setup Guide — or use **Create & Map Companies** during the mapping step to create them on the fly.
{% endhint %}

## Comparison at a glance

| PSA                  | Credential type                            | Where to generate it                                                                     | Minimum permissions                                                                                                                                                               |
| -------------------- | ------------------------------------------ | ---------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Syncro               | Single API token                           | Syncro: Admin > API Tokens > New Token (Custom Permissions)                              | Customers – List/Search; Tickets – Create                                                                                                                                         |
| HaloPSA              | Client ID + Client Secret (OAuth)          | Halo: Configuration > Integrations > HaloPSA API > View Applications                     | `read:tickets`, `edit:tickets`, `read:customers` on the API application; the underlying Agent needs Tickets Access Level "Read and Modify" and Customers Access Level "Read Only" |
| ConnectWise (Manage) | Public key + Private key, tied to a Member | Manage: System > Members > \[member] > API Keys tab                                      | Companies (Company Maintenance – Inquire, All); Service Desk (Service Tickets – All); System (Manage Hosted API – All; My Account – All; Table Setup – Inquire, All)              |
| Autotask             | API User Key + Secret + Tracking ID        | Autotask: Admin > Resources (Users) — see Autotask's "Adding or editing an API user" doc | API user with ticket-create and company-read scopes                                                                                                                               |

## Syncro

1. In Syncro, go to **Admin > API Tokens**.
2. Select **New Token > Custom Permissions**.
3. Create a token with, at minimum:
   * **Customers** – List/Search
   * **Tickets** – Create
4. In Augmentt, go to **Configuration > Integrations** (MSP Organization level), click **Connect** on the Syncro tile, and enter the API token and your Syncro URL.
5. Once connected, map your PSA clients to Augmentt customers via **Select an account** on the Customer (Syncro) column.
6. Set up ticketing defaults on the Ticketing tab, including mapping Augmentt's alert severities to your Syncro priorities.

{% hint style="warning" %}
If Syncro tickets stop being created after previously working, first confirm the API token hasn't been regenerated or revoked in Syncro — a token rotation on the Syncro side silently breaks the Augmentt connection without an obvious error in Augmentt.
{% endhint %}

## HaloPSA

HaloPSA setup has two parts: creating an API-only Agent, then generating an API application against it.

**Step 1 — Create the API Agent**

1. In HaloPSA: **Configuration > Teams & Agents > Agents > New**.
2. Name the agent and check **Is an API-only Agent**.
3. Fill in the remaining required fields and **Save**.
4. On the **Permissions** tab, click **Edit** and set:

   * Feature Access > Tickets Access Level: **Read and Modify**
   * Feature Access > Customers Access Level: **Read Only**
   * Ticket Permissions > Can add new Tickets: **Yes**

   You can alternatively create a Role with these permissions and assign it to the API Agent instead of setting permissions directly on the agent.

**Step 2 — Generate the API application**

1. In HaloPSA: **Configuration > Integrations > HaloPSA API > View Applications > New**.
2. On the Details tab, set Authentication Method to **Client ID and Secret (Services)**.
3. Set **Login Type** to **Agent**, and choose the API Agent created above as the **Agent to log in as**.
4. On the Permissions tab, select the minimum API scopes: `read:tickets`, `edit:tickets`, `read:customers`.
5. Save, and store the Client Secret immediately — it is shown only once.

{% hint style="warning" %}
Even if a Client Secret already appears on the application, click **Generate** again before copying it. Regenerating stops the Client ID from "rolling" — a known HaloPSA behavior that otherwise invalidates the credentials Augmentt is using.
{% endhint %}

**Step 3 — Connect in Augmentt**

* **Company URL**: the Resource Server URL from Halo, with the `/api` portion removed.
* **Client ID** and **Client Secret**: from the API application created in Step 2.

Then map customers and configure ticketing as with the other PSAs.

{% hint style="info" %}
Halo's end-user selection behavior on tickets and how tickets route to a specific board/queue depend on your Halo team configuration. If tickets land on the wrong board or without an end user attached, check the ticket template and default team/queue settings in Halo's Ticketing tab configuration in Augmentt first — recent cases have traced routing issues to this.
{% endhint %}

## ConnectWise (Manage)

1. Gather your **Company ID** (the same one used to log into Manage) and **Company URL** (found in Manage: **System > My Company**).
2. In Manage, go to **System > Members**, and select or create a member dedicated to the Augmentt integration.
3. Confirm that member's Security Role grants:

   | Module       | Action              | Level            |
   | ------------ | ------------------- | ---------------- |
   | Companies    | Company Maintenance | Inquire – All    |
   | Service Desk | Service Tickets     | All Levels – All |
   | System       | Manage Hosted API   | All Levels – All |
   | System       | My Account          | All Levels – All |
   | System       | Table Setup         | Inquire – All    |
4. On that member's **API Keys** tab, click **New Item**, enter a description (e.g. "Augmentt Integration"), and **Save**. The Public Key and Private Key are generated — the private key is shown only at creation time.
5. In Augmentt, enter the Company ID, Company URL, Public Key, and Private Key, then click **Connect**.
6. Map customers and configure ticketing, including mapping Threat Alert severities to ConnectWise priorities.

{% hint style="warning" %}
If customer search in the PSA ticket mapping screen returns no results despite typing part of a company name, this has been reported with very large ConnectWise company lists (100k+ companies). If you hit this, contact Augmentt Support rather than assuming the mapping is broken.
{% endhint %}

ConnectWise usage/agreement sync (billing usage per client tied to a ConnectWise agreement) is a distinct capability from ticket creation — if you need usage synced to an agreement, confirm with Support whether that's supported for your plan rather than assuming it's part of the standard ticketing integration.

## Autotask

1. Create a dedicated Autotask API user (Autotask's own documentation, "Adding or editing an API user," covers this in Autotask itself).
2. Collect the **API User Key**, **API User Secret**, and **Tracking ID** it generates.
3. In Augmentt, click **Connect** on the Autotask tile and enter those three values.
4. Map customers and configure ticketing defaults, including mapping Microsoft ticket severities to Autotask priorities.

{% hint style="warning" %}
By default, notes Augmentt adds to Autotask tickets are created as public (customer-visible), not internal. If you need these kept internal, this is a configuration point worth confirming with Support at setup time rather than after tickets have already gone to customers.
{% endhint %}

{% hint style="warning" %}
Several cases describe Autotask companies not appearing in the customer-mapping list, or mapping calls failing with a generic "error occurred while saving/syncing" message. This is usually resolved by a manual re-sync of the Autotask integration; if it persists after a re-sync, it typically needs Support to check the API user's permissions or a stuck sync job on the backend.
{% endhint %}

Autotask API calls are subject to Autotask's own per-org API call thresholds ("threat limit" / rate limit emails from Autotask). If you have a very large number of tenants or high alert volume, ticket creation can be throttled — this shows up as Autotask-side rate-limit notifications rather than an Augmentt error.

## Troubleshooting quick reference

| Symptom                                                       | Likely cause                                                     | What to check                                                                                         |
| ------------------------------------------------------------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| No tickets created for any alerts                             | Ticketing not enabled per-alert-type, or PSA disconnected        | Threat Alerts ticketing toggle per customer; PSA tile still shows Connected                           |
| Tickets created for some customers but not others             | Customer not mapped, or mapping was removed                      | Mapping & Ticketing screen for that specific customer                                                 |
| "Error occurred while saving/syncing customer configurations" | Transient sync/API error, or credential rotated on the PSA side  | Re-try after a few minutes; re-check API credentials haven't been regenerated in the PSA              |
| Company doesn't appear in the mapping list                    | Company created too recently, or PSA-side account not yet synced | Trigger a manual re-sync of the PSA integration; wait — new PSA accounts can take some time to appear |
| Tickets land on the wrong board/priority                      | Ticketing defaults / severity mapping misconfigured              | Ticketing tab defaults for that PSA                                                                   |

{% hint style="warning" %}
Exact button labels, screen names, and default sync intervals may have shifted since this content was last verified against the live product — the codebase wasn't available to cross-check while writing this page. Verify current wording against the live Augmentt UI before publishing.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://helpdesk.augmentt.com/configuration/psa-integrations-by-tool.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
