Query ConnectWise Tickets
The Query ConnectWise Tickets action searches for service tickets in ConnectWise Manage. This is a low-level API action that makes a single API call, returning tickets that match your query conditions.
This is a single API call action. You define the query conditions and the action makes one API call to retrieve the results. Learn more about the difference between workflow actions and single API call actions.
When to Use This Action
Use this action when:
- You need to find tickets matching specific criteria
- You want to check if a ticket exists before creating one
- You need ticket data for decision-making in your workflow
- You're building custom search or reporting logic
For updating existing tickets from emails, consider using the Update ConnectWise Ticket workflow action instead, which handles ticket lookup and note creation together.
Configuration
Connection
| Field | Description |
|---|---|
| ConnectWise Connection | Select the ConnectWise connection to use. |
Query Conditions
Use the query builder to create filter conditions. Common fields include:
Ticket Info:
- ID, Summary, Record Type, Closed Flag
Classification:
- Board ID/Name, Status ID/Name, Type ID/Name, Sub-Type, Item, Priority, Source
Company & Contact:
- Company ID/Identifier/Name, Contact ID/Name, Site ID/Name
Assignment:
- Team ID/Name, Owner ID/Name
Dates:
- Date Entered, Date Closed, Due Date, Required Date, Last Updated
Metrics:
- Budget Hours, Actual Hours, Severity, Impact
Child Conditions
Filter by fields in related entities (one-to-many relationships). Conditions apply to the same child record.
Pagination
| Field | Description |
|---|---|
| Page Size | Number of results per page (1-1000). Default: 25. |
| Page | Page number to retrieve. Default: 1. |
| Return all results | When enabled, returns an array of all matching tickets. When disabled, returns only the first ticket. |
Error Handling
| Field | Description |
|---|---|
| Error Handling | Action to take if the query fails (Exception, Continue, Stop, Stop All). |
Returned Variables
When you configure Store the results in Variable:
When "Return all results" is disabled: Returns a single ticket object.
When "Return all results" is enabled: Returns an array of ticket objects.
Ticket Object Properties
| Property | Type | Description |
|---|---|---|
id | number | Ticket ID |
summary | string | Ticket summary/title |
board | object | Service board (id, name) |
status | object | Current status (id, name) |
company | object | Associated company (id, identifier, name) |
contact | object | Associated contact (id, name) |
site | object | Site information |
priority | object | Priority level (id, name) |
type | object | Service type (id, name) |
subType | object | Service sub-type |
item | object | Service item |
source | object | Ticket source |
team | object | Assigned team |
owner | object | Ticket owner/assignee |
severity | string | Severity level |
impact | string | Impact level |
budgetHours | number | Budgeted hours |
actualHours | number | Actual hours logged |
dateEntered | string | Creation timestamp |
closedDate | string | Closure timestamp (if closed) |
closedFlag | boolean | Whether ticket is closed |
customFields | array | Custom field values |
Example Use Cases
Find Ticket by Number
Look up a specific ticket:
| Setting | Value |
|---|---|
| Condition | id equals {{custom.ticketNumber}} |
| Return all results | Disabled |
Find Open Tickets for Company
Get all active tickets:
| Setting | Value |
|---|---|
| Conditions | company/id equals {{custom.company.id}} AND closedFlag equals false |
| Return all results | Enabled |
| Sort | dateEntered (Descending) |
Find High Priority Tickets
Get escalated tickets:
| Setting | Value |
|---|---|
| Conditions | priority/name equals "Priority 1 - Critical" AND closedFlag equals false |
| Return all results | Enabled |
Check for Duplicate Tickets
Before creating a ticket, check if one exists:
| Setting | Value |
|---|---|
| Conditions | summary contains {{email.subject}} AND company/id equals {{custom.company.id}} AND closedFlag equals false |
| Return all results | Disabled |
FAQs
How do I access nested properties?
Use dot notation in your conditions: company/id, status/name, board/id.
What's the maximum number of results?
ConnectWise API returns up to 1000 results per page. Use pagination for larger datasets.
How do I filter by custom fields?
Custom fields are available in the query builder. Reference them by their field name.
Can I sort results?
Yes. Configure the sort field and direction in the query builder.
Related Actions
- Query ConnectWise Companies: Find companies
- Query ConnectWise Contacts: Find contacts
- Create ConnectWise Ticket: Create new tickets