Skip to main content

Query ConnectWise Contacts

The Query ConnectWise Contacts action searches for contacts in ConnectWise Manage. This is a low-level API action that makes a single API call, returning contacts that match your query conditions.

Single API Call Action

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 a contact by email address
  • You want to look up contact details for a company
  • You need to verify a contact exists before associating with a ticket
  • You're building custom contact lookup logic

Configuration

Connection

FieldDescription
ConnectWise ConnectionSelect the ConnectWise connection to use.

Query Conditions

Use the query builder to create filter conditions. Available fields include:

Basic Info:

  • ID, First Name, Last Name, Nickname, Title, Gender

Company:

  • Company ID, Company Identifier, Company Name, Site ID, Site Name, Department

Communication:

  • Default Phone, Phone Extension, Default Phone Type

Address:

  • Address Line 1, Address Line 2, City, State, Zip Code, Country

Relationships:

  • Relationship, Manager Contact, Assistant Contact

Flags:

  • Inactive, Is Default Contact, Is Default Billing, Unsubscribed, Portal Login Disabled

Social Media:

  • Facebook URL, LinkedIn URL, Twitter URL

Communication & Type Filters

Filter by email, phone, or contact type. These conditions apply to the same communication item, allowing you to search for specific email addresses or phone numbers.

FieldDescription
Email/Phone/Fax ValueThe communication value to match
Communication TypeType of communication (Email, Phone, Fax)
Is Default CommunicationWhether this is the default communication method
Contact TypeThe contact's type classification

Pagination

FieldDescription
Page SizeNumber of results per page (1-1000). Default: 25.
PagePage number to retrieve. Default: 1.
Return all resultsWhen enabled, returns an array of all matching contacts. When disabled, returns only the first contact.

Error Handling

FieldDescription
Error HandlingAction 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 contact object.

When "Return all results" is enabled: Returns an array of contact objects.

Contact Object Properties

PropertyTypeDescription
idnumberContact ID
firstNamestringFirst name
lastNamestringLast name
companyobjectCompany info (id, identifier, name)
siteobjectSite info
titlestringJob title
departmentobjectDepartment info
addressLine1stringAddress line 1
addressLine2stringAddress line 2
citystringCity
statestringState/province
zipstringZip/postal code
countryobjectCountry info
relationshipobjectRelationship type
inactiveFlagbooleanWhether contact is inactive
defaultFlagbooleanWhether this is the default contact
communicationItemsarrayEmail, phone, and fax entries
typesarrayContact types
customFieldsarrayCustom field values

Communication Items Structure

Each item in communicationItems:

PropertyTypeDescription
typeobjectCommunication type (id, name)
valuestringEmail address, phone number, or fax number
defaultFlagbooleanWhether this is the default for its type

Example Use Cases

Find Contact by Email

Look up a contact by their email address:

SettingValue
Communication Filtervalue equals {{email.from.address}}
Return all resultsDisabled

Find All Contacts at Company

Get all contacts for a specific company:

SettingValue
Conditioncompany/id equals {{custom.company.id}}
Return all resultsEnabled

Find Active Contacts

Get non-inactive contacts:

SettingValue
ConditioninactiveFlag equals false
Return all resultsEnabled

Check if Contact Exists

Before creating a contact:

SettingValue
Communication Filtervalue equals {{email.from.address}}
Return all resultsDisabled

Then check if the result is empty.

Find Default Contact for Company

Get the primary contact:

SettingValue
Conditionscompany/id equals {{custom.company.id}} AND defaultFlag equals true
Return all resultsDisabled

FAQs

How do I search by email address?

Use the Communication & Type Filters section:

  1. Set "value" to the email address
  2. Optionally set "Communication Type" to "Email" to be more specific

Why use Communication Filters instead of Query Conditions?

Communication items (emails, phones) are stored in a nested array. The Communication Filters ensure you're matching the value and type on the same communication item, not across different items.

How do I get a contact's email address from the results?

Loop through communicationItems to find items where type.name equals "Email":

{{custom.contact.communicationItems[0].value}}

Or use conditional logic to find the default email.

Can I search by custom fields?

Yes. Custom fields appear in the query builder.