Autotask provides a complete IT business management solution that combines Service Desk, CRM, Projects, Time and Expense, Billing, and more.

This collaboration integration supports the webhook-based inbound calls with different types of service management requests. For example, you can select one or multiple Entity Types from Incident, Service Request, Problem, and Change.

OpsRamp configuration

Step 1: Install the integration

  1. From All Clients, select a client.
  2. Go to Setup > Account.
  3. Select the Integrations and Apps tab.
  4. The Installed Integrations page, where all the installed applications are displayed. Note: If there are no installed applications, it will navigate to the ADD APP page.
  5. Click + ADD on the Installed Integrations page. The Available Integrations and Apps page displays all the available applications along with the newly created application with the version.
    Note: You can even search for the application using the search option available. Also you can use the All Categories option to search.
  6. Click ADD in the Autotask application and click Install.

Step 2: Configure the integration

Configure the following: - Inbound - Outbound - Monitoring of Integration - Audit Logs

Inbound (from Autotask to OpsRamp)

  1. Configure Authentication to call Autotask APIs.
    1. Select authentication type as Webhooks.
    2. Select Entity Type and click Save.
      Copy the Tenant Id and Token. These values are used for configuring Webhook in Autotask.
      Autotask Integration
  2. Configure Map Attributes to map Autotask attributes with OpsRamp entity attributes.
    1. Select OpsRamp entity from the drop-down menu.
    2. Click Map against the respective attribute, enter the mapping details, and click Save.
  3. Configure ITSM Properties to define properties required to call Autotask API using events. Enter the values for Account Id, Queue Id, NoteType, and click Save.

Outbound (From OpsRamp to Autotask)

  1. In Integration Basic Configuration, configure basic notification details to trigger integration events.

    1. Notification Type: SOAP API
    2. Base URI: https://{subdomain}.autotask.net/atservices/1.5/atws.asmx
    3. Authentication Type: BASIC
    4. Enter username, password, and click Save.
  2. In Map Attributes, map OpsRamp entity attributes with Autotask attributes:

    1. Click Map against the attribute. The Create Integration Mapping window is displayed.
    2. Enter the mapping details and click Save.
  3. In Integration Events, add the following details:

    1. Click Add.

    2. Enter a name for the integration event.
      An action performed on an entity is defined as an event. When an event is triggered, notifications are sent to the respective users.

    3. Select Service Desk from drop-down, select entity type, and select the action.

    4. Select Parent Configuration to assign the configured basic integration details.

    5. Enter URL and select the web method from the drop-down.

    6. Enter headers name and value, payload, and click Save.

      • To add more tokens to the payload, click the token in the Place Holders list.
      • To parse properties returned in the response with OpsRamp, select OpsRamp property from the drop-down and enter the parsing value.
      • A custom field that is already configured as a response payload attribute for a given integration is not available for configuration in any other integrations. You need to remove the existing mapping from the integration to make the custom field available to map on the response payload of any other integration.
      • Response: Select a response and enter a value. The event is created, only if you provide the response properties.
        Integration response mapping configuration:
        Response mapping configuration is mainly based on the response payload that is received in third party payload; below are a few examples for response mapping configuration -
      1. sample response payload to mapping the id in response mapping:
      {
      "id":"INC0001",
      "type":"incident",
      "tool":"servicedesk"
      }
      

      external ticket id = $id
      We need to append $ to the value

      1. sample response payload to mapping the id in response mapping:
      {
      "result":{
      "id":"INC0001",
      "type":"incident",
      "tool":"servicedesk"
          }
      }
      

      external ticket id = $result.id

      1. Sample response payload to mapping the id in response mapping
      {
             "result":[
                {
                   "ticketDetails":{
                  "id":"INC0001",
                  "type":"incident",
                  "tool":"servicedesk"
            },
               "Description":{
                  "display_value":"testing description",
                  "value":"validating"
               }
            }
         ]
      }
      

      external ticket id = $result[0].ticketDetails.id

      1. sample response payload to mapping the Incident Number in response mapping
          {
            "result": {
            "Incident Number": "INC0001",
            "type": "Incident"
         }
      }
      

      external ticket id = $result[‘Incident Number’]

  4. Verify Integration: Enter sample values to validate if the integration is successful.

    • Select an event from the drop-down, enter the XML payload, and click Verify. A 200-OK success response is generated if the integration is successful.
  5. Integration Failures: In case of a failure in integration, a message is sent to the respective user.

    • Select notification type Email, enter the email address, and click Save.

Monitoring of Integration

Assign a template from the Monitoring of Integration tab, if you want to monitor integration failures. See monitoring integration failures for more information.

Audit Logs

View logs from the Audit Logs tab. You can view if the event was successful or not.

Integration event payloads

The following table shows the fields and values used to create tickets.

