HaloPSA Integration
Ash Welsh avatar
Written by Ash Welsh
Updated this week

Integration Overview

In Quoter, when creating or updating a Quote Template:

  • Recurring and one-time Halo Products can be added to the Template.

In Quoter, when creating a Quote:

  • Any recurring and one-time Halo Products that were added to the Quote automatically (from the Quote Template) will pull up-to-date product info (price, description etc.) from Halo at the time of Quote creation.

  • Recurring and one-time Halo Products can be added directly to the Quote.

  • Person Search can be used to lookup a Halo User and associate them with the Person the Quote is being prepared for.

  • If the Quote is being prepared for a Halo User, opportunity lookup is triggered so that the Quote can be associated with an existing Halo Opportunity.

    Important note: We are currently not creating new Opportunities from published Quotes. To take advantage of this integration, associate your Quoter Quote with an existing Halo User and associated Halo Opportunity.

In Halo, when a Quoter Quote is published or updated:

  • If the Quote is associated with an existing Halo User and Opportunity, then a Halo Quote is created using the data from Quoter.

    • The Halo User the Quoter Quote was prepared for will be the User of the Halo Quote (presented in the top right-hand side of the Quote Screen).

    • Discounts applied to the Quoter Quote are reflected on the Halo Quote.

    • Taxes applied to the Quoter Quote are reflected on the Halo Quote.

    • Recurring and one-time Line Items from the Quoter Quote are created on the Halo Quote and match Halo Products based on:
      1) a matching Halo Product ID (stored when Halo Products are added to Quoter Quotes or Quote Templates),
      2) a matching Quoter MPN/Code to Halo Product SKU,
      3) an exact name match.

    • Unmatched Line Items from Quoter create new Products in Halo, however mapping and a default Halo Product Group can be used to avoid new Product Groups being created in Halo.

Field Mappings

Quoter's Person, Quote, and Line Item data is pushed to Halo when a Quoter Quote is published.


When creating a Quoter Quote you can use Person Search to prepare the Quote for a Halo User. When you do this, this is the mapping of the Halo User to the Quoter Person:

Integration Setup

Part 1: Halo

Important Note: the Halo documentation and integration settings for Quoter are no longer up-to-date. Follow this guide only to use the most recent version of the Quoter <> Halo integration.

1. In Halo, navigate to Configuration > Teams & Agents > Agents and create an Agent that you will use for the integration.

2. Note the Username and Password, you will use these later to connect Quoter to Halo.

3. Make sure the Agent has the Administrator Role.
Note: The Agent cannot be an API-only Agent.

4. Click Save.

5. Create an Application in Halo by navigating to Configuration > Integrations > HaloPSA API, and click View Applications

6. Click New

7. Name the Application "Quoter" and select Username and Password as the Authentication method.

8. Copy your Client ID, you'll need this later for Part 2.

Important note: The Client ID can change in Halo somewhat arbitrarily so make sure that you have the correct one copied and if you hit errors with authentication in Quoter double check that the Client ID has not changed in Halo.

9. Navigate to the Permissions tab and check "all". This is currently required in Halo.

10. Save your Application and switch over to Quoter.


Part 2: Quoter

Important Note:
A Quoter webhook is no longer needed for the Halo integration. Quoter is now fully using the Halo API for the integration. If you have a Quoter webhook configured for Halo, please delete the webhook before continuing.

Optimization Tip:
In Settings > General, set your default person search to Halo.


1. In Quoter, go to Settings > Integrations > New Integration:


2. Select Halo from the available PSA integrations:

3. Enter your Halo Domain:

4. Input the Username, Password, and Halo Client ID:

Make sure to input the full Username from Halo including spaces if applicable.

5. Set the Default Category mapping. This will set a default category for Halo products pulled into Quoter if an Asset Group isn't set for that product in Halo. You can also set a default Product Group in Halo if we cannot match a product when pushing it over:


6. Set your desired address mapping. Note that the Region/Country fields will already map to dedicated fields in Halo:


7. Set the Status Mappings for the Halo Quotes:

8. Next, set the Item Category Mappings. These will allow you to set specific Halo Product Groups based on the category of the item in Quoter.

9. Set the Recurring Frequency Mapping. This will push over Recurring Items to match the frequency in Halo (monthly, annually, etc.)


10. Finally, set the default currency mapping:


Click Save Integration :)

Happy Quoting!

Did this answer your question?