OTRS

Version: 1.2.9

OTRS is a modern, flexible ticket and process management system.

Connect OTRS with LogicHub

  1. Navigate to Automations > Integrations.
  2. Search for OTRS.
  3. Click Details, then the + icon. Enter the required information in the following fields.
    • Label: Enter a connection name.
    • Reference Values: Define variables here to templatize integration connections and actions. For example, you can use https://www.{{hostname}}.com where, hostname is a variable defined in this input. For more information on how to add data, see 'Add Data' Input Type for Integrations.
    • Verify SSL: Select option to verify connecting server's SSL certificate (Default is Verify SSL Certificate).
    • Remote Agent: Run this integration using the LogicHub Remote Agent.
    • Server URL: The Server URL to connect to the OTRS.
    • Server Time Zone (Optional): The Server time zone to connect to the OTRS. Example: -04:00.If provided, This time will be added to created after/before input parameter of ticket get action.
    • Username: The Username to connect to the OTRS.
    • Password: The Password to connect to the OTRS.
  4. After you've entered all the details, click Connect.

Actions for OTRS

Ticket Create

Create a ticket and return the created ticket ID.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input Name

Description

Required

Title

Jinja-templated text containing title for a ticket.

Required

Queue

Jinja-templated text containing queue for a ticket.

Customer User

Column name from the parent table to lookup value for Customer User.

State

Select a value for State to lookup. (Default is NEW).

Priority

Select a value for priority to lookup. (Default is NORMAL).

Type

Jinja-templated text containing type for a ticket.

Optional

Article Subject

Jinja-templated text containing article subject for a ticket.

Optional

Article Body

Jinja-templated text containing article body for a ticket.

Optional

Attachment Details

Jinja-templated text containing File names and File IDs in JSON format (file_name key is optional). Example: [{"file_name": "{{file_name_1}"}, "file_id": "{{file_id_1}}"}, {"file_id": "{{file_id_2}}"}].

Optional

Dynamic Field

Jinja-templated text containing the Dynamic Field parameter of Ticket. Example: {{otrs_dynamic_field}}

Optional

Number of retries required

Number of retries required to create a ticket.

Optional

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Ticket ID.
{
  "ticket_id": "606028",
  "error": null,
  "has_error": false
}

Ticket Update

Update a ticket and return the updated ticket ID.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input Name

Description

Required

Ticket ID

Jinja-templated text containing comma-separated Ticket ID.

Required

Title

Jinja-templated text containing title for a ticket.

Required

Queue

Jinja-templated text containing queue for a ticket.

Required

State

Select a value for State to lookup. (Default is NEW).

Optional

Priority

Select a value for priority to lookup. (Default is NORMAL).

Optional

Type

Jinja-templated text containing type for a ticket.

Optional

Article Subject

Jinja-templated text containing article subject for a ticket.

Optional

Article Body

Jinja-templated text containing article body for a ticket.

Optional

Attachment Details

Jinja-templated text containing File names and File IDs in JSON format (file_name key is optional). Example: [{"file_name": "{{file_name_1}"}, "file_id": "{{file_id_1}}"}, {"file_id": "{{file_id_2}}"}].

Optional

Dynamic Field

Jinja-templated text containing the Dynamic Field parameter of Ticket. Example: {{otrs_dynamic_field}}

Optional

Number of retries required

Number of retries required to update a ticket.

Optional

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Ticket ID.
{
  "ticket_id": "606028",
  "error": null,
  "has_error": false
}

Ticket Get

Return ticket entries by ID.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input Name

Description

Required

Ticket ID

Jinja-templated text containing Ticket ID.

Include Articals

Select option to request OTRS to include all Articles (Default is 'True').

Optional

Include Attachments

Select option to request OTRS to include all Attachments (Default is 'True').

Optional

HTML Body As Attachment

Select option to request OTRS for 'HTML body as attachment' , If enabled the HTML body version of each article is added to the attachments (Default is 'True').

Optional

Download Attachments

Automatically download attachments.Doing so may significantly increase processing time (Default is 'True' to get attachment).

Optional

Article Sender Type

Jinja-templated text containing article sender type. Example: {{article_sender_type_column}}.

Optional

Article Order

Jinja-templated text containing order of the articles. Example: {{article_order_column}}.

Optional

Article Limit

Maximum numbers of the articles to return per row.

Optional

Number of retries required

Number of retries required to get a ticket.

