Package Information
Released: 8/12/2025
Downloads: 1 weekly / 13 monthly
Latest Version: 0.1.0
Author: maxs05
Documentation
n8n-nodes-connectwise-cpq
Community node for ConnectWise CPQ (Sell) REST API, aligned with n8n v1+ node standard.
Requirements
- ConnectWise CPQ 2022.2 or later (API key–based authentication only)
- API keys (Public/Private) and your Access Key
Install (n8n UI)
- Open n8n → Settings (cogwheel)
- Community Nodes → Install
- Enter
n8n-nodes-connectwise-cpq - Accept the risk prompt → Install
Credentials
Create new credentials: "ConnectWise CPQ (Sell) API" and set:
- Access Key: the CPQ site key from the Sell URL when logged in, e.g.
https://connectwise.quosalsell.com/QuosalWeb/home?accesskey=<accesskey>(use the<accesskey>value). Do not use your email/domain or Manage company ID. - Public Key: generated in CPQ (Settings → Organisation Settings → API Keys)
- Private Key: generated in CPQ (shown once)
- Base URL:
https://sellapi.quosalsell.com(default; override only if instructed by ConnectWise)
Authentication header is Basic with username <accesskey>+<publicKey> and password <privateKey>.
Headers automatically set:
Content-Type: application/json; version=1.0Accept: application/jsonUser-Agent: n8n-connectwise-cpq
Optional settings:
- Enable Debug Logging: logs masked request details (method, URL, query, headers) and response status to the console.
Supported resources and operations (Phase 1)
- Quotes: get, getAll, delete, copy
- QuoteItems: get, getAll, create, update (PATCH), delete
- QuoteCustomers: getAll (by quote), update (PATCH), replace (PUT), delete
- QuoteTabs: getAll, getItemsByTab
- QuoteTerms: getAll (by quote), create, update (PATCH), delete
- RecurringRevenue: getAll
- TaxCodes: getAll
- Templates: getAll
- User: getAll, update (PATCH)
Parameters
- Filters:
conditions(raw) or the Condition Builder UI,includeFields(multi-select),showAllVersions(where supported) - Pagination:
returnAll,limit,pageSize(max 1000)
Pagination behaviour
- When
Return Allis enabled: the node uses the maximum supportedpageSize(1000) and paginates until the API returns fewer than requested results. - When
Return Allis disabled: the node auto-manages pagination to satisfylimit. It will set the effectivepageSizetomin(limit, 1000)and fetch across pages untillimititems are collected. You can still provide apageSizebut it will be bounded by the effective calculation.
Error handling
continueOnFail: errors are collected per item and execution continues- Retries: 429/5xx responses retried up to 3 times with exponential backoff
Examples
Example workflows are coming soon under .docs/examples/.
Condition Builder
You can now construct conditions via a visual builder:
- Add rows with: Field, optional Reference Subfield (to become
field/subfield), Operator (=,!=,<,<=,>,>=,contains,not contains,like,in,not in), Value Type (String, Integer, Boolean, Datetime, List), and the Value(s). - The builder auto-formats values according to the CPQ rules:
- Strings are quoted:
name = "Acme" - Booleans are
True/False:closedFlag = True - Datetimes are wrapped in brackets:
lastUpdated = [2024-01-01T00:00:00Z] - Lists produce parentheses:
status in ("Open","Closed")
- Strings are quoted:
- Multiple rows are joined with the selected Logic (AND/OR). If you also provide a raw
conditionsstring, it will be combined with the builder output using that Logic.
You may still enter a raw conditions string for advanced scenarios; the builder is optional and backward compatible.
Include Fields
The includeFields parameter is a resource-aware multi-select. Options are populated dynamically from /.docs/references/SellAPI.json for the selected resource. You can also specify field names using an expression.
Notes
- Only CPQ 2022.2+ is supported. Legacy username/password auth is not supported.
- This node consumes the official Swagger: see
references/SellAPI.json.