Skip to main content

ConnectWise Integration

Connect Palisade to ConnectWise PSA to automatically import domains, create tickets, and synchronize billing through agreements.

Read PSA Integrations Overview first if you have not. It covers the two things that most often stop tickets reaching a PSA -- the group mapping every domain needs, and the four-hour delay before a new task is pushed.

Prerequisites

Palisade signs in as a ConnectWise API member and needs a security role that can read your companies, contacts and setup tables, and create service tickets.

ConnectWise security roles are set per module, and each row has separate Add, Edit, Delete and Inquire levels, each set to None, My, My Team or All. Set the following:

ModulePermission rowLevels
CompaniesCompany MaintenanceInquire: All
CompaniesContactsInquire: All
Service DeskService TicketsAdd: All, Edit: All, Inquire: All
Service DeskClose Service TicketsInquire: All
FinanceAgreementsInquire: All, and Add + Edit: All if you use billing sync
ProcurementProduct CatalogInquire: All
SystemTable SetupAdd: All, Inquire: All
warning

Service boards come from System > Table Setup, not from Service Desk. After setting Table Setup, click Customize on that row and allow at least Service / Service Board. Without it the Service Board list in Palisade is empty and you cannot finish setup, even though the connection test passes -- reading companies and reading board definitions are different permissions.

Contacts matter more than they look. Palisade derives each company's domains from its contacts' email addresses. Without Companies > Contacts Inquire access the company list imports fine and the domain import silently returns nothing. Palisade's Test Connection button checks for this specifically and warns you.

Step 1: Setting Up Credentials

Find Your API URL

Your ConnectWise API URL depends on your region:

RegionAPI URL
North Americahttps://api-na.myconnectwise.net
Europehttps://api-eu.myconnectwise.net
Australiahttps://api-aus.myconnectwise.net
Staginghttps://api-staging.connectwisedev.com

Enter the base URL only -- no path.

Get Your Company ID

Your Company ID is the identifier you use to log into ConnectWise PSA. You can find it on the login screen or in your ConnectWise account settings.

Create an API Member and Generate Keys

API keys belong to a dedicated API member, which lives on its own tab -- not on the ordinary Members list.

  1. In ConnectWise, go to System > Members and select the API Members tab.
  2. Click + to create a new API member.
  3. Set Member ID to something identifiable, such as Palisade.
  4. Set Level to Corporate (Level 1).
  5. Set Role ID to the security role you configured in the prerequisites.
  6. Under Service Defaults, clear Restricted Board Access so no boards are restricted.
  7. Save the member.
  8. On the saved member, open the API Keys tab and click +.
  9. Enter a description and save. ConnectWise generates a Public Key and a Private Key.
warning

Restricted Board Access is a common cause of an empty board list. If the API member is restricted to a subset of boards, Palisade cannot list boards or create tickets on the ones it cannot see.

tip

Copy your Private Key immediately after generation. It will not be displayed again.

Enter these four values in the Palisade Integrations page, under Credentials:

  • API URL -- based on your region, from the table above
  • Company ID -- your ConnectWise company identifier
  • Public Key and Private Key -- from the API member you just created

Click Test Connection to check them, then Save. Test Connection reports two separate things: whether the credentials authenticate at all, and whether the API member can read Contacts.

Step 2: Configure Task Integration

Once connected, configure how Palisade creates and manages tickets in ConnectWise. The settings below appear as collapsible sections on the integration's page, in roughly this order.

Select Service Board

Choose the ConnectWise Service Board where Palisade tickets will be created.

warning

Changing the board later discards your status, type and subtype mappings. Those values are board-specific, so Palisade clears them rather than carrying invalid IDs across. Re-map all three after changing the board. Priority mappings are board-independent and are kept.

Map Statuses

Map the six Palisade ticket statuses to statuses on your chosen board:

Palisade StatusDescription
OpenTicket requires action and is ready to be worked on
PendingTicket is waiting for a response or external action
DoneTicket has been resolved and completed
SnoozedTicket is temporarily deferred to a later date
CanceledTicket has been canceled and will not be actioned
DismissedTicket has been reviewed and intentionally dismissed

