Autotask provides a complete IT business management solution that combines Service Desk, CRM, Projects, Time & 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 > Integrations > Integrations.
  3. From Available Integrations, select Collaboration > Autotask.
  4. 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.
  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.

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