ParametersValues
Endpoint URLhttps://{subdomain}.autotask.net/atservices/1.5/atws.asmx
Headers
  • Accept: application/json
  • Content-Type: application/xml
AuthenticationBASIC
UsernameAutotask Username
PasswordAutotask Password

Example Request:

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
     <soap:Body>
     <create xmlns="http://autotask.net/ATWS/v1_5/">
     <Entities>
     <Entity xsi:type="Ticket">
     <id>0</id>
     <AccountID xsi:type="xsd:string">11778</AccountID>
     <Priority xsi:type="xsd:string">3</Priority>
     <QueueID xsi:type="xsd:string">29683484</QueueID>
     <Status xsi:type="xsd:string">1</Status>
     <DueDateTime xsi:type="xsd:string">2015-04-29T13:38:35.0000000-04:00</DueDateTime>
     <Title xsi:type="xsd:string">Test ticket ignore</Title>
     <Description xsi:type="xsd:string">Test description</Description>
     </Entity>
     </Entities>
     </create>
     </soap:Body>
    </soap:Envelope>

Example Response:

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope>
     <soap:Body>
     <createResponse>
     <createResult>
     <ReturnCode>1</ReturnCode>
     <EntityResults>
     <Entity xsi:type="Ticket">
     <id>9696</id>
     <UserDefinedFields>
     <UserDefinedField>
     <Name>Assign to NOC</Name>
     <Value>1</Value>
     <AccountID xsi:type="xsd:int">29123564</AccountID>
     <AllocationCodeID xsi:type="xsd:int">29123405</AllocationCodeID>
     <CreateDate xsi:type="xsd:dateTime">2015-04-24T07:08:51.943</CreateDate>
     <CreatorResourceID xsi:type="xsd:int">29123885</CreatorResourceID>
     <Description xsi:type="xsd:string">Test description</Description>
     <DueDateTime xsi:type="xsd:dateTime">2015-04-29T13:38:35</DueDateTime>
     <LastActivityDate xsi:type="xsd:dateTime">2015-04-24T07:08:51.99</LastActivityDate>
     <Priority xsi:type="xsd:int">3</Priority>
     <QueueID xsi:type="xsd:int">29123939</QueueID>
     <Status xsi:type="xsd:int">1</Status>
     <TicketNumber xsi:type="xsd:string">T20112324.0010</TicketNumber>
     <Title xsi:type="xsd:string">Test ticket ignore</Title>
     <Resolution xsi:type="xsd:string" />
     <PurchaseOrderNumber xsi:type="xsd:string" />
     <TicketType xsi:type="xsd:int">1</TicketType>
     <ChangeApprovalType xsi:type="xsd:int">1</ChangeApprovalType>
     <ChangeInfoField1 xsi:type="xsd:string" />
     <ChangeInfoField2 xsi:type="xsd:string" />
     <ChangeInfoField3 xsi:type="xsd:string" />
     <ChangeInfoField4 xsi:type="xsd:string" />
     <ChangeInfoField5 xsi:type="xsd:string" />
     </Entity>
     </EntityResults>
     <EntityResultType>ticket</EntityResultType>
     <Errors />
     <EntityReturnInfoResults>
     <EntityReturnInfo>
     <EntityId>9696</EntityId>
     <DatabaseAction>Created</DatabaseAction>
     <DuplicateStatus>
     <Found>false</Found>
     <MatchInfo />
     <Ignored>false</Ignored>
     </DuplicateStatus>
     <Message />
     </EntityReturnInfo>
     </EntityReturnInfoResults>
     </createResult>
     </createResponse>
     </soap:Body>
    </soap:Envelope>

Use tag: $Body.createResponse.createResult.EntityResults.Entity.TicketNumber to read the Autotask ticket ID and save it to the external entity ID of the OpsRamp incident.

Error Response:

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope>
     <soap:Body>
     <createResponse>
     <createResult>
     <ReturnCode>-1</ReturnCode>
     <EntityResults />
     <EntityResultType>ticket</EntityResultType>
     <Errors>
     <ATWSError>
     <Message>Missing Required Field: DueDateTime. ; on record number [1].</Message>
     </ATWSError>
     </Errors>
     <EntityReturnInfoResults />
     </createResult>
     </createResponse>
     </soap:Body>
    </soap:Envelope>

Autotask configuration

Configuration involves setting the OpsRamp incident Webhook URL.

  1. Log into Autotask.
  2. Go to ADMIN > Admin Categories > Extensions & Integrations.
  3. From the Extensions & Integrations tab, click OTHER EXTENSIONS & TOOLS.
  4. Click the General tab and enter:
    • Name for the callout.
    • URL: https://<api-url>/integrations/autotask/{clientId}/incidents/{token}
    • Tenant Id and Token: Provided in the OpsRamp configuration.
    • HTTP method: GET
  5. Click Save.
Autotask Configuration