serviceup.png

InBox CustomModuleGenericAgent

Version 6.18.8

Create Date 23/05/2019

Resources

This module allows the execution of custom modules for the generic agent.

Prerequisite

Framework

The following OTRS Framework versions are supported.:

  • [6.0.x]

Modules

The following modules are required:

  • InBox Core 6.11.7 or superior

  • InBox Library 6.3.0 or superior

Operational System

The following operating systems are required:

  • [None]

Outsourcing Software

The following outsourcing software is required:

  • FAQ 6.x.x

  • ITSMIncidentProblemManagement 6.x.x

Install

bin/otrs.Console.pl Admin::Package::Install /path/to/InBox\ CustomModuleGenericAgent-6.14.8.opm

Settings

This module offers specific settings for each custom module.

Use

Generic Agent

Custom module FAQServiceSetDynamicField

This module changes the value of a dynamic field according to the category of FAQs associated with the service, defined in the generic agent parameters. that is, if there is any FAQ associated with the ticket service and within the entered category, the value of the dynamic field will change.

To do this, go to the Administrative menu and go to the option "Generic Agent".

Give the agent a name and make the settings as desired to trigger the event.

enter image description here

In the example, we use event based execution: TicketStateUpdate

Run

Custom module:

• Required Parameters:

Module: Kernel::System::GenericAgent::FAQService::FAQServiceSetDynamicField

FieldName: Dynamic field name to receive new value

FieldValue: New dynamic field value

