Settings

ConnectWise Integration

Introduction to ConnectWise Integration

Your LogicMonitor account comes pre-configured to integrate with your ConnectWise platform.  

Note: The following instruction is for ConnectWise's REST API. ConnectWise deprecated their SOAP API on 6/1/17. All new ConnectWise integrations must be created using the REST API.

 

There are two main components to this integration:

  • Opening, updating, and closing tickets - LogicMonitor sends HTTP POST and PATCH requests to open, update, and close ConnectWise tickets in response to alerts
  • Service Board depth monitoring - once applied, the LogicMonitor ConnectWise Service Board Depth DataSource will automatically discover all ConnectWise Service Boards and graph the number of open service requests in each

This support article provides information related to the first listed component of the integration: opening, updating and closing ConnectWise tickets based on LogicMonitor alerts. For information on LogicMonitor's ConnectWise Service Board Depth DataSource, see ConnectWise Service Board Depth DataSource.

Opening, Updating, and Closing Tickets in ConnectWise

You can use the LogicMonitor ConnectWise integration to create, update and close ConnectWise tickets in response to alerts triggered in your account. You'll need to:

  1. Ensure that API access is enabled in your ConnectWise account (discussed next)
  2. Enable the ConnectWise integration in your LogicMonitor account (discussed next)
  3. Add the ConnectWise integration as the contact method for a recipient in an escalation chain (for more information on this step, see Escalation Chains)
  4. Add the escalation chain to an alert rule (for more information on this step, see Alert Rules)

When a triggered alert matches the alert rule and is routed to the escalation chain with the ConnectWise integration, a ticket will be created in your ConnectWise account. The ticket can then be updated and/or closed when the alert is acknowledged, escalated, de-escalated and/or cleared. 

1. Ensure that API Access Is Enabled in Your ConnectWise Account

In order for LogicMonitor to access your ConnectWise account, you will need to use the ConnectWise Windows client to enable API access. You can download the ConnectWise Windows client from https://university.connectwise.com/install/. Once you have launched the client, follow these steps to enable API access:

  1. In the lefthand navigation panel of the ConnectWise Windows Client, navigate to System | Members | API Members.
  2. Select the New icon.
  3. You will need to fill out all required information. New members' Role ID must be set to "Admin."
  4. Save the new API Member
  5. Go to the API Keys tab.
  6. Create a new API key. Its name should allow you to easy identify the integration.
  7. Copy and save the generated Public and Private keys (Note: You will not be able to access these keys once you navigate away from this screen). You will need these to set up the LogicMonitor/Connectwise integration in the LogicMonitor platform.

2. Enable the ConnectWise Integration in your LogicMonitor Account

You can enable the integration from the Settings | Integrations area of your account. Select Add and then ConnectWise to open the Manage Connectwise Delivery Integration dialog, shown (and discussed) next.

Name

The name to be associated with the ConnectWise integration.

Description

The description to be associated with the ConnectWise integration.

Server

Your ConnectWise server URL (for example, "connect.logicmonitor.com"). Note that when integrating with a ConnectWise sandbox account you will need to use the production URL, rather than the sandbox URL. For example, "company.myconnectwise.net" and not "sandbox-company.myconnectwise.net". Use the name of your sandbox company in the Company field and the API keys for the sandbox in the key fields.

Company

Your ConnectWise company.

Public/Private Keys

The ConnectWise Public and Private API Keys used to authenticate into your ConnectWise API. These can be generated from your ConnectWise Account | My Account | API Keys | + (add Keys)

Authenticate

Once you have completed the ConnectWise Authentication section, click Authenticate. The Authenticate button will test for a valid connection. If successful, it will enable LogicMonitor to monitor Service Boards as well as create, update, and delete tickets. Once LogicMonitor has successfully authenticated using the information provided, you will be prompted to fill out the ConnectWise Ticket Defaults section.


Service Board

The Service Board in which tickets should be created.

Note that if you would like to create, update, and delete tickets across multiple ConnectWise Service Boards, you can do so by setting the following property on a device that has alerts which will trigger a new ConnectWise ticket or change an existing one:

  • connectwise.serviceboardid

When an alert is triggered and routed to the ConnectWise Integration, LogicMonitor will first check to see if this property exists for the device associated with the alert. If it does exist, its value will be used instead of the value set in the Integration form.

