Skip to main content
Skip table of contents

ConnectWise PSA

LAST UPDATED: 05/14/2024

Overview

ConnectWise PSA (formerly Manage) provides the structure and functionality you need to run your IT department. Organize your team around a single system, enabling everyone to connect and communicate through a single pane of glass.

D3 SOAR is providing REST operations to function with ConnectWise PSA.

ConnectWise PSA is available for use in:

D3 SOAR

V16.8+

Category

ITSM

Deployment Options

Option II, Option IV

Connection

To connect to ConnectWise PSA from D3 SOAR, please follow this part to collect the required information below:

Parameter

Description

Example

Server URL

The URL of a specified ConnectWise PSA instance at the Domain level, which is the same as your ConnectWise PSA web UI URL.

https://na.myconnectwise.net

Company ID

The company ID obtained from ConnectWise.

company_login_id

Public Key

The public key created from ConnectWise UI.

jlyl********pBAb

Private Key

The private key created from ConnectWise UI.

K9MO********fjTD

API Version

The API Version.

3.0

Permission Requirements

Each endpoint in the ConnectWise PSA API requires a certain permission scope. All the commands for this ConnectWise PSA integration will require admin role + level 1. Please refer to Configuring ConnectWise PSA to Work with D3 SOAR for the setup details.

Different combinations of roles and levels may still allow the commands to run successfully, however the returned data will be limited under these circumstances.

Configuring ConnectWise PSA to Work with D3 SOAR

  1. Login to ConnectWise PSA with your own credentials.

  2. Click System > Members.

  3. Add a New Member.

  4. Input fields. Make sure you select Admin for the Role ID field and Corporate (Level 1) for the Level field in order to get full data returned for all the commands. Then click Save to create the member.

  5. Find the member you just created. Navigate to tab API Keys, click + to create a new key.

  6. Enter a description, then click save.

  7. Save the Public Key and Private Key in the proper place. This is the only time you will be able to find your private key, please make sure you store it properly for future use.

Configuring D3 SOAR to Work with ConnectWise PSA

  1. Log in to D3 SOAR.

  2. Find the ConnectWise PSA integration.

    1. Navigate to Configuration on the top header menu.

    2. Click on the Integration icon on the left sidebar.

    3. Type ConnectWise PSA in the search box to find the integration, then click it to select it.

    4. Click + Connection, on the right side of the Connections section. A new connection window will appear.

  3. Configure the following fields to create a connection to ConnectWise PSA.

    1. Connection Name: The desired name for the connection.

    2. Site: Specifies the site to use the integration connection. Use the drop-down menu to select the site. The Share to Internal Sites option enables all sites defined as internal sites to use the connection. Selecting a specific site will only enable that site to use the connection.

    3. Recipient site for events from connections Shared to Internal Sites: This field appears if you selected Share to Internal Sites for Site to let you select the internal site to deploy the integration connection.

    4. Agent Name (Optional): Specifies the proxy agent required to build the connection. Use the dropdown menu to select the proxy agent from a list of previously configured proxy agents.

    5. Description (Optional): Add your desired description for the connection.

    6. Tenant (Optional): When configuring the connection from a master tenant site, you have the option to choose the specific tenant sites you want to share the connection with. Once you enable this setting, you can filter and select the desired tenant sites from the dropdowns to share the connection.

    7. Configure User Permissions: Defines which users have access to the connection.

    8. Active: Check the tick box to ensure the connection is available for use.

    9. System: This section contains the parameters defined specifically for the integration. These parameters must be configured to create the integration connection.


      1. Input the Server URL.
      2. Input your Company ID. The company ID will be given by ConnectWise PSA when you register the account.
      3. Input your Public Key. Please refer to step 7 of Configuring ConnectWise PSA to Work with D3 SOAR to get your public key.
      4. Copy the Private Key. Please refer to step 7 of Configuring ConnectWise PSA to Work with D3 SOAR to get your private key.
      5. Input the API Version. The default value is 3.0.

    10. Enable Password Vault: An optional feature that allows users to take the stored credentials from their own password vault. Please refer to the password vault connection guide if needed.

    11. Connection Health Check: Updates the connection status you have created. A connection health check is done by scheduling the Test Connection command of this integration. This can only be done when the connection is active.
      To set up a connection health check, check the Connection Health Check tickbox. You can customize the interval (minutes) for scheduling the health check. An email notification can be set up after a specified number of failed connection attempts.

  4. Test the connection.

    1. Click Test Connection to verify the account credentials and network connection. If the Test Connection Passed alert window appears, the test connection is successful. You will see Passed with a green checkmark appear beside the Test Connection button. If the test connection fails, please check your connection parameters and try again.

    2. Click OK to close the alert window.

    3. Click + Add to create and add the configured connection.

Commands

ConnectWise PSA includes the following executable commands for users to set up schedules or create playbook workflows. With the Test Command, you can execute these commands independently for playbook troubleshooting.

Integration API Note

For more information about the ConnectWise PSA API, please refer to the ConnectWise PSA API reference.

READER NOTE

Certain permissions are required for each command. Please refer to the Permission Requirements and Configuring ConnectWise PSA to Work with D3 SOAR for details.

Note for Time-related parameters

The input format of time-related parameters may vary based on your account settings. As a result, the sample data provided in our commands is different from what you see. To set your preferred time format, follow these steps:

  1. Navigate to Configuration > Application Settings. Select Date/Time Format.

  2. Choose your desired date and time format.

After that, you will be able to view your preferred time format when configuring the DateTime input parameters for commands.

Add Ticket Notes

Adds notes to the specified tickets.

READER NOTE

The parameter Ticket IDs is required to run this command.

  • Run the Fetch Event command to obtain Ticket IDs. Ticket IDs can be found in the raw data at the path $.Results[*].id.

Input

Input Parameter

Required/Optional

Description

Example

Ticket IDs

Required

The ticket ID(s) used to add notes. Ticket IDs can be obtained using the Fetch Event command.

[ 541 ]

Discussion Note

Optional

The option to flag the note as a discussion (detail description) note or not. If you want to add an initial description to the ticket, set this parameter to True. If not specified, the default value is True.

True

Internal Note

Optional

The option to flag the note as an internal analysis note or not. If not specified, the default value is False.

True

Resolution Note

Optional

The option to flag the note as a resolution note or not. If not specified, the default value is False.

True

Note Text

Required

The specified note text.

initiate desc 417f

Output

Return Data

Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.

The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Raw Data

The primary response data from the API request.

SAMPLE DATA

CODE
{
    "Results": [
        {
            "id": 507,
            "ticketId": 541,
            "text": "initiate desc 417f",
            "detailDescriptionFlag": true,
            "internalAnalysisFlag": true,
            "resolutionFlag": true,
            "issueFlag": false,
            "member": {
                "id": 206,
                "identifier": "d3****A",
                "name": "D3***** A",
                "_info": {
                    "member_href": "https://api-staging.connectwisedev.com/***********",
                    "image_href": "https://api-staging.connectwisedev.com/***********/image?lm=2024-04-17T16:39:56Z"
                }
            },
            "dateCreated": "2024-04-17T19:13:15Z",
            "createdBy": "d3****A",
            "internalFlag": true,
            "externalFlag": true,
            "sentimentScore": 0,
            "_info": {
                "lastUpdated": "2024-04-17T19:13:15Z",
                "updatedBy": "d3****A"
            }
        }
    ]
}
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
    "TicketIDs": ["541"],
     "NoteIDs": ["507"] 
}
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

Results

JSON
{'id': 507, 'ticketId': 541, 'text': 'initiate desc 417f', 'detailDescriptionFlag': True, 'internalAnalysisFlag': True, 'resolutionFlag': True, 'issueFlag': False, 'member': {'id': 206, 'identifier': 'd3****A', 'name': 'D3***** A', '_info': {'member_href': 'https://api-staging.connectwisedev.com/***********', 'image_href': 'https://api-staging.connectwisedev.com/***********/image?lm=2024-04-17T16:39:56Z'}}, 'dateCreated': '2024-04-17T19:13:15Z', 'createdBy': 'd3****A', 'internalFlag': True, 'externalFlag': True, 'sentimentScore': 0.0, '_info': {'lastUpdated': '2024-04-17T19:13:15Z', 'updatedBy': 'd3****A'}}

 Error Handling

If the Return Data is Partially Successful or Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Add Ticket Notes failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the ConnectWise PSA portal. Refer to the HTTP Status Code Registry for details.

Status Code: 400.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: The value for parameter (Ticket IDs) is invalid.

Error Sample Data

Add Ticket Notes failed.

Status Code: 400.

Message: The value for parameter (Ticket IDs) is invalid.

Create Ticket

Creates a service ticket. If you want to add an initial description onto the ticket, please use the Add Ticket Notes command.

READER NOTE

Company ID is a required parameter to run this command.

  • Run the List Companies command to obtain the Company ID. The Channel ID can be found in the raw data at the path $.Results[*].id.

Board Name, Status and Team are optional parameters to run this command.

  • Run the List Boards command to obtain the Board Name. Board Names can be found in the raw data at the path $.Results[*].name.

  • Run the List Board Statuses command to obtain the Status. Status can be found in the raw data at the path $.Results[*].name.

  • Run the List Board Teams command to obtain the Team. Teams can be found in the raw data at the path $.Results[*].name.

Input

Input Parameter

Required/Optional

Description

Example

Summary

Required

The summary for the service ticket.

test service ticket ***m

Company ID

Required

The ID of the specified company for which the ticket is created. Company ID can be obtained using the List Companies command.

26

Board Name

Optional

The name of the board in which the ticket is created. Board Name can be obtained using the List Boards command. If not specified, the default Board will be used.

Integration

Status

Optional

The status of the ticket to be created. Status can be obtained using the List Board Statuses command. If not specified, the default Board status will be used.

New

Priority

Optional

The priority of the ticket to be created. If not specified, the default Priority is Priority 3 - Normal Response.