Categories: Search categories for FAQs associated with the service (you can add more than one category, separated by semicolons (😉 )

Obs:

For dynamic fields of type Checbox, the FieldValue parameter must be 0 or 1.

Module not compatible with Date fields.

enter image description here

Save the changes and implement the settings.

Now, whenever we change the state of the ticket and there are FAQs associated with the service in the entered category, the value of the dynamic field will change.

Custom Module ValuesCountApprovedAndDisapproved

This module counts the number of times a given value has been added to a dynamic field.

To do this, go to the Administrative menu and go to the option "Generic Agent".

Give the agent a name and make the settings as desired to trigger the event.

enter image description here

Run

Custom Module:

• Required Parameters:

Module: Kernel::System::GenericAgent::DFValuesCount::ValuesCountApprovedAndDisapproved

FieldNameApprovedAndDisapproved: Name of the suspended dynamic field that will have keys to be counted as approved or disapproved.

FieldNameToCountApproved: Dynamic text field name that counts the amount of approved votes (number of times key in 'ApprovedKey' field was selected)

FieldNameToCountDisapproved: Dynamic text field name that counts the value of disapproved votes (number of times key in 'DisapprovedKey' field was selected)

ApprovedKey: Dynamic field key pointed to 'FieldNameApprovedAndDisapproved' field to be considered Approved.

DisapprovedKey: Dynamic field key pointed to 'FieldNameApprovedAndDisapproved' field to be considered as disapproved.

Obs:

The dynamic field value pointed to in the 'FieldNameApprovedAndDisapproved' field is also cleared for each generic agent interaction.

enter image description here

Save the changes and implement the settings.

Now, whenever the pointed event occurs, depending on the key chosen in the 'FieldNameApprovedAndDisapproved' field, the 'FieldNameToCountApproved' or 'FieldNameToCountDisapproved' fields will be incremented.

In the example below, choosing 'Yes' (that in the generic agent would be the field ApprovedKey) in the field 'Yes or No' (in the generic agent would be the field FieldNameApprovedAndDisapproved) and send:

enter image description here

The 'Approved' field (which in the generic agent would be the FieldNameToCountApproved field) is incremented:

enter image description here

Custom Module GetDateEvent

This module receive the date and time of the queue change and inserts it into a dynamic field defined in the generic agent parameters. That is, if there is any change in the ticket queue, the dynamic field value will receive the date and time of the change.

To do this, go to the Administrative menu and go to the option "Generic Agent".

Give the agent a name and make the settings as desired to trigger the event.

Image generic agent

Run

• Required Parameters:

Module: Kernel::System::GenericAgent::GetDateEvent::GetDateEvent

Fieldname: Dynamic field name that receives the ticket queue change date and time.

(Image generic agent)

Obs.:

Dynamic field must be Date/Time.

Image dymanic field

Custom module DynamicFieldFromFAQ

This module inserts in the ticket information the title and solution of the FAQ that is associated with it.

To do this, go to the Administrative menu and go to the option "Generic Agent".

Give the agent a name and make the settings as desired to trigger the event.

Image agent generic

Run

• Required Parameters:

Module: Kernel::System::GenericAgent::DynamicFieldFromFAQ::DynamicFieldFromFAQ

FAQField_Title: Name of the dynamic field that receives the title of the associated FAQ.

FAQField_Field1: Name of the dynamic field that receives the associated FAQ solution.

Image the dynamic fields

Note: There are 5 fields in the FAQ, which bring different information:

Field1: Brings the tuning information.

Field2: Brings back the Problem information.

Field3: Brings up the Solution information.

Field6: Brings the Comment information.

VoteResult: Brings the Note information.

Associate an FAQ with the ticket

FAQ association field image

Select an FAQ

Screenshot of a FAQ FAQ

Custom Module PreviousTicketValue

This module inserts the owner and responsible information of the ticket in the dynamic fields.

Run

Important:

The Ticket :: ResponsibleAutoSet setting must be disabled

• Mandatory parameters:

Module: Kernel::System::GenericAgent::PreviousTicketValue::PreviousTicketValue;

DynamicField: Name of the dynamic field that the previous owner receives.

DynamicField2: Name of the dynamic field that receives the email from the previous owner.

Event: Name of the event that will be triggered for execution.

To do this, access the Administrative menu and go to the "Generic Agent" and "Dynamic Field' option.

Create dynamic fields for each agent and enable them.

Owner dynamic field:

Dynamic field owner

Dynamic email field:

Dynamic field email

Dynamic event field:

Dynamic Field event

Enabling the fields:

enable dinamic field

Configure the generic agent with the TicketOwnerUpdate event.

Agent generic owner previous

And add Module and the keys with the names of the dynamic fields that were created.

Configuration of the fields for previous owner

With these settings, whenever the change of owner event is triggered, the dynamic fields referring to it must present the name and email of the previous owner.

Custom Module TicketInitialValueGet

This module inserts the initial information of the ticket in a dynamic field.

Run

• Mandatory parameters:

Módulo: Kernel::System::GenericAgent::TicketInitialValueGet::TicketInitialValueGet;

FieldName: Name of the dynamic field that receives the defined value (must be a text field).

TicketGetValue: Name of the parameter that the field will save. Possible values:

TicketNumber

Title

TicketID

State

StateID

StateType

Priority

PriorityID

Lock

LockID

Queue

QueueID

CustomerID

CustomerUserID

Owner

OwnerID

Type

TypeID

SLA

SLAID

Service

ServiceID

Responsible

ResponsibleID

Age

Created

CreateBy

Changed

DynamicField_X

enter image description here

To do this, access the Administrative menu and go to the "Generic Attendant" option.

To map the initial values, this attendant must have a 'TicketCreate' event.

enter image description here

CustomModule UpdateCreateTime

This module changes the creation data of the so-called according to the data reported in the dynamic data / time field

Run

• Mandatory parameters:

Module: Kernel::System::GenericAgent::UpdateCreateTime::UpdateCreateTime

FieldName: Name of the dynamic field that receives new ticket creation data

Custom module CustomerEmailUpdate

This module checks if a new email was inserted when creating the ticket, and updates the email of the logged-in customer user.

Run

• Mandatory parameters:

Module: Kernel::System::GenericAgent::CustomerEmailUpdate::CustomerEmailUpdate

Create the dynamic field type text:

Dynamic Field

Insert the dynamic field on the customer user ticket creation screen:

Ticket::Frontend::CustomerTicketMessage###DynamicField

Insert dynamic field on ticket create

Create the generic agent with the dynamic field update event created:

Create generic agent

Insert the execution module by passing the key and value

Insert execute module

With these settings, whenever a new email is inserted, it will be updated in the customer user registration.

Custom module TicketPriorValue

This module saves or previous value of Queue and Priority in a dynamic field, always based on the event that is executed.

Run

To execute the generic attendant, it must have the same event as the "Event" parameter below, and also the configured dynamic field must exist and be of the text type.

• Mandatory parameters:

Module: Kernel::System::GenericAgent::TicketPriorValue::TicketPriorValue

DynamicField: Name of the dynamic field that will receive the previous value of the Queue or Priority

Parameter: Priority or Queue

Event: PriorityUpdate or Move

Custom Module UpdateChildField

This module updates the dynamic field of associated tickets as a child and links the value of the dynamic field when creating a child ticket.

Run

To execute the generic agent, the configured dynamic field must exist and be of the text type.

• Mandatory parameters:

Module:

Kernel::System::GenericAgent::UpdateChildField::UpdateChildField

DynamicField: Name of the text-type dynamic field that will receive the value to be updated.

In the generic agent, select the dynamic field update event created to receive the value:

Generic Agent

Add in the system configuration the dynamic field in which the association is linked as a child:

Example:

DynamicField

When inserting a new value in the dynamic field, the associated calls as children, which have the same field, will be updated:

Example:

Insert value on dynamic field

Updated value in the dynamic field of the so-called child:

Change value field child

To create a child ticket that inherits the dynamic field from the parent ticket, it is necessary to add the dynamic field in the system settings:

Ticket::Frontend::AgentTicketPhone###DynamicField

Configuration system

When dividing a ticket it will inherit the value of the configured dynamic field:

Split ticket

Create ticket child

Custom Module ClearValueField

This module deletes the values ​​of the ITSM Matrix dynamic field.

Run

To execute the generic agent, the configured dynamic field must exist and be of the suspended type.

• Mandatory parameters:

Module:

Kernel::System::GenericAgent::ClearValueField::ClearValueField

DynamicField: Name of the dynamic field type suspended to execute the event.

In the generic agent, select the update event of the suspended dynamic field:

Generic Agent event

In selecting tickets, inform the dynamic field and the value that will be triggered to execute the event:

Generic Agent event

When executing a custom module, inform the Module and the Matrix dynamic field that will be deleted:

Generic Agent event

Values ​​Inserted in the Matrix:

Matrix value

When the value of the configured suspended dynamic field is activated, the table data will be deleted:

Clear Field on Matrix

When consulting the Matrix again, the fields will be cleared:

Clear Field on Matrix

TicketOpenByAgentOrCustomer custom module

This module saves in a dynamic field if the ticket was opened via a customer or attendant.

Run

To create the generic attendant add the event as 'TicketCreate':

enter image description here

Add custom parameters:

  • Module:

Kernel::System::GenericAgent::TicketOpenByAgentOrCustomer::TicketOpenByAgentOrCustomer

  • DynamicField: Name of the dynamic text field that will receive the value 'Customer' or 'Attendant'

enter image description here

After that, when the generic attendant is executed, the dynamic field will indicate that the ticket was opened via attendant or client:

enter image description here

SetDFByStateAndProcess custom module

This module saves in a dynamic field date/time the time that the ticket has passed to a specific state

Run

To create the generic attendant add the event as 'TicketStateUpdate':

enter image description here

Add custom parameters:

  • Module:

Kernel::System::GenericAgent::SetDFByStateAndProcess::SetDFByStateAndProcess

  • DynamicField: Name of the dynamic text field that will receive the value. Must be a field of the object Tciket type date/time

  • StateOld: State the call was in

enter image description here

SLAStateOfSuspend custom module

This module adds in a dynamic field text if the SLA is counting or is paused according to the states configured in Znuny's EscalationSuspend module

Run

To create the generic attendant add the event as 'TicketStateUpdate':

enter image description here

Add custom parameters:

  • Module: Kernel::System::GenericAgent::SLAStateOfSuspend::SLAStateOfSuspend

  • DynamicField: Name of the dynamic field of text that will receive the state of SLA(SLA Paused or SLA Counting).

ClearDynamicFieldValue custom module

This module clears the value defined in the ticket of a dynamic field.

Run

Add custom parameters:

  • Module: Kernel::System::GenericAgent::ClearDynamicFieldValue::ClearDynamicFieldValue

  • DynamicField: The name of the dynamic field that will have its value removed from the ticket

enter image description here

ResolvedChildTicket custom module

This module changes a dynamic field of a parent ticket by changing the state of the child ticket.

Run

To create the generic attendant add the event as 'TicketStateUpdate':

config event

Select the state that will be used to change the dynamic field

config state

Add custom parameters:

  • Module: Kernel::System::GenericAgent::ResolvedChildTicket::ResolvedChildTicket

  • DynamicField: The name of the dynamic field that will be changed

  • DynamicFieldValue: The value of the dynamic field that will be changed

  • DynamicFieldFather: The name of the dynamic field that holds the TicketNumber of the parent ticket

config param keys

TicketTitleUpdate

This custom module allows you to change the title of the ticket. Accepts TAGS.

Run

No need for any specific event setup

Add custom parameters:

  • Module: Kernel::System::GenericAgent::TicketTitleUpdate::TicketTitleUpdate

  • Key Parameter 1: NewTitle

  • Parameter Value 1: New ticket title <OTRS_TICKET_DynamicField_*_Value>

TicketTitleUpdate