All six must be mapped. A task whose status has no mapping is not pushed, and the failure appears in the integration logs. Mapping several Palisade statuses to the same ConnectWise status is fine and common -- most teams point Done, Canceled and Dismissed at one closed status.

Map Priorities

Map the four Palisade priority levels to your ConnectWise priorities:

Palisade PriorityDescription
CriticalImmediate action required -- security risk or major failure
HighShould be addressed soon -- significant authentication issue
MediumShould be addressed -- moderate authentication concern
LowInformational -- minor improvement or optimization

As with statuses, all four must be mapped.

Choose Which Tasks Create Tickets

Select the kinds of task that open a ConnectWise ticket -- setting up a DMARC record, cleaning up an SPF record, confirming a sending source, and so on. Every kind is selected to begin with, so leaving this alone gives you a ticket for everything Palisade raises.

Clearing a kind stops new tickets for it. Tickets already open in ConnectWise stay open and keep receiving status updates, and turning the kind back on does not backfill the tasks raised while it was off. See Choosing Which Tickets Palisade Opens.

Select Type and Subtype

Choose the Type and Subtype that Palisade tickets should be categorized under. Both lists come from the selected board, which is why changing the board clears them.

Domain Import

The Domain Import section controls whether Palisade derives domains from the email addresses on each company's contact records.

  • On (the default) -- Palisade imports domains found in contact email addresses when you import companies.
  • Off -- Palisade imports no domains, and you decide which domains belong to each group yourself.

Turn it off if you maintain your domain list deliberately and do not want contact addresses adding to it.

Map PSA Companies

This is the section that decides which ConnectWise company a domain's tickets are raised against, and it is the most common place for a setup to be incomplete. Palisade maps groups to ConnectWise companies -- a group is Palisade's own grouping of domains, and it is what carries the company link.

There are two ways to get a mapped group:

Import companies from ConnectWise. Click Import Companies from ConnectWise, select the companies you want, and click Import Groups. Palisade creates one group per company, already mapped, and -- if Domain Import is on -- pulls in the domains it finds on each company's contacts. Only companies whose ConnectWise status is Active are offered.

Map groups you already have. Groups you created yourself start with no company mapped, and there is no way to set the mapping while creating a group. Pick the ConnectWise company for each group in the table here and click Save Changes.

warning

A group with no ConnectWise company mapped raises no tickets at all, and neither does a domain that is in no group. If you were using Palisade before you connected ConnectWise, every group you made yourself is unmapped until you map it here.

When you map a group that already has open tasks, Palisade asks whether to create tickets for the tasks raised while it was unmapped. Choose Sync Tickets to push them.

Step 3: Configure Billing Integration

Palisade can synchronize your monitored domain count to ConnectWise agreements.

Prepare the Agreement in ConnectWise First

warning

Palisade does not create the agreement addition. It updates a line that already exists. For each customer you want billed, add the catalog item you are going to use as an Agreement Addition on that customer's agreement in ConnectWise before enabling billing sync. If the addition is missing, every sync for that customer fails with "Agreement addition not found for this product".

Select Product / Catalog Item

Choose the Catalog Item in ConnectWise that represents the Palisade per-domain charge. This must be the same catalog item used on the agreement additions you created above -- Palisade finds the addition by matching on it.

Map Customers to Agreements

For each customer, select the ConnectWise Agreement that should receive the Palisade billing addition. Only active agreements are listed.

Billing Sync

The Billing Sync section has an Active toggle. While it is active, Palisade keeps the agreement addition's quantity equal to the current billable domain count for that group.

Palisade sets the quantity to the current count rather than adding and subtracting. If you or someone else edits the quantity by hand in ConnectWise, the next sync overwrites it with Palisade's count.

Example: a customer has 15 monitored domains, so the addition's quantity is 15. Add 3 domains and Palisade sets it to 18. Remove 2 and Palisade sets it to 16.

Turning Billing Sync off stops quantity updates. Tickets continue to sync as long as the integration itself is active.