Priority 2 - Quick Response

Urgency

Optional

The urgency of the ticket to be created. If not specified, the default Urgency is Medium.

High

Impact

Optional

The impact of the ticket to be created. If not specified, the default Impact is Medium.

High

Ticket Contact Name

Optional

The contact person’s name of the ticket to be created. If not specified, the default contact is Company Contact.

Mike *******

Ticket Contact Phone Number

Optional

The phone number of the contact person of the ticket to be created. If not specified, the default contact is Company Contact.

516-213****

Ticket Contact Email Address

Optional

The email address of the contact person of the ticket to be created. If not specified, the default contact is Company Contact.

mike.****@example.com

Team

Optional

The name of the board team of the ticket to be created. Team can be obtained using the List Board Teams command. If not specified, the default Team will be used.

Stand** Team

Additional Fields

Optional

The additional fields you want to add to the ticket.

{

"city": "LA",

"stateIdentifier": "CA",

"zip": "991**",

"source": {

"name": "email"

}

}

Output

Return Data

Indicates one of the possible command execution states: Successful or Failed.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Raw Data

The primary response data from the API request.

SAMPLE DATA

CODE
{
    "id": 543,
    "summary": "test service ticket ****",
    "recordType": "ServiceTicket",
    "board": {
        "id": 2,
        "name": "Integration",
        "_info": {
            "board_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
        }
    },
    "status": {
        "id": 69,
        "name": "New",
        "Sort": 0,
        "_info": {
            "status_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********/statuses/69"
        }
    },
    "company": {
        "id": 24,
        "identifier": "Wild*****Inc",
        "name": "Wild *****, Inc.",
        "_info": {
            "company_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********",
            "mobileGuid": "acc********1e2"
        }
    },
    "siteName": "Main",
    "addressLine1": "140 S. ******* Ave.",
    "addressLine2": "8th Floor",
    "city": "LA",
    "stateIdentifier": "CA",
    "zip": "991**",
    "contactName": "Mike *******",
    "contactPhoneNumber": "516-213****",
    "contactPhoneExtension": "235",
    "contactEmailAddress": "mike.****@example.com",
    "team": {
        "id": 28,
        "name": "Stand** Team",
        "_info": {
            "team_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********/teams/28"
        }
    },
    "priority": {
        "id": 1,
        "name": "Priority 2 - Quick Response",
        "sort": 4,
        "_info": {
            "priority_href": "https://api-staging.connectwisedev.com/*****/apis/3.0///**********",
            "image_href": "https://api-staging.connectwisedev.com/*****/apis/3.0///**********/********"
        }
    },
    "serviceLocation": {
        "id": 1,
        "name": "On-Site",
        "_info": {
            "location_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
        }
    },
    "source": {
        "id": 1,
        "name": "Em***",
        "_info": {
            "source_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
        }
    },
    "severity": "High",
    "impact": "High",
    "allowAllClientsPortalView": false,
    "customerUpdatedFlag": false,
    "automaticEmailContactFlag": false,
    "automaticEmailResourceFlag": false,
    "automaticEmailCcFlag": false,
    "closedFlag": false,
    "approved": true,
    "estimatedExpenseCost": 0,
    "estimatedExpenseRevenue": 0,
    "estimatedProductCost": 0,
    "estimatedProductRevenue": 0,
    "estimatedTimeCost": 0,
    "estimatedTimeRevenue": 0,
    "billingMethod": "ActualRates",
    "subBillingMethod": "ActualRates",
    "resolveMinutes": 0,
    "resPlanMinutes": 0,
    "respondMinutes": 0,
    "isInSla": true,
    "hasChildTicket": false,
    "hasMergedChildTicketFlag": false,
    "billTime": "NoDefault",
    "billExpenses": "NoDefault",
    "billProducts": "Billable",
    "location": {
        "id": 2,
        "name": "Tampa ******",
        "_info": {
            "location_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
        }
    },
    "department": {
        "id": 14,
        "identifier": "Integration",
        "name": "Integ*****",
        "_info": {
            "department_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
        }
    },
    "mobileGuid": "c6f********70d",
    "sla": {
        "id": 1,
        "name": "Standard ***",
        "_info": {
            "sla_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//*****"
        }
    },
    "slaStatus": "Respond by Thu 04/18 7:32 AM UTC-07",
    "currency": {
        "id": 7,
        "symbol": "$",
        "currencyCode": "USD",
        "decimalSeparator": ".",
        "numberOfDecimals": 2,
        "thousandsSeparator": ",",
        "negativeParenthesesFlag": false,
        "displaySymbolFlag": false,
        "currencyIdentifier": "Z-US$",
        "displayIdFlag": false,
        "rightAlign": false,
        "name": "US Dollars",
        "_info": {
            "currency_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
        }
    },
    "_info": {
        "lastUpdated": "2024-04-17T19:32:00Z",
        "updatedBy": "d3****A",
        "dateEntered": "2024-04-17T19:32:00Z",
        "enteredBy": "d3****A",
        "activities_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********",
        "scheduleentries_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//************",
        "documents_href": "https://api-staging.connectwisedev.com/*****/apis/3.0///************",
        "configurations_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//************",
        "tasks_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//************",
        "notes_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//************",
        "products_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//*****************",
        "timeentries_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//*****************",
        "expenseEntries_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//*****************"
    },
    "escalationStartDateUTC": "2024-04-17T19:32:00Z",
    "escalationLevel": 0,
    "minutesBeforeWaiting": 0,
    "respondedSkippedMinutes": 0,
    "resplanSkippedMinutes": 0,
    "respondedHours": 4,
    "resplanHours": 24,
    "resolutionHours": 48,
    "minutesWaiting": 0
}
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
    "TicketID": ["543"]
}
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

id

543

summary

test service ticket ****

recordType

ServiceTicket

board

