Cloud Contracts Help

How do I set up my HaloPSA Integration?

Written by Matt Hillier | Mar 18, 2026, 12:40:25 PM

This guide will walk you through setting up your HaloPSA integration and configuring your quotation templates.

 

HaloPSA Integration Setup Guide

Step 1: Enable the Integration

  1. In your CC365 portal, navigate to your Account Settings page
  2. Go to the Integrations section
  3. Follow the API connection instructions provided in the HaloPSA API Guide to obtain your API Endpoint address, Client ID and Client Secret. You will need to follow the process for integrating an application as follows in your halo account:
    1. Navigate to the integrations section via Configuration>Integrations>HaloPSA API.
    2. Copy the 'Authorisation server' address from HaloPSA into the 'API endpoint' address in your Cloud Contracts 365 portal.
    3. Click 'View Applications'.
    4. Click 'New' in the top right corner.
    5. Add an name for the integration such as 'CC365'.
    6. Select the authentication method as 'Client ID and Secret'.
    7. Copy and paste the Client ID and Client secret into you Cloud Contracts 365 portal.
    8. Set 'Login Type' as 'Agent' and select the correct agent (You can set up an agent just for APIs or select your agent account).
    9. Go to the permissions tab and set permissions to 'All'.
    10. Click 'Save' in Halo PSA.
    11. Click 'Save' in Cloud Contracts 365.
  1. Important: Set permissions to All when configuring the API connection

 

Step 2: Configure Your Quotation Template

Once your integration is active, you'll need to update your quotation template:

  1. Log into your HaloPSA portal
  2. Navigate to your quotation template settings. This can be found via:
    1. Configuration  
    2. PDF Templates
    3. Select Quotations from the drop down and select the quotation type you have set as your default option for your account.
  3. Locate the Terms and Conditions section. This is on the pages tab and click edit:
  4. Click on the edit button that appears on the Terms & Conditions item when you hover.

    Option A: If you already have Terms and Conditions set up in Halo

    Add the following HTML code to your existing Terms and Conditions page:

    <h1 style="font-size: 18px; font-family: Calibri, Arial, Helvetica, sans-serif; color: grey;  margin-bottom: 5px;">Acceptance of Terms</h1>

    <p><span style="font-size: 12px; font-family: Calibri, Arial, Helvetica, sans-serif; color: black;margin-bottom: 10px;">By signing this Proposal, the Client confirms acceptance of the described service above and agrees to be bound by the relevant agreement linked which form part of the contract between the Client and the Service Provider.</span></p>

    <p><span style="font-size: 12px; font-family: Calibri, Arial, Helvetica, sans-serif; color: black;margin-bottom: 10px;">$CFCloudContracts365ContractLink</span></p>
    Option B: If you don't have Terms and Conditions set up yet

    Use this complete template for your Terms and Conditions page:

    <html>

    <head>
    <style type="text/css" media="screen">
    .section-summary {
    font-size: 35px;
    font-family: 'poppins';
    color: $orcolour;
    margin-bottom: 10px;
    }
    .section-details {
    font-size: 14px;
    font-family: 'poppins';
    margin-bottom: 10px;
    transition: max-height 400ms ease-out, border 0ms 400ms linear;
    overflow: visible;
    }
    details > summary {
    list-style-type: '+';
    transition: max-height 400ms ease-out;
    cursor: pointer;
    }
    details[open] > summary {
    list-style-type: '-';
    transition: max-height 400ms ease-out;
    }
    </style>
    </head>
    <body>
    <details>
    <summary class="section-summary" style="font-size:18px;color: #000000;text-align: center;"> Terms & Conditions </summary>

    <h1 style="font-size: 18px; font-family: Calibri, Arial, Helvetica, sans-serif; color: grey; margin-bottom: 5px;">Acceptance of Terms</h1>

    <p><span style="font-size: 12px; font-family: Calibri, Arial, Helvetica, sans-serif; color: black;margin-bottom: 10px;">By signing this Proposal, the Client confirms acceptance of the described service above and agrees to be bound by the relevant agreement linked which form part of the contract between the Client and the Service Provider.</span></p>

    <p><span style="font-size: 12px; font-family: Calibri, Arial, Helvetica, sans-serif; color: black;margin-bottom: 10px;">$CFCloudContracts365ContractLink</span></p>

    </details>
    </body>

    </html>


Completion

Your HaloPSA integration is now configured and ready to use. The quotation template will automatically include the acceptance terms with the contract link variable that will be populated by the system.

If you encounter any issues during setup, please contact support for assistance.

Using the Integration

Once you have completed the steps above, you can now seamlessly create your Terms & Conditions from HaloPSA.

NB: Before you activate the integration for a client, please ensure their company address details have been completed in their record in HaloPSA and your organisation details have been updated in Cloud Contracts 365. This will ensure the company details are properly pulled through to the questionnaires.

From the Customer screen

  1. When you create a new customer, you will now see a new button, 'Cloud Contracts 365'. Clicking this button will open your Cloud Contracts 365 portal. Simply select your template and complete the questions. You will notice that the supplier and client details have already been prepopulated from the information in HaloPSA.
  2. When you get to the final question asking how you would like to prepare the document for signature, please select 'Online'.
  3. Generate the contract, and you will see that a URL has been created. You can use this anywhere you would like others to access the contract, such as your CRM or PSA, or, in this instance, it will have been automatically sent to HaloPSA.
  4. The URL will now be added to the client record in HaloPSA. You can view it on the 'Cloud Contracts 365' tab:
  5. This will also now be inserted into every quote sent for this customer.

If you encounter any difficulties or require any assistance, please raise it in the Cloud Contracts 365 Discord channel or use the chat function in the bottom right corner of your Cloud Contracts 365 portal to raise a support ticket.