Step 4: Managing the Integration

Integration Status

The Integration Status section has an Active toggle. While it is inactive:

  • No new tickets are created in ConnectWise
  • Existing tickets are not updated
  • Billing sync is halted

Domain import is not affected -- it runs when you ask for it, whether or not the integration is active.

Update Credentials

If your API keys change or expire, open the Credentials section on the integration's page, enter the new values and click Save. Leave the Private Key field empty to keep the stored one. Use Test Connection first if you want to check the new keys before saving them.

Update Mappings

You can update status, priority, type, subtype and company mappings at any time. Changes take effect on the next push. Remember that changing the board clears the status, type and subtype mappings.

View Logs

The Logs tab shows a history of what Palisade has done in ConnectWise -- ticket creation, status updates, domain and company syncs, and billing events -- with the error message for anything that failed. A task that raised no ticket because its group is unmapped or its domain has no group is listed as Skipped rather than as an error, and names the group and the domain.

Troubleshooting

No tickets are appearing

Work through these in order -- the first three cover most cases:

  1. Has it been four hours? New tasks are held for four hours before being pushed, and a task that resolves inside that window never becomes a ticket. See Tickets Wait Four Hours.
  2. Is every group mapped to a company? Open Map PSA companies and check. Groups you created yourself are not mapped automatically. The blue notice at the top of the integration page counts the tasks skipped for that reason, and View Logs names the group behind each one.
  3. Is every domain in a group? A domain in no group raises nothing.
  4. Is the integration Active? Check the Integration Status section.
  5. Are all six statuses and all four priorities mapped? A missing mapping blocks the push and is logged.
  6. Is the task type still selected? Check Choose which tasks create tickets.

I mapped the group but the tickets never appeared

Mapping a group does not push tasks that were already skipped unless you choose Sync Tickets when Palisade asks.

The offer is made once, at the moment the group gains its first company mapping. If you chose Skip, selecting the same company again will not bring the prompt back. To get the offer again, clear the group's company mapping, save, then map it again and save — the second save treats it as a first mapping and asks. Otherwise contact Palisade support and we can push the outstanding tasks for you.

Tasks raised before the group was mapped at all, and never covered by a Sync Tickets choice, need the same treatment.

Authentication issues

  • Invalid credentials -- verify the Company ID, Public Key and Private Key, and that the API URL matches your region.
  • 403 Forbidden -- the API member's security role is missing a permission. Review the prerequisites table, and check the Inquire levels are set to All rather than My.
  • Connection timeout -- confirm the regional API URL and that your instance is reachable.

The Service Board list is empty

The API member cannot read board definitions. Two causes, often together:

  • System > Table Setup is not granted, or its Customize list does not allow Service / Service Board.
  • The API member has Restricted Board Access set under Service Defaults.

Statuses, types or subtypes are missing or wrong

These are board-specific. If you recently changed the service board, Palisade cleared them and they need re-mapping. If a specific status is missing from the list, check it is not marked inactive in ConnectWise.

Domains are not importing

  • Domain Import may be turned off in the integration's settings.
  • The API member may not be able to read Contacts. Click Test Connection -- Palisade warns about this specifically. Grant Companies > Contacts Inquire: All.
  • A company with no contacts carrying email addresses yields no domains.

Billing issues

  • "Agreement addition not found for this product" -- the agreement has no addition using the selected catalog item. Add it in ConnectWise; Palisade will not create it.
  • Quantities not updating -- check Billing Sync is Active and the customer is mapped to an active agreement.
  • Quantity keeps reverting -- expected. Palisade sets the quantity to its own domain count on every sync, so manual edits are overwritten.
  • Catalog item not found -- the selected catalog item has been deactivated or deleted in ConnectWise.

Closing a ticket in ConnectWise did not resolve it in Palisade

Sync runs one way. See Sync Runs One Way.

Support

If you continue to experience issues after reviewing the troubleshooting steps, contact Palisade support with:

  • Your ConnectWise region and Company ID
  • The error message or unexpected behavior you are seeing
  • A copy of the relevant entries from the Logs tab