{'id': 2, 'name': 'Integration', '_info': {'board_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}

status

{'id': 69, 'name': 'New', 'Sort': 0, '_info': {'status_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********/statuses/69'}}

company

{'id': 24, 'identifier': 'Wild*****Inc', 'name': 'Wild *****, Inc.', '_info': {'company_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********', 'mobileGuid': 'acc********1e2'}}

siteName

Main

addressLine1

140 S. ******* Ave.

addressLine2

8th Floor

city

LA

stateIdentifier

CA

zip

991**

contactName

Mike *******

contactPhoneNumber

516-213****

contactPhoneExtension

235

contactEmailAddress

mike.****@example.com

team

{'id': 28, 'name': 'Stand** Team', '_info': {'team_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********/teams/28'}}

priority

{'id': 1, 'name': 'Priority 2 - Quick Response', 'sort': 4, '_info': {'priority_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0///**********', 'image_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0///**********/********'}}

serviceLocation

{'id': 1, 'name': 'On-Site', '_info': {'location_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}

source

{'id': 1, 'name': 'Email', '_info': {'source_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}

severity

High

impact

High

allowAllClientsPortalView

False

customerUpdatedFlag

False

automaticEmailContactFlag

False

automaticEmailResourceFlag

False

automaticEmailCcFlag

False

closedFlag

False

approved

True

estimatedExpenseCost

0.0

estimatedExpenseRevenue

0.0

estimatedProductCost

0.0

estimatedProductRevenue

0.0

estimatedTimeCost

0.0

estimatedTimeRevenue

0.0

billingMethod

ActualRates

subBillingMethod

ActualRates

resolveMinutes

0

resPlanMinutes

0

respondMinutes

0

isInSla

True

hasChildTicket

False

hasMergedChildTicketFlag

False

billTime

NoDefault

billExpenses

NoDefault

billProducts

Billable

location

{'id': 2, 'name': 'Tampa ******', '_info': {'location_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}

department

{'id': 14, 'identifier': 'Integration', 'name': 'Integration', '_info': {'department_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}

mobileGuid

c6f********70d

sla

{'id': 1, 'name': 'Standard ***', '_info': {'sla_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//*****'}}

slaStatus

Respond by Thu 04/18 7:32 AM UTC-07

currency

{'id': 7, 'symbol': '$', 'currencyCode': 'USD', 'decimalSeparator': '.', 'numberOfDecimals': 2, 'thousandsSeparator': ',', 'negativeParenthesesFlag': False, 'displaySymbolFlag': False, 'currencyIdentifier': 'Z-US$', 'displayIdFlag': False, 'rightAlign': False, 'name': 'US Dollars', '_info': {'currency_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}

_info

{'lastUpdated': '2024-04-17T19:32:00Z', 'updatedBy': 'd3****A', 'dateEntered': '2024-04-17T19:32:00Z', 'enteredBy': 'd3****A', 'activities_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********', 'scheduleentries_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//************', 'documents_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0///************', 'configurations_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//************', 'tasks_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//************', 'notes_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//************', 'products_href': "https://api-staging.connectwisedev.com/*****/apis/3.0//*****************", 'timeentries_href': "https://api-staging.connectwisedev.com/*****/apis/3.0//*****************", 'expenseEntries_href': "https://api-staging.connectwisedev.com/*****/apis/3.0//*****************"}

escalationStartDateUTC

2024-04-17T19:32:00Z

escalationLevel

0

minutesBeforeWaiting

0

respondedSkippedMinutes

0

resplanSkippedMinutes

0

respondedHours

4.0

resplanHours

24.0

resolutionHours

48.0

minutesWaiting

0

 Error Handling

If the Return Data is Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Create Ticket failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the ConnectWise PSA portal. Refer to the HTTP Status Code Registry for details.

Status Code: 400.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: The value for parameter (Company ID) is invalid.

Error Sample Data

Create Ticket failed.

Status Code: 400.

Message: The value for parameter (Company ID) is invalid.

Delete Tickets

Deletes the specified service ticket(s) by ticket ID(s).

READER NOTE

The parameter Ticket IDs is required to run this command.

  • Run the Fetch Event command to obtain Ticket IDs. Ticket IDs can be found in the raw data at the path $.Results[*].id.

Input

Input Parameter

Required/Optional

Description

Example

Ticket IDs

Required

The ticket ID(s) to delete. Ticket IDs can be obtained using the Fetch Event command.

[ 514 ]

Output

Return Data

Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.

The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Raw Data

The primary response data from the API request.

SAMPLE DATA

CODE
{
    "Results": [
        {
            "TicketID": 514,
            "Message": "The ticket is deleted successfully"
        }
    ]
}
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

Results

{'TicketID': 514, 'Message': 'The ticket is deleted successfully'}

 Error Handling

If the Return Data is Partially Successful or Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Delete Tickets failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the ConnectWise PSA portal. Refer to the HTTP Status Code Registry for details.

Status Code: 400.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: The value for parameter (Ticket IDs) is invalid.

Error Sample Data

Delete Tickets failed.

Status Code: 400.

Message: The value for parameter (Ticket IDs) is invalid.

Fetch Event

Returns service ticket(s) as Event(s) from the ConnectWise PSA based on specified criteria. The service tickets are sorted by updated time in descending order.

Input

Input Parameter

Required/Optional

Description

Example

Start Time

Optional

The start time of the time range to fetch service tickets by the updated time, in UTC time. If not specified, the default start time is from the beginning of the 1900s.

2024-04-15 00:00

End Time

Optional

The end time of the time range to fetch service tickets by the updated time, in UTC time. If not specified, the default end time is the current time.

2024-04-16 00:00

Number of Event(s) Fetched

Optional

The maximum number of the most recent service tickets to fetch. If not specified, all service tickets matching search criteria will be returned. Note: If the input limit value is too large, it may affect system performance when returning a large volume of results. The available number is an integer between 1 and 1000. If not specified, all service tickets matching the search conditions will be returned.

3

Status

Optional

The service tickets that are filtered by status. If not specified, service tickets in any status will be returned. Status can be obtained using the List Board Statuses command.

New (not *****)

Priority

Optional

The service tickets that are filtered by priority. If not specified, service tickets with any priority will be returned.

Priority 1 - Emergency Response

Impact

Optional

The service tickets that are filtered by impact. If not specified, service tickets with any impact will be returned.

High

Urgency

Optional

The service tickets that are filtered by urgency. If not specified, service tickets with any urgency will be returned.

High

Search Condition

Optional

The additional search conditions to filter the returned results. For information about the query syntax, see https://developer.connectwise.com/Best_Practices/PSA_API_Requests?mt-learningpath=manage#Conditions.

company/name contains "Indigo*********" AND board/name like "Professional ********"

Output

Return Data

Indicates one of the possible command execution states: Successful, Successful but no events ingested, or Failed.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Raw Data

The primary response data from the API request.

SAMPLE DATA

CODE
{
    "Results": [
        {
            "id": 515,
            "summary": "Check ****** Backup",
            "recordType": "ServiceTicket",
            "board": {
                "id": 1,
                "name": "Professional ********",
                "_info": {
                    "board_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
                }
            },
            "status": {
                "id": 16,
                "name": "New (not *****)",
                "Sort": 0,
                "_info": {
                    "status_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********/statuses/16"
                }
            },
            "company": {
                "id": 16,
                "identifier": "Indigo*********Co",
                "name": "Indigo*********, Co.",
                "_info": {
                    "company_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********",
                    "mobileGuid": "102********c30"
                }
            },
            "site": {
                "id": 20,
                "name": "Main",
                "_info": {
                    "site_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********/*****",
                    "mobileGuid": "caf********242"
                }
            },
            "siteName": "Main",
            "addressLine1": "2106 ********* TER",
            "city": "Harrells",
            "stateIdentifier": "FL",
            "zip": "34***",
            "contact": {
                "id": 48,
                "name": "Ramon ********",
                "_info": {
                    "mobileGuid": "57a********c31",
                    "contact_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
                }
            },
            "contactName": "Ramon ********",
            "contactPhoneNumber": "813393****",
            "contactEmailAddress": "ramon.********@Indigo*********.com",
            "type": {
                "id": 14,
                "name": "Proactive",
                "_info": {
                    "type_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********/*****"
                }
            },
            "team": {
                "id": 25,
                "name": "Service Team",
                "_info": {
                    "team_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********/*****"
                }
            },
            "priority": {
                "id": 1,
                "name": "Priority 2 - Quick Response",
                "sort": 4,
                "_info": {
                    "priority_href": "https://api-staging.connectwisedev.com/*****/apis/3.0///**********",
                    "image_href": "https://api-staging.connectwisedev.com/*****/apis/3.0///**********/********"
                }
            },
            "serviceLocation": {
                "id": 2,
                "name": "In-h*****",
                "_info": {
                    "location_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//*****/2"
                }
            },
            "source": {
                "id": 2,
                "name": "Phone",
                "_info": {
                    "source_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//*****/2"
                }
            },
            "severity": "Medium",
            "impact": "High",
            "allowAllClientsPortalView": false,
            "customerUpdatedFlag": false,
            "automaticEmailContactFlag": false,
            "automaticEmailResourceFlag": false,
            "automaticEmailCcFlag": false,
            "closedFlag": false,
            "approved": true,
            "estimatedExpenseCost": 0,
            "estimatedExpenseRevenue": 0,
            "estimatedProductCost": 0,
            "estimatedProductRevenue": 0,
            "estimatedTimeCost": 0,
            "estimatedTimeRevenue": 0,
            "billingMethod": "ActualRates",
            "subBillingMethod": "ActualRates",
            "resolveMinutes": 0,
            "resPlanMinutes": 0,
            "respondMinutes": 0,
            "isInSla": false,
            "hasChildTicket": false,
            "hasMergedChildTicketFlag": false,
            "billTime": "NoDefault",
            "billExpenses": "NoDefault",
            "billProducts": "Billable",
            "location": {
                "id": 2,
                "name": "Tampa ******",
                "_info": {
                    "location_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
                }
            },
            "department": {
                "id": 10,
                "identifier": "Services",
                "name": "Professional ********",
                "_info": {
                    "department_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//******/10"
                }
            },
            "mobileGuid": "7da********3ae",
            "sla": {
                "id": 1,
                "name": "Standard ***",
                "_info": {
                    "sla_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//*****"
                }
            },
            "slaStatus": "Respond by Mon 04/01 10:00 AM UTC-07",
            "requestForChangeFlag": false,
            "currency": {
                "id": 7,
                "symbol": "$",
                "currencyCode": "USD",
                "decimalSeparator": ".",
                "numberOfDecimals": 2,
                "thousandsSeparator": ",",
                "negativeParenthesesFlag": false,
                "displaySymbolFlag": false,
                "currencyIdentifier": "Z-US$",
                "displayIdFlag": false,
                "rightAlign": false,
                "name": "US Dollars",
                "_info": {
                    "currency_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
                }
            },
            "_info": {
                "lastUpdated": "2024-04-16T01:24:30Z",
                "updatedBy": "adm***",
                "dateEntered": "2024-03-30T04:10:24Z",
                "enteredBy": "te****e3",
                "activities_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********=ticket/id=515",
                "scheduleentries_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********=type/id=4 AND objectId=515",
                "documents_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//system/documents?recordType=Ticket&********",
                "configurations_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********/515/configurations",
                "tasks_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********/515/tasks",
                "notes_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********/515/notes",
                "products_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//*************=chargeToType='Ticket' AND **************",
                "timeentries_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//*************=(chargeToType='ServiceTicket' OR chargeToType='ProjectTicket') AND **************",
                "expenseEntries_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//*************=(chargeToType='ServiceTicket' OR chargeToType='ProjectTicket') AND **************"
            },
            "escalationStartDateUTC": "2024-04-01T13:00:00Z",
            "escalationLevel": 0,
            "minutesBeforeWaiting": 0,
            "respondedSkippedMinutes": 0,
            "resplanSkippedMinutes": 0,
            "respondedHours": 4,
            "resplanHours": 24,
            "resolutionHours": 48,
            "minutesWaiting": 0
        }
    ]
}
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
   "TicketIDs": ["515"],
   "Priorities": ["Priority 2 - Quick Response"],
   "Statuses": ["New (not *****)"],
   "CompanyNames": ["Indigo*********, Co."],
   "SummaryDescriptions": ["Check ****** Backup"] 
}
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

Results

JSON
{'id': 515, 'summary': 'Check ****** Backup', 'recordType': 'ServiceTicket', 'board': {'id': 1, 'name': 'Professional ********', '_info': {'board_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}, 'status': {'id': 16, 'name': 'New (not *****)', 'Sort': 0, '_info': {'status_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********/statuses/16'}}, 'company': {'id': 16, 'identifier': 'Indigo*********Co', 'name': 'Indigo*********, Co.', '_info': {'company_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********', 'mobileGuid': '102********c30'}}, 'site': {'id': 20, 'name': 'Main', '_info': {'site_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********/*****', 'mobileGuid': 'caf********242'}}, 'siteName': 'Main', 'addressLine1': '2106 ********* TER', 'city': 'Harrells', 'stateIdentifier': 'FL', 'zip': '34***', 'contact': {'id': 48, 'name': 'Ramon ********', '_info': {'mobileGuid': '57a********c31', 'contact_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}, 'contactName': 'Ramon ********', 'contactPhoneNumber': '813393****', 'contactEmailAddress': 'ramon.********@Indigo*********.com', 'type': {'id': 14, 'name': 'Proactive', '_info': {'type_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********/*****'}}, 'team': {'id': 25, 'name': 'Service Team', '_info': {'team_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********/*****'}}, 'priority': {'id': 1, 'name': 'Priority 2 - Quick Response', 'sort': 4, '_info': {'priority_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0///**********', 'image_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0///**********/********'}}, 'serviceLocation': {'id': 2, 'name': 'In-h*****', '_info': {'location_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//*****/2'}}, 'source': {'id': 2, 'name': 'Phone', '_info': {'source_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//*****/2'}}, 'severity': 'Medium', 'impact': 'High', 'allowAllClientsPortalView': False, 'customerUpdatedFlag': False, 'automaticEmailContactFlag': False, 'automaticEmailResourceFlag': False, 'automaticEmailCcFlag': False, 'closedFlag': False, 'approved': True, 'estimatedExpenseCost': 0.0, 'estimatedExpenseRevenue': 0.0, 'estimatedProductCost': 0.0, 'estimatedProductRevenue': 0.0, 'estimatedTimeCost': 0.0, 'estimatedTimeRevenue': 0.0, 'billingMethod': 'ActualRates', 'subBillingMethod': 'ActualRates', 'resolveMinutes': 0, 'resPlanMinutes': 0, 'respondMinutes': 0, 'isInSla': False, 'hasChildTicket': False, 'hasMergedChildTicketFlag': False, 'billTime': 'NoDefault', 'billExpenses': 'NoDefault', 'billProducts': 'Billable', 'location': {'id': 2, 'name': 'Tampa ******', '_info': {'location_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}, 'department': {'id': 10, 'identifier': 'Services', 'name': 'Professional ********', '_info': {'department_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//******/10'}}, 'mobileGuid': '7da********3ae', 'sla': {'id': 1, 'name': 'Standard ***', '_info': {'sla_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//*****'}}, 'slaStatus': 'Respond by Mon 04/01 10:00 AM UTC-07', 'requestForChangeFlag': False, 'currency': {'id': 7, 'symbol': '$', 'currencyCode': 'USD', 'decimalSeparator': '.', 'numberOfDecimals': 2, 'thousandsSeparator': ',', 'negativeParenthesesFlag': False, 'displaySymbolFlag': False, 'currencyIdentifier': 'Z-US$', 'displayIdFlag': False, 'rightAlign': False, 'name': 'US Dollars', '_info': {'currency_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}, '_info': {'lastUpdated': '2024-04-16T01:24:30Z', 'updatedBy': 'adm***', 'dateEntered': '2024-03-30T04:10:24Z', 'enteredBy': 'te****e3', 'activities_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********=ticket/id=515', 'scheduleentries_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********=type/id=4 AND objectId=515', 'documents_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//system/documents?recordType=Ticket&********', 'configurations_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********/515/configurations', 'tasks_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********/515/tasks', 'notes_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********/515/notes', 'products_href': "https://api-staging.connectwisedev.com/*****/apis/3.0//*************=chargeToType='Ticket' AND **************", 'timeentries_href': "https://api-staging.connectwisedev.com/*****/apis/3.0//*************=(chargeToType='ServiceTicket' OR chargeToType='ProjectTicket') AND **************", 'expenseEntries_href': "https://api-staging.connectwisedev.com/*****/apis/3.0//*************=(chargeToType='ServiceTicket' OR chargeToType='ProjectTicket') AND **************"}, 'escalationStartDateUTC': '2024-04-01T13:00:00Z', 'escalationLevel': 0, 'minutesBeforeWaiting': 0, 'respondedSkippedMinutes': 0, 'resplanSkippedMinutes': 0, 'respondedHours': 4.0, 'resplanHours': 24.0, 'resolutionHours': 48.0, 'minutesWaiting': 0}

 Fetch Event Field Mapping

Please note that Fetch Event commands require event field mapping. Field mapping plays a key role in the data normalization process part of the event pipeline. Field mapping converts the original data fields from the different providers to the D3 fields which are standardized by the D3 Model. Please refer to Event and Incident Intake Field Mapping for details.

To customize field mapping, click + Add Field and add the custom field of your choice. You can also remove built-in field mappings by clicking x. Please note that two underscore characters will automatically prefix the defined Field Name as the System Name for a custom field mapping. Additionally, if an input Field Name contains any spaces, they will automatically be replaced with underscores for the corresponding System Name.

As a system integration, the ConnectWise PSA integration has some pre-configured field mappings for default field mapping.

  • Default Event Source
    The Default Event Source is the default set of field mappings that are applied when this fetch event command is executed. For out-of-the-box integrations, you will find a set of field mapping provided by the system. Default event source provides field mappings for common fields from fetched service ticket(s). The default event source has a “Main Event JSON Path” (i.e., $.Results) that is used to extract a batch of events from the response raw data. Click Edit Event Source to view the “Main Event JSON Path”.

    • Main Event JSON Path: $._embedded.eventResources
      The Main Event JSON Path determines the root path where the system starts parsing raw response data into D3 event data. The JSON path begins with $, representing the root element. The path is formed by appending a sequence of child elements to $, each separated by a dot (.). Square brackets with nested quotation marks ([‘...’]) should be used to separate child elements in JSON arrays.

      For example, the root node of a JSON Path is Results. The child node denoting the Board Name field would be board.name. Putting it together, the JSON Path expression to extract the Board Name is $.Results.board.name.

The pre-configured field mappings are detailed below:

Field Name

Source Field

Document ID

.id

Start Time

._info.dateEntered

Description

.summary

Board Name

.board.name

Event Type

.recordType

Priority

.priority.name

Impact

.impact

Urgency

.severity

Status

.status.name

Company Name

.company.name

Site Name

.site.name

Contact Name

.contact.name

Contact Email

.contactEmailAddress

Contact Phone Number

.contactPhoneNumber

Type Name

.type.name

Team Name

.team.name

Service Location

.serviceLocation.name

Source

.source.name

location

.location.name

Department

.department.name

SLA

.sla.name

SLA Status

.slaStatus

Created By

._info.enteredBy

Updated By

._info.updatedBy

Updated Time

._info.lastUpdated

Escalation Time

.escalationStartDateUTC

READER NOTE

The Unique Event Key field mapping is used to prevent duplicate event ingestions. D3 SOAR will check if the value of a selected JSON path matches any Unique Event Key of previously ingested events. If a match is found, the event will be dismissed. If no match is found, an event will be created. However, if no Unique Event Key is mapped, then the hash value from the event pending ingestion will be used to check for any matches with existing events. If no match is found, the event will be created.

Unlike most other D3 SOAR integrations, the ConnectWise PSA integration’s Fetch Event command’s Default Event Source mapping does not include Unique Event Key in order to fetch the same fetched service ticket(s) with multiple updates.

Error Handling

If the Return Data is Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Fetch Event failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the ConnectWise PSA portal. Refer to the HTTP Status Code Registry for details.

Status Code: 400.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: The value for parameter (Number of Event(s) Fetched) is invalid.

Error Sample Data

Fetch Event failed.

Status Code: 400.

Message: The value for parameter (Number of Event(s) Fetched) is invalid.

Get Tickets

Retrieves service ticket(s) by ticket ID(s).

READER NOTE

The parameter Ticket IDs is required to run this command.

  • Run the Fetch Event command to obtain Ticket IDs. Ticket IDs can be found in the raw data at the path $.Results[*].id.

Input

Input Parameter

Required/Optional

Description

Example

Ticket IDs

Required

The ticket ID(s) specified to retrieve details. Ticket ID can be obtained using the Fetch Event command.

[ 515 ]

Output

Return Data

Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.

The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Raw Data

The primary response data from the API request.

SAMPLE DATA

CODE
{
    "Results": [
        {
            "id": 515,
            "summary": "Check ****** Backup",
            "recordType": "ServiceTicket",
            "board": {
                "id": 1,
                "name": "Professional ********",
                "_info": {
                    "board_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
                }
            },
            "status": {
                "id": 16,
                "name": "New (not *****)",
                "Sort": 0,
                "_info": {
                    "status_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********/statuses/16"
                }
            },
            "company": {
                "id": 16,
                "identifier": "Indigo*********Co",
                "name": "Indigo*********, Co.",
                "_info": {
                    "company_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********",
                    "mobileGuid": "102********c30"
                }
            },
            "site": {
                "id": 20,
                "name": "Main",
                "_info": {
                    "site_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********/*****",
                    "mobileGuid": "caf********242"
                }
            },
            "siteName": "Main",
            "addressLine1": "2106 ********* TER",
            "city": "Harrells",
            "stateIdentifier": "FL",
            "zip": "34***",
            "contact": {
                "id": 48,
                "name": "Ramon ********",
                "_info": {
                    "mobileGuid": "57a********c31",
                    "contact_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
                }
            },
            "contactName": "Ramon ********",
            "contactPhoneNumber": "813393****",
            "contactEmailAddress": "ramon.********@Indigo*********.com",
            "type": {
                "id": 14,
                "name": "Proactive",
                "_info": {
                    "type_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********/*****"
                }
            },
            "team": {
                "id": 25,
                "name": "Service Team",
                "_info": {
                    "team_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********/*****"
                }
            },
            "priority": {
                "id": 1,
                "name": "Priority 2 - Quick Response",
                "sort": 4,
                "_info": {
                    "priority_href": "https://api-staging.connectwisedev.com/*****/apis/3.0///**********",
                    "image_href": "https://api-staging.connectwisedev.com/*****/apis/3.0///**********/********"
                }
            },
            "serviceLocation": {
                "id": 2,
                "name": "In-h*****",
                "_info": {
                    "location_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//*****/2"
                }
            },
            "source": {
                "id": 2,
                "name": "Phone",
                "_info": {
                    "source_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//*****/2"
                }
            },
            "severity": "Medium",
            "impact": "High",
            "allowAllClientsPortalView": false,
            "customerUpdatedFlag": false,
            "automaticEmailContactFlag": false,
            "automaticEmailResourceFlag": false,
            "automaticEmailCcFlag": false,
            "closedFlag": false,
            "approved": true,
            "estimatedExpenseCost": 0,
            "estimatedExpenseRevenue": 0,
            "estimatedProductCost": 0,
            "estimatedProductRevenue": 0,
            "estimatedTimeCost": 0,
            "estimatedTimeRevenue": 0,
            "billingMethod": "ActualRates",
            "subBillingMethod": "ActualRates",
            "resolveMinutes": 0,
            "resPlanMinutes": 0,
            "respondMinutes": 0,
            "isInSla": false,
            "hasChildTicket": false,
            "hasMergedChildTicketFlag": false,
            "billTime": "NoDefault",
            "billExpenses": "NoDefault",
            "billProducts": "Billable",
            "location": {
                "id": 2,
                "name": "Tampa ******",
                "_info": {
                    "location_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
                }
            },
            "department": {
                "id": 10,
                "identifier": "Services",
                "name": "Professional ********",
                "_info": {
                    "department_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//******/10"
                }
            },
            "mobileGuid": "7da********3ae",
            "sla": {
                "id": 1,
                "name": "Standard ***",
                "_info": {
                    "sla_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//*****"
                }
            },
            "slaStatus": "Respond by Mon 04/01 10:00 AM UTC-07",
            "requestForChangeFlag": false,
            "currency": {
                "id": 7,
                "symbol": "$",
                "currencyCode": "USD",
                "decimalSeparator": ".",
                "numberOfDecimals": 2,
                "thousandsSeparator": ",",
                "negativeParenthesesFlag": false,
                "displaySymbolFlag": false,
                "currencyIdentifier": "Z-US$",
                "displayIdFlag": false,
                "rightAlign": false,
                "name": "US Dollars",
                "_info": {
                    "currency_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
                }
            },
            "_info": {
                "lastUpdated": "2024-04-16T01:24:30Z",
                "updatedBy": "adm***",
                "dateEntered": "2024-03-30T04:10:24Z",
                "enteredBy": "te****e3",
                "activities_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********=ticket/id=515",
                "scheduleentries_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********=type/id=4 AND objectId=515",
                "documents_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//system/documents?recordType=Ticket&********",
                "configurations_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********/515/configurations",
                "tasks_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********/515/tasks",
                "notes_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********/515/notes",
                "products_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//*************=chargeToType='Ticket' AND **************",
                "timeentries_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//*************=(chargeToType='ServiceTicket' OR chargeToType='ProjectTicket') AND **************",
                "expenseEntries_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//*************=(chargeToType='ServiceTicket' OR chargeToType='ProjectTicket') AND **************"
            },
            "escalationStartDateUTC": "2024-04-01T13:00:00Z",
            "escalationLevel": 0,
            "minutesBeforeWaiting": 0,
            "respondedSkippedMinutes": 0,
            "resplanSkippedMinutes": 0,
            "respondedHours": 4,
            "resplanHours": 24,
            "resolutionHours": 48,
            "minutesWaiting": 0
        }
    ]
}
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
   "TicketIDs": ["515"],
   "Priority": ["Priority 2 - Quick Response"],
   "Status": ["New (not *****)"],
   "CompanyNames": ["Indigo*********, Co."],
   "SummaryDescriptions": ["Check ****** Backup"] 
}
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

Results

JSON
{'id': 515, 'summary': 'Check ****** Backup', 'recordType': 'ServiceTicket', 'board': {'id': 1, 'name': 'Professional ********', '_info': {'board_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}, 'status': {'id': 16, 'name': 'New (not *****)', 'Sort': 0, '_info': {'status_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********/statuses/16'}}, 'company': {'id': 16, 'identifier': 'Indigo*********Co', 'name': 'Indigo*********, Co.', '_info': {'company_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********', 'mobileGuid': '102********c30'}}, 'site': {'id': 20, 'name': 'Main', '_info': {'site_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********/*****', 'mobileGuid': 'caf********242'}}, 'siteName': 'Main', 'addressLine1': '2106 ********* TER', 'city': 'Harrells', 'stateIdentifier': 'FL', 'zip': '34***', 'contact': {'id': 48, 'name': 'Ramon ********', '_info': {'mobileGuid': '57a********c31', 'contact_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}, 'contactName': 'Ramon ********', 'contactPhoneNumber': '813393****', 'contactEmailAddress': 'ramon.********@Indigo*********.com', 'type': {'id': 14, 'name': 'Proactive', '_info': {'type_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********/*****'}}, 'team': {'id': 25, 'name': 'Service Team', '_info': {'team_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********/*****'}}, 'priority': {'id': 1, 'name': 'Priority 2 - Quick Response', 'sort': 4, '_info': {'priority_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0///**********', 'image_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0///**********/********'}}, 'serviceLocation': {'id': 2, 'name': 'In-h*****', '_info': {'location_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//*****/2'}}, 'source': {'id': 2, 'name': 'Phone', '_info': {'source_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//*****/2'}}, 'severity': 'Medium', 'impact': 'High', 'allowAllClientsPortalView': False, 'customerUpdatedFlag': False, 'automaticEmailContactFlag': False, 'automaticEmailResourceFlag': False, 'automaticEmailCcFlag': False, 'closedFlag': False, 'approved': True, 'estimatedExpenseCost': 0.0, 'estimatedExpenseRevenue': 0.0, 'estimatedProductCost': 0.0, 'estimatedProductRevenue': 0.0, 'estimatedTimeCost': 0.0, 'estimatedTimeRevenue': 0.0, 'billingMethod': 'ActualRates', 'subBillingMethod': 'ActualRates', 'resolveMinutes': 0, 'resPlanMinutes': 0, 'respondMinutes': 0, 'isInSla': False, 'hasChildTicket': False, 'hasMergedChildTicketFlag': False, 'billTime': 'NoDefault', 'billExpenses': 'NoDefault', 'billProducts': 'Billable', 'location': {'id': 2, 'name': 'Tampa ******', '_info': {'location_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}, 'department': {'id': 10, 'identifier': 'Services', 'name': 'Professional ********', '_info': {'department_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//******/10'}}, 'mobileGuid': '7da********3ae', 'sla': {'id': 1, 'name': 'Standard ***', '_info': {'sla_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//*****'}}, 'slaStatus': 'Respond by Mon 04/01 10:00 AM UTC-07', 'requestForChangeFlag': False, 'currency': {'id': 7, 'symbol': '$', 'currencyCode': 'USD', 'decimalSeparator': '.', 'numberOfDecimals': 2, 'thousandsSeparator': ',', 'negativeParenthesesFlag': False, 'displaySymbolFlag': False, 'currencyIdentifier': 'Z-US$', 'displayIdFlag': False, 'rightAlign': False, 'name': 'US Dollars', '_info': {'currency_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}, '_info': {'lastUpdated': '2024-04-16T01:24:30Z', 'updatedBy': 'adm***', 'dateEntered': '2024-03-30T04:10:24Z', 'enteredBy': 'te****e3', 'activities_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********=ticket/id=515', 'scheduleentries_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********=type/id=4 AND objectId=515', 'documents_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//system/documents?recordType=Ticket&********', 'configurations_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********/515/configurations', 'tasks_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********/515/tasks', 'notes_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********/515/notes', 'products_href': "https://api-staging.connectwisedev.com/*****/apis/3.0//*************=chargeToType='Ticket' AND **************", 'timeentries_href': "https://api-staging.connectwisedev.com/*****/apis/3.0//*************=(chargeToType='ServiceTicket' OR chargeToType='ProjectTicket') AND **************", 'expenseEntries_href': "https://api-staging.connectwisedev.com/*****/apis/3.0//*************=(chargeToType='ServiceTicket' OR chargeToType='ProjectTicket') AND **************"}, 'escalationStartDateUTC': '2024-04-01T13:00:00Z', 'escalationLevel': 0, 'minutesBeforeWaiting': 0, 'respondedSkippedMinutes': 0, 'resplanSkippedMinutes': 0, 'respondedHours': 4.0, 'resplanHours': 24.0, 'resolutionHours': 48.0, 'minutesWaiting': 0}

 Error Handling

If the Return Data is Partially Successful or Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Get Tickets failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the ConnectWise PSA portal. Refer to the HTTP Status Code Registry for details.

Status Code: 400.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: The value for parameter (Ticket IDs) is invalid.

Error Sample Data

Get Tickets failed.

Status Code: 400.

Message: The value for parameter (Ticket IDs) is invalid.

List Boards

Retrieves the list of boards. The returned boards are sorted alphabetically.

Input

Input Parameter

Required/Optional

Description

Example

Board Name

Optional

The full or partial name of the board to retrieve. If not specified, all boards will be returned.

Integration

Business Unit

Optional

The name of the business unit in which to retrieve boards. If not specified, boards in any business unit will be returned.

Integration

Location

Optional

The name of the location in which to retrieve boards. If not specified, boards in any location will be returned.

Tampa ******

Output

Return Data

Indicates one of the possible command execution states: Successful or Failed.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Raw Data

The primary response data from the API request.

SAMPLE DATA

CODE
{
    "Results": [
        {
            "id": 2,
            "name": "Inte*******",
            "location": {
                "id": 2,
                "name": "Tampa ******",
                "_info": {
                    "location_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
                }
            },
            "department": {
                "id": 14,
                "identifier": "Inte*******",
                "name": "Inte*******",
                "_info": {
                    "department_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
                }
            },
            "inactiveFlag": false,
            "signOffTemplate": {
                "id": 1,
                "name": "Default ******* Template",
                "_info": {
                    "signOffTemplate_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//service/serviceSignoff/1"
                }
            },
            "sendToContactFlag": false,
            "sendToResourceFlag": false,
            "projectFlag": false,
            "boardIcon": {
                "id": 266,
                "name": "service-web.gif",
                "_info": {
                    "filename": "service-web.gif",
                    "document_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//system/documents/266",
                    "documentDownload_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//system/documents/266/download"
                }
            },
            "billTicketsAfterClosedFlag": false,
            "billTicketSeparatelyFlag": false,
            "billUnapprovedTimeExpenseFlag": false,
            "overrideBillingSetupFlag": false,
            "billTime": "NoDefault",
            "billExpense": "NoDefault",
            "billProduct": "Billable",
            "autoAssignNewTicketsFlag": false,
            "autoAssignNewECTicketsFlag": false,
            "autoAssignNewPortalTicketsFlag": false,
            "discussionsLockedFlag": false,
            "timeEntryLockedFlag": false,
            "closedLoopDiscussionsFlag": false,
            "closedLoopResolutionFlag": false,
            "closedLoopInternalAnalysisFlag": false,
            "timeEntryDiscussionFlag": false,
            "timeEntryResolutionFlag": false,
            "timeEntryInternalAnalysisFlag": false,
            "problemSort": "Descending",
            "resolutionSort": "Descending",
            "internalAnalysisSort": "Descending",
            "emailConnectorAllowReopenClosedFlag": false,
            "emailConnectorReopenResourcesFlag": false,
            "emailConnectorNewTicketNoMatchFlag": false,
            "emailConnectorNeverReopenByDaysFlag": false,
            "emailConnectorReopenDaysLimit": 0,
            "emailConnectorNeverReopenByDaysClosedFlag": false,
            "emailConnectorReopenDaysClosedLimit": 0,
            "useMemberDisplayNameFlag": false,
            "sendToCCFlag": false,
            "autoAssignTicketOwnerFlag": false,
            "autoAssignLimitFlag": false,
            "autoAssignLimitAmount": 0,
            "closedLoopAllFlag": true,
            "percentageCalculation": "Manual",
            "allSort": "Descending",
            "markFirstNoteIssueFlag": false,
            "restrictBoardByDefaultFlag": false,
            "_info": {
                "lastUpdated": "2007-09-10T18:58:17Z",
                "updatedBy": "zad***"
            }
        }
    ]
}
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
    "BoardIDs": ["2"],
    "BoardNames": ["Integration"]
}
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

Results

JSON
{'id': 2, 'name': 'Integration', 'location': {'id': 2, 'name': 'Tampa ******', '_info': {'location_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}, 'department': {'id': 14, 'identifier': 'Integration', 'name': 'Integration', '_info': {'department_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}, 'inactiveFlag': False, 'signOffTemplate': {'id': 1, 'name': 'Default ******* Template', '_info': {'signOffTemplate_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//service/serviceSignoff/1'}}, 'sendToContactFlag': False, 'sendToResourceFlag': False, 'projectFlag': False, 'boardIcon': {'id': 266, 'name': 'service-web.gif', '_info': {'filename': 'service-web.gif', 'document_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//system/documents/266', 'documentDownload_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//system/documents/266/download'}}, 'billTicketsAfterClosedFlag': False, 'billTicketSeparatelyFlag': False, 'billUnapprovedTimeExpenseFlag': False, 'overrideBillingSetupFlag': False, 'billTime': 'NoDefault', 'billExpense': 'NoDefault', 'billProduct': 'Billable', 'autoAssignNewTicketsFlag': False, 'autoAssignNewECTicketsFlag': False, 'autoAssignNewPortalTicketsFlag': False, 'discussionsLockedFlag': False, 'timeEntryLockedFlag': False, 'closedLoopDiscussionsFlag': False, 'closedLoopResolutionFlag': False, 'closedLoopInternalAnalysisFlag': False, 'timeEntryDiscussionFlag': False, 'timeEntryResolutionFlag': False, 'timeEntryInternalAnalysisFlag': False, 'problemSort': 'Descending', 'resolutionSort': 'Descending', 'internalAnalysisSort': 'Descending', 'emailConnectorAllowReopenClosedFlag': False, 'emailConnectorReopenResourcesFlag': False, 'emailConnectorNewTicketNoMatchFlag': False, 'emailConnectorNeverReopenByDaysFlag': False, 'emailConnectorReopenDaysLimit': 0, 'emailConnectorNeverReopenByDaysClosedFlag': False, 'emailConnectorReopenDaysClosedLimit': 0, 'useMemberDisplayNameFlag': False, 'sendToCCFlag': False, 'autoAssignTicketOwnerFlag': False, 'autoAssignLimitFlag': False, 'autoAssignLimitAmount': 0, 'closedLoopAllFlag': True, 'percentageCalculation': 'Manual', 'allSort': 'Descending', 'markFirstNoteIssueFlag': False, 'restrictBoardByDefaultFlag': False, '_info': {'lastUpdated': '2007-09-10T18:58:17Z', 'updatedBy': 'zad***'}}

 Error Handling

If the Return Data is Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

List Boards failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the ConnectWise PSA portal. Refer to the HTTP Status Code Registry for details.

Status Code: 401.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Unauthorized.

Error Sample Data

List Boards failed.

Status Code: 401.

Message: Unauthorized.

List Board Statuses

Retrieves the list of all statuses of the specified board. The returned board statuses are sorted alphabetically.

READER NOTE

Board ID is a required parameter to run this command.

  • Run the List Boards command to obtain the Board ID. Board ID can be found in the raw data at the path $.Results[*].id.

Input

Input Parameter

Required/Optional

Description

Example

Board ID

Required

The ID of the board to retrieve statuses. Board ID can be obtained using the List Boards command.

2

Output

Return Data

Indicates one of the possible command execution states: Successful or Failed.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Raw Data

The primary response data from the API request.

SAMPLE DATA

CODE
{
    "Results": [
        {
            "id": 70,
            "name": "Closed",
            "board": {
                "id": 2,
                "name": "Inte*******",
                "_info": {
                    "board_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
                }
            },
            "sortOrder": 0,
            "displayOnBoard": true,
            "inactive": false,
            "closedStatus": false,
            "timeEntryNotAllowed": false,
            "roundRobinCatchall": false,
            "defaultFlag": false,
            "escalationStatus": "Responded",
            "customerPortalFlag": false,
            "_info": {
                "lastUpdated": "2024-04-17T17:41:52Z",
                "updatedBy": "adm***",
                "dateEntered": "2024-04-17T17:41:52Z",
                "enteredBy": "adm***"
            },
            "saveTimeAsNote": false
        },
        {
            "id": 69,
            "name": "New",
            "board": {
                "id": 2,
                "name": "Integration",
                "_info": {
                    "board_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
                }
            },
            "sortOrder": 0,
            "displayOnBoard": false,
            "inactive": false,
            "closedStatus": false,
            "timeEntryNotAllowed": false,
            "roundRobinCatchall": false,
            "defaultFlag": true,
            "escalationStatus": "NotResponded",
            "customerPortalFlag": false,
            "_info": {
                "lastUpdated": "2024-04-17T16:54:03Z",
                "updatedBy": "d3****A",
                "dateEntered": "2024-04-17T16:54:03Z",
                "enteredBy": "d3****A"
            },
            "saveTimeAsNote": false
        }
    ]
}
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
    "BoardIDs": ["2"],
    "BoardNames": ["Int********"]
}
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

Results

JSON
{'id': 70, 'name': 'Closed', 'board': {'id': 2, 'name': 'Integration', '_info': {'board_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}, 'sortOrder': 0, 'displayOnBoard': True, 'inactive': False, 'closedStatus': False, 'timeEntryNotAllowed': False, 'roundRobinCatchall': False, 'defaultFlag': False, 'escalationStatus': 'Responded', 'customerPortalFlag': False, '_info': {'lastUpdated': '2024-04-17T17:41:52Z', 'updatedBy': 'adm***', 'dateEntered': '2024-04-17T17:41:52Z', 'enteredBy': 'adm***'}, 'saveTimeAsNote': False}
JSON
{'id': 69, 'name': 'New', 'board': {'id': 2, 'name': 'Integration', '_info': {'board_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}, 'sortOrder': 0, 'displayOnBoard': False, 'inactive': False, 'closedStatus': False, 'timeEntryNotAllowed': False, 'roundRobinCatchall': False, 'defaultFlag': True, 'escalationStatus': 'NotResponded', 'customerPortalFlag': False, '_info': {'lastUpdated': '2024-04-17T16:54:03Z', 'updatedBy': 'd3****A', 'dateEntered': '2024-04-17T16:54:03Z', 'enteredBy': 'd3****A'}, 'saveTimeAsNote': False}

 Error Handling

If the Return Data is Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

List Board Statuses failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the ConnectWise PSA portal. Refer to the HTTP Status Code Registry for details.

Status Code: 401.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Unauthorized.

Error Sample Data

List Board Statuses failed.

Status Code: 401.

Message: Unauthorized.

List Board Teams

Retrieves the list of all teams of the specified board. The returned board teams are sorted alphabetically.

READER NOTE

Board ID is a required parameter to run this command.

  • Run the List Boards command to obtain the Board ID. Board ID can be found in the raw data at the path $.Results[*].id.

Input

Input Parameter

Required/Optional

Description

Example

Board ID

Required

The ID of the board to retrieve teams. Board ID can be obtained using the List Boards command.

2

Output

Return Data

Indicates one of the possible command execution states: Successful or Failed.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Raw Data

The primary response data from the API request.

SAMPLE DATA

CODE
{
    "Results": [
        {
            "id": 28,
            "name": "Stand** Team",
            "teamLeader": {
                "id": 186,
                "identifier": "Ad****",
                "name": "Training Ad****",
                "_info": {
                    "member_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//***************/186"
                }
            },
            "members": [
                186
            ],
            "defaultFlag": true,
            "notifyOnTicketDelete": false,
            "defaultRoundRobinFlag": false,
            "roundRobinFlag": false,
            "boardId": 2,
            "locationId": 2,
            "businessUnitId": 14,
            "_info": {
                "lastUpdated": "2024-04-17T16:59:04Z",
                "updatedBy": "d3****A",
                "dateEntered": "2024-04-17T16:59:04Z",
                "enteredBy": "d3****A"
            }
        }
    ]
}
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
    "TeamIDs": ["28"],
    "TeamNames": ["Stand** Team"]
}
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

Results

JSON
{'id': 28, 'name': 'Stand** Team', 'teamLeader': {'id': 186, 'identifier': 'Ad****', 'name': 'Training Ad****', '_info': {'member_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//***************/186'}}, 'members': [186], 'defaultFlag': True, 'notifyOnTicketDelete': False, 'defaultRoundRobinFlag': False, 'roundRobinFlag': False, 'boardId': 2, 'locationId': 2, 'businessUnitId': 14, '_info': {'lastUpdated': '2024-04-17T16:59:04Z', 'updatedBy': 'd3****A', 'dateEntered': '2024-04-17T16:59:04Z', 'enteredBy': 'd3****A'}}

 Error Handling

If the Return Data is Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

List Board Teams failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the ConnectWise PSA portal. Refer to the HTTP Status Code Registry for details.

Status Code: 401.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Unauthorized.

Error Sample Data

List Board Teams failed.

Status Code: 401.

Message: Unauthorized.

List Companies

Retrieves the list of companies. The returned companies are sorted alphabetically.

Input

Input Parameter

Required/Optional

Description

Example

Company Name

Optional

The full or partial name of the company to retrieve. If not specified, all companies will be returned.

Microsoft

Status

Optional

The status of the companies to retrieve. If not specified, companies in any status will be returned.

Active

Type

Optional

The type of the companies to retrieve. If not specified, companies of any type will be returned.

Partner

Output

Return Data

Indicates one of the possible command execution states: Successful or Failed.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Raw Data

The primary response data from the API request.

SAMPLE DATA

CODE
{
    "Results": [
        {
            "id": 26,
            "identifier": "Microsoft",
            "name": "Microsoft",
            "status": {
                "id": 1,
                "name": "Active",
                "_info": {
                    "status_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//**************statuses/1"
                }
            },
            "addressLine1": "10 Micro**** Way",
            "city": "Redmond",
            "state": "WA",
            "zip": "567**",
            "phoneNumber": "80055*****",
            "website": "http://www.Microsoft.com",
            "territory": {
                "id": 38,
                "name": "Corporate",
                "_info": {
                    "location_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//**********"
                }
            },
            "defaultContact": {
                "id": 82,
                "name": "Bill Gates",
                "_info": {
                    "contact_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//****************"
                }
            },
            "dateAcquired": "2005-06-10T15:48:35Z",
            "annualRevenue": 0,
            "timeZoneSetup": {
                "id": 1,
                "name": "US Eastern",
                "_info": {
                    "timeZoneSetup_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//*************/1"
                }
            },
            "leadFlag": false,
            "unsubscribeFlag": false,
            "taxCode": {
                "id": 11,
                "name": "State",
                "_info": {
                    "taxCode_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//**********"
                }
            },
            "billingTerms": {
                "id": 2,
                "name": "Net 10"
            },
            "billToCompany": {
                "id": 26,
                "identifier": "Microsoft",
                "name": "Microsoft",
                "_info": {
                    "company_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//**************26"
                }
            },
            "billingSite": {
                "id": 35,
                "name": "Main",
                "_info": {
                    "site_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//************/sites/35"
                }
            },
            "invoiceDeliveryMethod": {
                "id": 1,
                "name": "Mail"
            },
            "deletedFlag": false,
            "mobileGuid": "ebf**********efc",
            "territoryManager": {
                "id": 205,
                "identifier": "T**",
                "name": "Tony **",
                "_info": {
                    "member_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//**********"
                }
            },
            "isVendorFlag": true,
            "types": [
                {
                    "id": 6,
                    "name": "Vendor",
                    "_info": {
                        "type_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//**************"
                    }
                }
            ],
            "site": {
                "id": 35,
                "name": "Main",
                "_info": {
                    "site_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//************/sites/35"
                }
            },
            "_info": {
                "lastUpdated": "2005-12-23T23:16:29Z",
                "updatedBy": "Arnie",
                "dateEntered": "2005-06-10T15:48:35Z",
                "enteredBy": "CONVERSION",
                "contacts_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********",
                "agreements_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//finance/agreements?**********=/********",
                "tickets_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********?**********=/********",
                "opportunities_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//sales/opportunities?**********=/********",
                "activities_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********=/********",
                "projects_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//project/projects?**********=/********",
                "configurations_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//company/configurations?**********=/********",
                "orders_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//sales/orders?**********=/********",
                "documents_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//system/documents?recordType=Company********",
                "sites_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//************/sites",
                "teams_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//************/teams",
                "reports_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//************/managementSummaryReports",
                "notes_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//************/notes"
            }
        }
    ]
}
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
    "CompanyIDs": ["26"],
    "CompanyNames": ["Microsoft"],
    "CompanyStatus": ["Active"]
}
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

Results

JSON
{'id': 26, 'identifier': 'Microsoft', 'name': 'Microsoft', 'status': {'id': 1, 'name': 'Active', '_info': {'status_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//**************statuses/1'}}, 'addressLine1': '10 Micro**** Way', 'city': 'Redmond', 'state': 'WA', 'zip': '567**', 'phoneNumber': '80055*****', 'website': ' ', 'territory': {'id': 38, 'name': 'Corporate', '_info': {'location_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//**********'}}, 'defaultContact': {'id': 82, 'name': 'Bill Gates', '_info': {'contact_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//****************'}}, 'dateAcquired': '2005-06-10T15:48:35Z', 'annualRevenue': 0.0, 'timeZoneSetup': {'id': 1, 'name': 'US Eastern', '_info': {'timeZoneSetup_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//*************/1'}}, 'leadFlag': False, 'unsubscribeFlag': False, 'taxCode': {'id': 11, 'name': 'State', '_info': {'taxCode_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//**********'}}, 'billingTerms': {'id': 2, 'name': 'Net 10'}, 'billToCompany': {'id': 26, 'identifier': 'Microsoft', 'name': 'Microsoft', '_info': {'company_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//**************26'}}, 'billingSite': {'id': 35, 'name': 'Main', '_info': {'site_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//************/sites/35'}}, 'invoiceDeliveryMethod': {'id': 1, 'name': 'Mail'}, 'deletedFlag': False, 'mobileGuid': 'ebf**********efc', 'territoryManager': {'id': 205, 'identifier': 'T**', 'name': 'Tony **', '_info': {'member_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//**********'}}, 'isVendorFlag': True, 'types': [{'id': 6, 'name': 'Vendor', '_info': {'type_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//**************'}}], 'site': {'id': 35, 'name': 'Main', '_info': {'site_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//************/sites/35'}}, '_info': {'lastUpdated': '2005-12-23T23:16:29Z', 'updatedBy': 'Arnie', 'dateEntered': '2005-06-10T15:48:35Z', 'enteredBy': 'CONVERSION', 'contacts_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********', 'agreements_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//finance/agreements?**********=/********', 'tickets_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********?**********=/********', 'opportunities_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//sales/opportunities?**********=/********', 'activities_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********=/********', 'projects_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//project/projects?**********=/********', 'configurations_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//company/configurations?**********=/********', 'orders_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//sales/orders?**********=/********', 'documents_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//system/documents?recordType=Company********', 'sites_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//************/sites', 'teams_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//************/teams', 'reports_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//************/managementSummaryReports', 'notes_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//************/notes'}}

 Error Handling

If the Return Data is Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

List Companies failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the ConnectWise PSA portal. Refer to the HTTP Status Code Registry for details.

Status Code: 401.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: Unauthorized.

Error Sample Data

List Companies failed.

Status Code: 401.

Message: Unauthorized.

Update Tickets

Updates the specified ticket(s).

READER NOTE

The parameter Ticket IDs is required to run this command.

  • Run the Fetch Event command to obtain Ticket IDs. Ticket IDs can be found in the raw data at the path $.Results[*].id.

Company ID, Board Name, Status and Team are optional parameters to run this command.

  • Run the List Companies command to obtain the Company ID. Company IDs can be found in the raw data at the path $.Results[*].id.

  • Run the List Boards command to obtain the Board Name. Board Names can be found in the raw data at the path $.Results[*].name.

  • Run the List Board Statuses command to obtain the Status. Status can be found in the raw data at the path $.Results[*].name.

  • Run the List Board Teams command to obtain the Team. Teams can be found in the raw data at the path $.Results[*].name.

Input

Input Parameter

Required/Optional

Description

Example

Ticket IDs

Required

The ID(s) of the service ticket(s) to update. Ticket ID can be obtained using the Fetch Event command.

[ 543 ]

Summary

Optional

The updated summary for the service ticket(s).

update service ticket 417 13:10

Company ID

Optional

The ID of the company to be updated to the ticket(s). Company ID can be obtained using the List Companies command.

26

Board Name

Optional

The Name of the board to be updated to the ticket(s). Board Name can be obtained using the List Boards command.

Integration

Status

Optional

The status to be updated to the ticket(s). Status can be obtained using the List Board Statuses command.

New

Priority

Optional

The priority to be updated to the ticket(s).

Priority 2 - Quick Response

Urgency

Optional

The urgency to be updated to the ticket(s).

High

Impact

Optional

The impact to be updated to the ticket(s).

High

Ticket Contact Name

Optional

The contact person’s name to be updated to the ticket(s).

Mike *******

Ticket Contact Phone Number

Optional

The phone number of the contact person to be updated to the ticket(s).

516-213****

Ticket Contact Email Address

Optional

The email address of the contact person to be updated to the ticket(s).

mike.****@example.com

Team

Optional

The name of the board team to be updated to the the ticket(s). Team can be obtained using the List Board Teams command.

Stand** Team

Additional Fields

Optional

The additional fields to be updated to the ticket(s).

{ "city": "LA",

"stateIdentifier": "CA",

"zip": "991**",

"source":{"name":"email"}

}

Output

Return Data

Indicates one of the possible command execution states: Successful, Partially Successful, or Failed.

The Partially Successful state only occurs when a command’s input accepts an array of items (e.g. an array of IP addresses) and one or more items within the array return an error from the API request.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

You can view more details about an error in the Error tab.

Return Data can be passed down directly to a subsequent command or used to create conditional tasks in playbooks.

SAMPLE DATA

CODE
Successful
Raw Data

The primary response data from the API request.

SAMPLE DATA

CODE
{
    "Results": [
        {
            "id": 543,
            "summary": "update service ticket 417 13:25",
            "recordType": "ServiceTicket",
            "board": {
                "id": 2,
                "name": "Integration",
                "_info": {
                    "board_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
                }
            },
            "status": {
                "id": 69,
                "name": "New",
                "Sort": 0,
                "_info": {
                    "status_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********/statuses/69"
                }
            },
            "company": {
                "id": 24,
                "identifier": "Wild*****Inc",
                "name": "Wild *****, Inc.",
                "_info": {
                    "company_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********",
                    "mobileGuid": "acc********1e2"
                }
            },
            "siteName": "Main",
            "addressLine1": "1511 S. ******* Ave.",
            "addressLine2": "8th Floor",
            "city": "LA",
            "stateIdentifier": "CA",
            "zip": "991**",
            "contactName": "Ada ******",
            "contactPhoneNumber": "516-213****",
            "contactPhoneExtension": "235",
            "contactEmailAddress": "mike.****@example.com",
            "team": {
                "id": 28,
                "name": "Stand** Team",
                "_info": {
                    "team_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********/teams/28"
                }
            },
            "priority": {
                "id": 2,
                "name": "Priority 1 - Emergency Response",
                "sort": 2,
                "_info": {
                    "priority_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//service/priorities/2",
                    "image_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//**********/image?lm=2004-10-20T20:31:21Z"
                }
            },
            "serviceLocation": {
                "id": 1,
                "name": "On-Site",
                "_info": {
                    "location_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
                }
            },
            "source": {
                "id": 1,
                "name": "Email",
                "_info": {
                    "source_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
                }
            },
            "severity": "High",
            "impact": "High",
            "allowAllClientsPortalView": false,
            "customerUpdatedFlag": false,
            "automaticEmailContactFlag": false,
            "automaticEmailResourceFlag": false,
            "automaticEmailCcFlag": false,
            "closedFlag": false,
            "approved": true,
            "estimatedExpenseCost": 0,
            "estimatedExpenseRevenue": 0,
            "estimatedProductCost": 0,
            "estimatedProductRevenue": 0,
            "estimatedTimeCost": 0,
            "estimatedTimeRevenue": 0,
            "billingMethod": "ActualRates",
            "subBillingMethod": "ActualRates",
            "resolveMinutes": 52,
            "resPlanMinutes": 52,
            "respondMinutes": 52,
            "isInSla": true,
            "hasChildTicket": false,
            "hasMergedChildTicketFlag": false,
            "billTime": "NoDefault",
            "billExpenses": "NoDefault",
            "billProducts": "Billable",
            "location": {
                "id": 2,
                "name": "Tampa ******",
                "_info": {
                    "location_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
                }
            },
            "department": {
                "id": 14,
                "identifier": "Integration",
                "name": "Integration",
                "_info": {
                    "department_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
                }
            },
            "mobileGuid": "c6f********70d",
            "sla": {
                "id": 1,
                "name": "Standard ***",
                "_info": {
                    "sla_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//*****"
                }
            },
            "slaStatus": "Respond by Thu 04/18 7:32 AM UTC-07",
            "currency": {
                "id": 7,
                "symbol": "$",
                "currencyCode": "USD",
                "decimalSeparator": ".",
                "numberOfDecimals": 2,
                "thousandsSeparator": ",",
                "negativeParenthesesFlag": false,
                "displaySymbolFlag": false,
                "currencyIdentifier": "Z-US$",
                "displayIdFlag": false,
                "rightAlign": false,
                "name": "US Dollars",
                "_info": {
                    "currency_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********"
                }
            },
            "_info": {
                "lastUpdated": "2024-04-17T20:24:11Z",
                "updatedBy": "d3****A",
                "dateEntered": "2024-04-17T19:32:00Z",
                "enteredBy": "d3****A",
                "activities_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//********",
                "scheduleentries_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//************",
                "documents_href": "https://api-staging.connectwisedev.com/*****/apis/3.0///************",
                "configurations_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//************",
                "tasks_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//************",
                "notes_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//************",
                "products_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//*****************",
                "timeentries_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//*****************",
                "expenseEntries_href": "https://api-staging.connectwisedev.com/*****/apis/3.0//*****************"
            },
            "escalationStartDateUTC": "2024-04-17T19:32:00Z",
            "escalationLevel": 0,
            "minutesBeforeWaiting": 0,
            "respondedSkippedMinutes": 0,
            "resplanSkippedMinutes": 0,
            "respondedHours": 4,
            "resplanHours": 24,
            "resolutionHours": 48,
            "minutesWaiting": 0
        }
    ]
}
Key Fields

Common cyber security indicators such as unique IDs, file hash values, CVE numbers, IP addresses, etc., will be extracted from Raw Data as Key Fields.

The system stores these key fields in the path $.[playbookTask].outputData. You can use these key-value pairs as data points for playbook task inputs.

SAMPLE DATA

CODE
{
    "TicketIDs": ["543"]
}
Result

Provides a brief summary of outputs in an HTML formatted table.

SAMPLE DATA

Results

JSON
{'id': 543, 'summary': 'update service ticket 417 13:25', 'recordType': 'ServiceTicket', 'board': {'id': 2, 'name': 'Integration', '_info': {'board_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}, 'status': {'id': 69, 'name': 'New', 'Sort': 0, '_info': {'status_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********/statuses/69'}}, 'company': {'id': 24, 'identifier': 'Wild*****Inc', 'name': 'Wild *****, Inc.', '_info': {'company_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********', 'mobileGuid': 'acc********1e2'}}, 'siteName': 'Main', 'addressLine1': '1511 S. ******* Ave.', 'addressLine2': '8th Floor', 'city': 'LA', 'stateIdentifier': 'CA', 'zip': '991**', 'contactName': 'Ada ******', 'contactPhoneNumber': '516-213****', 'contactPhoneExtension': '235', 'contactEmailAddress': 'mike.****@example.com', 'team': {'id': 28, 'name': 'Stand** Team', '_info': {'team_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********/teams/28'}}, 'priority': {'id': 2, 'name': 'Priority 1 - Emergency Response', 'sort': 2, '_info': {'priority_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//service/priorities/2', 'image_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//**********/image?lm=2004-10-20T20:31:21Z'}}, 'serviceLocation': {'id': 1, 'name': 'On-Site', '_info': {'location_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}, 'source': {'id': 1, 'name': 'Email', '_info': {'source_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}, 'severity': 'High', 'impact': 'High', 'allowAllClientsPortalView': False, 'customerUpdatedFlag': False, 'automaticEmailContactFlag': False, 'automaticEmailResourceFlag': False, 'automaticEmailCcFlag': False, 'closedFlag': False, 'approved': True, 'estimatedExpenseCost': 0.0, 'estimatedExpenseRevenue': 0.0, 'estimatedProductCost': 0.0, 'estimatedProductRevenue': 0.0, 'estimatedTimeCost': 0.0, 'estimatedTimeRevenue': 0.0, 'billingMethod': 'ActualRates', 'subBillingMethod': 'ActualRates', 'resolveMinutes': 52, 'resPlanMinutes': 52, 'respondMinutes': 52, 'isInSla': True, 'hasChildTicket': False, 'hasMergedChildTicketFlag': False, 'billTime': 'NoDefault', 'billExpenses': 'NoDefault', 'billProducts': 'Billable', 'location': {'id': 2, 'name': 'Tampa ******', '_info': {'location_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}, 'department': {'id': 14, 'identifier': 'Integration', 'name': 'Integration', '_info': {'department_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}, 'mobileGuid': 'c6f********70d', 'sla': {'id': 1, 'name': 'Standard ***', '_info': {'sla_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//*****'}}, 'slaStatus': 'Respond by Thu 04/18 7:32 AM UTC-07', 'currency': {'id': 7, 'symbol': '$', 'currencyCode': 'USD', 'decimalSeparator': '.', 'numberOfDecimals': 2, 'thousandsSeparator': ',', 'negativeParenthesesFlag': False, 'displaySymbolFlag': False, 'currencyIdentifier': 'Z-US$', 'displayIdFlag': False, 'rightAlign': False, 'name': 'US Dollars', '_info': {'currency_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********'}}, '_info': {'lastUpdated': '2024-04-17T20:24:11Z', 'updatedBy': 'd3****A', 'dateEntered': '2024-04-17T19:32:00Z', 'enteredBy': 'd3****A', 'activities_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//********', 'scheduleentries_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//************', 'documents_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0///************', 'configurations_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//************', 'tasks_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//************', 'notes_href': 'https://api-staging.connectwisedev.com/*****/apis/3.0//************', 'products_href': "https://api-staging.connectwisedev.com/*****/apis/3.0//*****************", 'timeentries_href': "https://api-staging.connectwisedev.com/*****/apis/3.0//*****************", 'expenseEntries_href': "https://api-staging.connectwisedev.com/*****/apis/3.0//*****************"}, 'escalationStartDateUTC': '2024-04-17T19:32:00Z', 'escalationLevel': 0, 'minutesBeforeWaiting': 0, 'respondedSkippedMinutes': 0, 'resplanSkippedMinutes': 0, 'respondedHours': 4.0, 'resplanHours': 24.0, 'resolutionHours': 48.0, 'minutesWaiting': 0}

 Error Handling

If the Return Data is Partially Successful or Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help you locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Update Tickets failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the ConnectWise PSA portal. Refer to the HTTP Status Code Registry for details.

Status Code: 400.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: The value for parameter (Ticket IDs) is invalid.

Error Sample Data

Update Tickets failed.

Status Code: 400.

Message: The value for parameter (Ticket IDs) is invalid.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.