Service Team

Designate the Service Team responsible for handling the associated Service Board.

Company ID

In the Company ID field, enter the company ID for the company with which the created tickets should be associated. This ID corresponds to the ConnectWise Company_RecID value. It is always an integer.

The underlying Company_RecID values associated with companies are often hidden in the ConnectWise interface. There are a couple of methods you can use to expose the Company_RecID, including running a report that includes this value or making this value visible from the company list view. The following set of steps illustrates the latter method:

  1. In ConnectWise, navigate to Companies.
  2. In the top right corner of the company listing, click the down arrow to open the List View Configuration dialog.

  3. From this dialog, move the Company_RecID from the Hidden Columns box into the Visible Columns box.

  4. Click the Save button and, upon returning to the company listing, you'll now see the Company_RecID displayed for each company.

If you would like to create, update, and delete tickets across multiple ConnectWise companies using the ConnectWise REST API, you can do so by assigning the Company_RecID as a property on the various devices that may trigger new or updated ConnectWise tickets. The property should be named: 

  • connectwisev2.companyid

When an alert is triggered and routed to the ConnectWise Integration, LogicMonitor will first check to see if the connectwisev2.companyid property exists for the device associated with the alert. If it does exist, its value will be used instead of the value set in the integration form. For more information on setting device properties, see Device Properties.

Ticket Type

The type of tickets that should be created.

Note: If you'd like to create, update and delete tickets with multiple ConnectWise Ticket Types, you can do so by setting the following property on the device whose alerts should trigger a new or change to existing ConnectWise ticket:

  • connectwise.tickettypeid

When an alert is triggered and routed to the ConnectWise Integration, LogicMonitor will first check to see if this property exists for the device associated with the alert. If it does exist, its value will be used instead of the value set in the Integration form.

ConnectWise priorities

Select what priority ConnectWise tickets should be created with for each LogicMonitor alert severity level.

ConnectWise Status

Correlate ConnecWise Status with LogicMonitor alert stages.


Generate Delivery Options

Once you have selected the default Service Board, Company and Ticket type, select Generate Delivery Options to choose how LogicMonitor formats and sends the HTTP POST and PATCH requests to create, update and/or close tickets. Note that the HTTP Response format is defaulted to JSON and all alert stages payloads will be JSON, as well.


Will requests be sent to different URLs?

Will requests be sent to different URLs?


Select whether HTTP requests for alert acknowledgments, clears and escalations/de-escalations should be sent to the same URL that HTTP requests for new alerts should be sent to, or with different alert data in the request. If 'Use the same URL and data to notify on various alert activity' is selected, all HTTP requests will be sent to the same URL (you can choose what alert updates prompt an HTTP request) and the same alert data format will be used each time. If 'Use different URL or data format to notify on various alert activity' is selected, you can map out which alert status updates should trigger an HTTP request to which URLs and how the alert data should be formatted for each request. The configuration fields for each HTTP request are the same for both options.

By default, LogicMonitor will pre-populate four different requests, one for each of:

  • new alerts (Active)
  • acknowledged alerts (Acknowledged)
  • cleared alerts (Cleared)
  • escalated alerts (Escalated)

For each request you can select which alert statuses should trigger an HTTP request. Requests will be sent for new alerts (status: Active), and can additionally be sent for alert acknowledgements (status: Acknowledged), clears (status: Cleared) and escalations/de-escalations (status: Escalated). Note that each alert status can only be associated with one request. Since LogicMonitor auto-populates a different request for each alert status by default, you'll have to delete a request in order to see the option to include that alert status in a different request.

HTTP Method

The HTTP method for ConnectWise integrations is POST for new alerts (status: Active) and PATCH for alert acknowledgements (status: Acknowledged), clears (status: Cleared) and escalations/de-escalations (status: Escalated).

URL

The URL that the HTTP request should be made to. This field is auto-populated based on information you've provided.

Alert Data

The custom formatted alert data to be sent in the HTTP POST or PATCH request. This field will be auto-populated for you. If desired, you can customize the alert data field using tokens and custom ConnectWise fields.

Include an ID provided in HTTP response when updating alert status.

Check this option if you'd like LogicMonitor to find the ConnectWise ticket ID returned in the response to the HTTP request associated with a new alert, and use the ID in any subsequent requests for alert acknowledgements, clears, and escalations/de-escalations. By default, this option will be selected.

