How do you set up custom ticket rules to send an email to a different technician?
Hello,
We are setting up K1000 service desk and we're running into a bit of an issue. We have 8 schools in our district. Every school will get their own service desk queue. We have custom categories set up and it can email the technician assigned to that queue.
Some of those custom categories require a technician other then the assigned tech to that building, so we want to set up custom ticket rules. We've set up the rules and it applies to the ticket and assigns it to the correct technician, but it doesn't send an email notifying him there is a ticket in his queue unless he looks. Email is working for tickets that don't have the custom rule applied,
Is there any way to set the custom rule to email the intended technician?
Thanks,
Michael
1 Comment
[ + ] Show comment
Answers (1)
Please log in to answer
Posted by:
Druis
10 years ago
We had this issue too. We got the answer from one of the members of this forum.
Step 1. To create the rule we set the order to 150
Step 2. In the Select SQL field:
SELECT
-- ticket fields
HD_TICKET.ID, -- $id
HD_TICKET.ID AS TICKNUM, -- $ticknum
HD_TICKET.TITLE, -- $title
DATE_FORMAT(HD_TICKET.CREATED,'%b %d %Y %I:%i:%s %p') AS CREATED, -- $created
DATE_FORMAT(HD_TICKET.MODIFIED,'%b %d %Y %I:%i:%s %p') AS MODIFIED, -- $modified
-- change fields
C.COMMENT, -- $comment
C.DESCRIPTION, -- $description
GROUP_CONCAT(CONCAT('----- Change by ', UPDATER.EMAIL,' at ',H.TIMESTAMP,' -----\n',
H.DESCRIPTION,'\n',H.COMMENT,'\n\nPlease see your ticket at http://K1000/userui/ticket.php?ID=',H.HD_TICKET_ID,'\n')
ORDER BY H.ID DESC SEPARATOR '\n') HISTORY, -- $history
-- about the updater
UPDATER.USER_NAME AS UPDATER_UNAME, -- $updater_uname
UPDATER.FULL_NAME AS UPDATER_FNAME, -- $updater_fname
UPDATER.EMAIL AS UPDATER_EMAIL, -- $updater_email
IF(UPDATER.FULL_NAME='',UPDATER.USER_NAME,UPDATER.FULL_NAME) AS UPDATER_CONDITIONAL, -- $updater_conditional
-- about the owner
OWNER.USER_NAME AS OWNER_UNAME, -- $owner_uname
OWNER.FULL_NAME AS OWNER_FNAME, -- $owner_fname
OWNER.EMAIL AS OWNER_EMAIL, -- $owner_email
IFNULL(OWNER.USER_NAME,'Unassigned') OWNER_USER, -- $owner_user
-- about the submitter
SUBMITTER.USER_NAME AS SUBMITTER_UNAME, -- $submitter_uname
SUBMITTER.FULL_NAME AS SUBMITTER_FNAME, -- $submitter_fname
SUBMITTER.EMAIL AS SUBMITTER_EMAIL, -- $submitter_email
-- about priority
P.NAME AS PRIORITY, -- $priority
-- about status
S.NAME AS STATUS, -- $status
-- about impact
I.NAME AS IMPACT, -- $impact
-- about category
CAT.NAME AS CATEGORY, -- $category
-- about contact
CUSTOM_FIELD_VALUE4 AS CON_NAME, -- $con_name
CUSTOM_FIELD_VALUE5 AS CON_PHONE, -- $con_phone
CUSTOM_FIELD_VALUE1 AS CON_DEP, -- $con_dep
CUSTOM_FIELD_VALUE3 AS C_TYPE, -- $c_type
-- other fields
-- -- example of static distribution list
'whoever@domain.com' AS NEWTICKETEMAIL -- $newticketemail
FROM HD_TICKET
/* latest change ***/ JOIN HD_TICKET_CHANGE C ON C.HD_TICKET_ID = HD_TICKET.ID
AND C.ID=<CHANGE_ID>
/* complete history*/ JOIN HD_TICKET_CHANGE H ON H.HD_TICKET_ID = HD_TICKET.ID
/* priority ********/ JOIN HD_PRIORITY P ON P.ID=HD_PRIORITY_ID
/* status **********/ JOIN HD_STATUS S ON S.ID=HD_STATUS_ID
/* impact-severity */ JOIN HD_IMPACT I ON I.ID=HD_IMPACT_ID
/* category ********/ JOIN HD_CATEGORY CAT ON CAT.ID=HD_CATEGORY_ID
/* owner ***********/ LEFT JOIN USER OWNER ON OWNER.ID = HD_TICKET.OWNER_ID
/* submitter *******/ LEFT JOIN USER SUBMITTER ON SUBMITTER.ID = HD_TICKET.SUBMITTER_ID
/* updater *********/ LEFT JOIN USER UPDATER ON UPDATER.ID = C.USER_ID
WHERE
C.DESCRIPTION LIKE 'TICKET CREATED%'
/* this is necessary when using group by functions */
GROUP BY HD_TICKET.ID
HAVING 1=1
Step 3. Check the box for 'Email each recipient in query results'
Note: This is where you create the email for your engineer/technician.
Subject: Emails subject. We add $ticknum and $title to send the ticket id and call summary in the subject
Column containing email addresses: OWNER_EMAIL
Message: The context of the email to your technician. Some fields we added to the message $con_name, $con_phone, $category, $priority, $status
Step 4. Set the schedule frequency to 'on Ticket Save'
Please note: we had to create this rule for each queue.
For example, if you have...
select U1.EMAIL as OWNER_EMAIL
from USER U1
then you would put OWNER_EMAIL in the textbox. - h2opolo25 10 years ago