ConnectWise Manage

Provides integration with ConnectWise Manage (ConnectWise PSA) using the REST API.

Revision History

0.0.0.1 - Initial release.
0.0.0.2 - Maintenance update.
0.0.0.3 - Fixed error message handling.
0.0.0.5 - Separated methods and templates.
0.0.0.11 - Improved security.
0.0.0.15 - Fixed serialization.
0.0.0.16 - Removed paging Properties from templates because paging is handled by the Node.
0.0.0.17 - Fixed blank responses and response objects being lost.
0.0.0.18 - Updated connection terms and enriched query templates with field and filter examples.
0.0.0.20 - Added typed query CustomParameters for @parameter replacement in Options.
0.0.0.25 - Updated the OpenAPI document to 2026.4 and added batching for supported bulk operations.

Connection

The Connection stores the ConnectWise PSA base URL and API key credentials used by all methods.

Property Type Description
Site Url String The ConnectWise PSA site URL, e.g. https://example.connectwise.com.
Company ID String The ConnectWise PSA company identifier used with the API member public key.
Public Key String The public key generated for the ConnectWise API member.
Private Key Masked The private key generated for the ConnectWise API member.

Setup Notes

This Node uses Basic Authentication with a ConnectWise API member and API key, as described in ConnectWise Manage Member Authentication.

1. Create an API Member

  1. In ConnectWise PSA, open System -> Members -> API Members.
  2. Click + to create an API member.
  3. Enter Flowgear in Member ID.
  4. Enter an email address for your company.
  5. Under System, select Admin or a custom security role with the permissions Flowgear needs.
  6. Complete the remaining required fields.
  7. Click Save.

2. Create an API Key

  1. Select the API member you created for Flowgear, then open the API Keys tab.
  2. Click + to create an API key.
  3. Enter Flowgear as the description, then click Save.
  4. Copy the private key when it is shown. ConnectWise only displays it once.

3. Create the Connection

  1. Enter your ConnectWise PSA URL in Site Url, e.g. https://mycompany.myconnectwise.net.
  2. Enter your company identifier in Company ID.
  3. Enter the API member public key in Public Key.
  4. Enter the API member private key in Private Key.

Methods

This Node exposes template-driven Query, Create, Update, and Delete operations for ConnectWise PSA resources.

Select a template for the method you want to use. The template supplies the correct OperationId and the expected Options and Items shape for the selected ConnectWise endpoint.

Query

Retrieves ConnectWise PSA resources using GET operations. Use Query for single-record lookups, lists, count endpoints, info endpoints, and other read-only operations exposed by the selected template.

Paging options such as page, pageSize, and pageId are handled internally by the Node and are not exposed in the template.

Parameter Type Description
Connection Connection The ConnectWise PSA Connection profile.
OperationId String The unique identifier for the selected operation to be performed.
Options Object Route values, query values, and operation controls required by the selected request.
CustomParameters Object Values substituted into Options entries that reference @parameters.
Return Type Description
Response Array Response rows returned by the selected operation.

Create

Creates ConnectWise PSA resources using POST operations. Some ConnectWise POST endpoints perform actions instead of creating a standard record. Use the selected template to confirm the required Options and Items shape.

Parameter Type Description
Connection Connection The ConnectWise PSA Connection profile.
OperationId String The unique identifier for the selected operation to be performed.
Options Object Route values, query values, and operation controls required by the selected request.
Items Array Optional request body rows sent to ConnectWise PSA.
Return Type Description
Response Array Response rows returned by the selected operation.

Update

Updates ConnectWise PSA resources using PUT or PATCH operations. PUT operations replace the entity with the supplied body. PATCH operations update specific fields on the entity.

For PATCH templates, each Items row represents one patch operation. Supported op values are add, replace, and remove. The path value is case-sensitive and should target a field path exposed by the selected template.

Parameter Type Description
Connection Connection The ConnectWise PSA Connection profile.
OperationId String The unique identifier for the selected operation to be performed.
Options Object Route values, query values, and operation controls required by the selected request.
Items Array Optional request body rows sent to ConnectWise PSA.
Return Type Description
Response Array Response rows returned by the selected operation.

Delete

Deletes ConnectWise PSA resources using DELETE operations. Most delete templates require the record ID or parent IDs in Options.

Some bulk delete templates accept Items rows with an id value. The Node groups supported bulk requests into ConnectWise batches.

Parameter Type Description
Connection Connection The ConnectWise PSA Connection profile.
OperationId String The unique identifier for the selected operation to be performed.
Options Object Route values, query values, and operation controls required by the selected request.
Items Array Optional request body rows sent to ConnectWise PSA.
Return Type Description
Response Array Response rows returned by the selected operation.

Usage Notes

  • Templates are filtered by method. A Query template can only be executed by Query, a POST template by Create, a PUT or PATCH template by Update, and a DELETE template by Delete.
  • Options contains route and query parameters for the selected operation. Common query options include conditions, childConditions, customFieldConditions, fields, and orderBy.
  • Use conditions to filter by fields returned by the selected GET operation. Use reference paths such as board/name when filtering fields on referenced objects.
  • Use childConditions when the endpoint supports filtering a child collection, e.g. communicationItems/value like "john@example.com".
  • Use customFieldConditions when the endpoint supports custom fields, e.g. caption="TomNumber" AND value != null.
  • Wrap string values in double quotes, leave numeric values unquoted, leave Boolean values unquoted, and wrap DateTime values in square brackets, e.g. [2016-08-20T18:04:26Z].
  • Use fields to limit the fields returned by the response, e.g. id,name,status/id. Use orderBy with a field and direction, e.g. name asc.
  • CustomParameters is available on Query. Add values keyed as StatusName or @StatusName, then reference them in Options as @StatusName.
  • For PATCH operations that update a referenced object, replace the whole reference object, e.g. patch company with an object value instead of using a path such as company/identifier.
  • When patching customFields, send the full customFields array expected by ConnectWise PSA.
  • Create, Update, and Delete responses include a Flowgear object with IsSuccess and, when available, Message fields.

Examples

Query With Search Conditions

  • Use conditions for the ConnectWise search expression and CustomParameters for values that change between Workflow runs.
  • Search conditions support comparison operators such as =, !=, <, <=, >, >=, contains, like, in, and not. Combine expressions with AND or OR.

In Options, set:

  • conditions: board/name = "Integration" AND status/name != "@StatusName" AND priority/id in (1, 2, @PriorityId) AND lastUpdated >= [@UpdatedSince]
  • fields: id,summary,status/name,board/name,lastUpdated
  • orderBy: lastUpdated desc

In CustomParameters, set:

  • StatusName: Closed
  • PriorityId: 3
  • UpdatedSince: 2026-01-01T00:00:00Z

Patch Specific Fields

Select a PATCH template under Update, then supply one or more Items rows with op, path, and value.

Available op actions are:

  • add: Adds a value to the selected field.
  • replace: Replaces the selected field value.
  • remove: Removes the selected field value.

In Items, add one row for each field update.

Row 1:

  • op: replace
  • path: summary
  • value: New Summary

Row 2:

  • op: replace
  • path: company
  • value: New Company

Known Issues

  • Binary responses are not currently supported.