HTTP Response Format

If LogicMonitor is to use the ID provided in the response, select the format the response will be in.

Test Alert Delivery

This option sends a test alert and provides the response, enabling you to test whether you've configured the integration correctly.

Tokens Available

The following tokens are available:

  • LogicModule-specific alert message tokens, as listed in Tokens Available in LogicModule Alert Messages.
  • ##ADMIN##. The user the alert was escalated to.
  • ##MESSAGE##. The rendered text of the alert message. This token will also pass all relevant acked information (e.g. the user that acknowledged the alert, ack comments, etc.).
  • ##ALERTTYPE##. The type of alert (i.e. alert, eventAlert, batchJobAlert, hostClusterAlert, websiteAlert, agentDownAlert, agentFailoverAlert, agentFailBackAlert, alertThrottledAlert).
  • ##EXTERNALTICKETID##. The ConnectWise ticket ID

ConnectWise Field Reference

If you wish for LogicMonitor to include additional information when creating and updating ConnectWise tickets, you can do so via the alert data of your ConnectWise integration. You will need to know the field names so that LogicMonitor sets the right ConnectWise ticket fields. The following table includes a list of fields that can be used by the ConnectWise Integration, and the name that must be used to reference them.

You can view ConnectWise's full list of API calls for ticket creation here

.

Example use of ConnectWise Field references:

{
   "summary":"##ALERTTYPE## ##LEVEL## alert ##HOSTNAME##",
   "initialDescription":"##MESSAGE##",
   "externalXRef":"##ALERTID##",
   "type":{
      "id":##connectwise.tickettypeid##
   },
   "company":{
      "id":##connectwisev2.companyid##
   },
   "board":{
      "id":##connectwise.serviceboardid##
   },
   "team":{
      "id":##connectwise.serviceteamid##
   },
   "status":{
      "id":##connectwise.statusnewid##
   },
   "priority":{
      "id":##connectwise.priorityid##
   }
}
 

Field Name

Description

summary The summary of the service ticket. Max string character limit of 100.
company The name of the company associated with the ConnectWise companyID
status The cross-referenced Ticket Status ID of the service ticket. Note that Ticket Statuses can be unique for each service board. You can use this API call to return the ticket status IDs for the desired board. 
priority The priority assigned to the ticket (must match the description of an entry in the Priority setup table).
team Designates the Service Team responsible for handling the associated Service Board. Teams are set in your ConnectWise Service Board Setup Table.
type This denotes the type of service you are performing for this service ticket. Service types are designated via the Types Tab of the Service Board Setup Table.
item The service item assigned to the ticket. Items are selected from the Items Tab of the Service Board Setup Table and are meant to provide more information than what is provided by the service types. .
serviceLocation The location assigned to the ticket (must match the description of an entry in the Location setup table).
addressLine1 The first address line of the service ticket site
addressLine2 The second address line of the service ticket site
city The city
stateIdentifier The two character state ID
zip The zip code
contactName This tag should be used if it is desired that the default company contact is overridden. This will NOT create a contact in ConnectWise. This is only for Service Ticket display purposes. Max string character limit of 62.
contactEmailAddress If this tag is passed with no value, the email field will be blank on the Service Ticket If this tag is not passed at all, the ticket email address field will default to the company's default contact email address. If a value is passed, this will display in the email field of the Service Ticket and override the default email address of the Contact record. Max string character limit of 250.
contactPhoneNumber If this tag is passed, this value will display in the phone number field of the Service Ticket. If nothing is passed, the default contact's phone number will be included in the Service Ticket. Max string character limit of 20.
contactPhoneExtension If this tag is passed, the value will display in the phone extension field of the Service Ticket. If nothing is passed, the default contact's phone extension will be included in the Service Ticket. Max string character limit of 15.
initialDescription The ticket problem description. Only available for POST, will not be returned in the response
source Where the service ticket derived from. Defined in the Source Setup Table
opportunity The opportunity associated with this service ticket. Only one opportunity can be associated with each ticket.
requiredDate The required start date for the service ticket. The SLA timer will begin with this date.
budgetHours Number of hours budgeted for this service ticket.
initialResolution Description of the steps taken to resolve the service ticket.