· Dan · Guides · 3 min read
Add Holidays to ConnectWise PSA
Year-end procedure to bulk add holidays for the coming year using n8n and ChatGPT
The year end procedure in ConnectWise Manage can be a bitvery annoying. This makes it a little less annoying.
Step 1: Get Your Holidays from ChatGPT
First, find a list of statutory holidays for your region. You can Google something like “2026 statutory holidays [your province/state]” or use a government website.
Then, paste the list into ChatGPT with this prompt:
Take these holidays and return this JSON object shape:
{"holidays":[{"name":"...", "date":"YYYY-MM-DD"}]} ChatGPT will return something like:
{
"holidays": [
{ "name": "New Year's Day", "date": "2026-01-01" },
{ "name": "Family Day", "date": "2026-02-16" },
{ "name": "Good Friday", "date": "2026-04-03" },
...
]
} Copy this JSON output for use in step 3 below.
The Workflow
Step 2: Get Your Holiday List ID
Before running the main workflow, you need to find your Holiday List ID in ConnectWise.
- Click on the disconnected
Get Holiday List ID node at the top-left
- Execute just that node
- Look at the output to find your holiday list’s
idvalue
Depending on how you manage your holiday lists, you may only have one, or you need to find our most recent.
Step 3: Configure the Workflow
Set Holiday List ID
Open this node and change the holidayListId value to match the ID you found in Step 2.
Set Holidays
Open this node and replace the JSON with the holidays you got from ChatGPT. The format should be:
{
"holidays": [
{ "name": "New Year's Day", "date": "2026-01-01" },
{ "name": "Your Holiday", "date": "2026-MM-DD" }
]
}
Create Holiday
This node uses the ConnectWise REST API directly to create each holiday. You’ll need to set up your ConnectWise API credentials.
How It Works
-
Set Holiday List ID stores your holiday list ID for the other nodes to use.
-
The workflow splits into two parallel paths:
- Set Holidays +
Split Out takes your JSON and splits each holiday into a separate item
-
Get Holidays fetches existing holidays from ConnectWise
- Set Holidays +
-
Return Missing Dates compares the two lists and only outputs holidays that don’t already exist in ConnectWise (matching by date).
-
Create Holiday POSTs each new holiday to ConnectWise.
Step 4: Test Before Running
The Create Holiday node is disabled by default. This is intentional.
- Run the workflow with the node disabled to see which holidays will be created
- Verify the output looks correct
- Enable the Create Holiday node
- Run the workflow again to actually create the holidays
Notes
- The workflow automatically skips holidays that already exist (matching by date)
- If you need to update holiday names, you’ll need to delete them in ConnectWise first
- You can run this workflow multiple times safely - it won’t create duplicates