Optional

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: Ticket Details.
{
  "result": {
    "py/object": "pyotrs.lib.Ticket",
    "fields": {
      "Age": 25586,
      "PriorityID": "1",
      "ServiceID": "",
      "Type": "100 - ****",
      "Responsible": "[email protected]",
      "StateID": "4",
      "ResponsibleID": "1",
      "ChangeBy": "402",
      "EscalationTime": "0",
      "OwnerID": "402",
      "Changed": "2021-01-04 07:23:08",
      "TimeUnit": 0,
      "RealTillTimeNotUsed": "0",
      "GroupID": "26",
      "Owner": "abc_abc",
      "CustomerID": "CID",
      "TypeID": "12",
      "Created": "2021-01-04 04:19:47",
      "Priority": "1 very low",
      "UntilTime": 0,
      "EscalationUpdateTime": "0",
      "Queue": "Q_CUOL_Srbvbte",
      "QueueID": "21",
      "State": "open",
      "Title": "title",
      "CreateBy": "402",
      "TicketID": "605361",
      "StateType": "open",
      "UnlockTimeout": "1609759169",
      "EscalationResponseTime": "0",
      "EscalationSolutionTime": "0",
      "LockID": "1",
      "TicketNumber": "7605358",
      "ArchiveFlag": "n",
      "Lock": "unlock",
      "SLAID": "",
      "CustomerUserID": "[email protected]"
    },
    "tid": 605361,
    "articles": [],
    "dynamic_fields": [
      {
        "py/object": "pyotrs.lib.DynamicField",
        "name": "01a",
        "value": null,
        "search_patterns": [
          null
        ],
        "search_operator": "Equals"
      },
      {
        "py/object": "pyotrs.lib.DynamicField",
        "name": "02caa",
        "value": null,
        "search_patterns": [
          null
        ],
        "search_operator": "Equals"
      },
      {
        "py/object": "pyotrs.lib.DynamicField",
        "name": "0ctos",
        "value": null,
        "search_patterns": [
          null
        ],
        "search_operator": "Equals"
      },
      {
        "py/object": "pyotrs.lib.DynamicField",
        "name": "0on",
        "value": null,
        "search_patterns": [
          null
        ],
        "search_operator": "Equals"
      },
      {
        "py/object": "pyotrs.lib.DynamicField",
        "name": "uiid",
        "value": null,
        "search_patterns": [
          null
        ],
        "search_operator": "Equals"
      },
      {
        "py/object": "pyotrs.lib.DynamicField",
        "name": "hgjg",
        "value": null,
        "search_patterns": [
          null
        ],
        "search_operator": "Equals"
      },
      {
        "py/object": "pyotrs.lib.DynamicField",
        "name": "hghjg",
        "value": null,
        "search_patterns": [
          null
        ],
        "search_operator": "Equals"
      },
      {
        "py/object": "pyotrs.lib.DynamicField",
        "name": "786hgg",
        "value": null,
        "search_patterns": [
          null
        ],
        "search_operator": "Equals"
      },
      {
        "py/object": "pyotrs.lib.DynamicField",
        "name": "hggjh",
        "value": null,
        "search_patterns": [
          null
        ],
        "search_operator": "Equals"
      },
      {
        "py/object": "pyotrs.lib.DynamicField",
        "name": "hggvbhj",
        "value": null,
        "search_patterns": [
          null
        ],
        "search_operator": "Equals"
      },
      {
        "py/object": "pyotrs.lib.DynamicField",
        "name": "ghjg",
        "value": null,
        "search_patterns": [
          null
        ],
        "search_operator": "Equals"
      },
      {
        "py/object": "pyotrs.lib.DynamicField",
        "name": "fyuffj",
        "value": null,
        "search_patterns": [
          null
        ],
        "search_operator": "Equals"
      },
      {
        "py/object": "pyotrs.lib.DynamicField",
        "name": "gfgghfh",
        "value": null,
        "search_patterns": [
          null
        ],
        "search_operator": "Equals"
      },
      {
        "py/object": "pyotrs.lib.DynamicField",
        "name": "dfhgfcgjvj",
        "value": null,
        "search_patterns": [
          null
        ],
        "search_operator": "Equals"
      },
      {
        "py/object": "pyotrs.lib.DynamicField",
        "name": "dfh",
        "value": null,
        "search_patterns": [
          null
        ],
        "search_operator": "Equals"
      }
    ]
  },
  "error": null,
  "has_error": false
}

Ticket Search

Return a list of ticket ids.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input Name

Description

Required

Title

Jinja-templated text containing title for ticket.

Optional

Queue

Jinja-templated text containing comma separated list of queues for tickets to search.

Optional

Queue ID

Jinja-templated text containing comma separated list of queue ids for tickets to search.

Optional

Type

JJinja-templated text containing comma separated list of types for tickets to search.

Optional

Type ID

Jinja-templated text containing comma separated list of type ids for tickets to search.

Optional

State

Jinja-templated text containing comma separated list of states for tickets to search.

Optional

State ID

Jinja-templated text containing comma separated list of state ids for tickets to search.

Optional

State Type

Jinja-templated text containing comma separated list of state types for tickets to search.

Optional

State Type ID

Jinja-templated text containing comma separated list of state type ids for tickets to search.

Optional

Created After

Jinja-templated text containing datetime to search tickets created after specified time. Example: 2016-01-09 00:00:01

Optional

Created Before

Jinja-templated text containing datetime to search tickets created before specified time. Example: 2021-02-08 00:00:01

Optional

Created Within Past X Minutes

Number of minutes to search tickets created less than X minutes ago. Example: 120

Optional

Number of retries required

Number of retries required to search tickets.

Optional

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: List Of Ticket IDs.
{
  "error": null,
  "has_error": false,
  "result": "123456"
}

Release Notes

  • v1.2.9 - Fixed timeout bug.
  • v1.2.8 - Bug Fix - Resolved the default value error in dynamic field.
  • v1.2.7 - Added dynamic field parameter in Ticket Create and Ticket Update actions.

Did this page help you?