Yes I am trying to figure out a custom ticket rule for the kbox support center. Here is what I am looking for it to do:

 

  • User submits ticket to the kbox support center.
  • Lets say the ticket sits for a few hours, with no one being assigned as owner, or even if the user forgets to add something to the ticket.
  • User responds to the ticket via email or the portal.
  • User receives email.
  • How can I make it so the main support email address also receives this response. Right now, we have no idea they responded to the ticket, unless you are a CC or Owner.
Answer Summary:
You will need to remove this line: C.DESCRIPTION LIKE 'TICKET CREATED%' and in the same place add: HD_TICKET.OWNER_ID = 0 Searching for HD_TICKET.OWNER_ID = 0 limits the rule to only run on tickets that do not have an owner (they are unassigned).
Cancel
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Answers

0

Start with the rule outlined in this KB article:

http://www.kace.com/support/resources/kb/solutiondetail?sol=SOL111222

You will need to remove this line:

C.DESCRIPTION LIKE 'TICKET CREATED%'

and in the same place add:

HD_TICKET.OWNER_ID = 0

Searching for HD_TICKET.OWNER_ID = 0 limits the rule to only run on tickets that do not have an owner (they are unassigned).


Answered 03/31/2014 by: chucksteel
Red Belt

  • chucksteel thanks for the response. We tried replacing that line with the one provided, but that actually broke all emails when a ticket is submitted.

    Here is what our custom rule looks like:

    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://bsbk1/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

    -- other fields

    -- -- example of static distribution list

    'itg@bsbdesign.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

    HD_TICKET.OWNER_ID = 0

    /* this is necessary when using group by functions */

    C.DESCRIPTION LIKE 'TICKET CREATED%'

    HAVING 1=1
    • You need to delete the C.DESCRIPTION LIKE 'TICKET CREATED%" line, it's still there.
      • Hmm not sure what happened there. I removed the line and retested, all working as expected. Thanks!

        Side question, is there a good resource for learning how to write these custom kbox rules?
      • Having a basic working knowledge of MySQL is a good start so I would recommend learning that if you don't already know it. Once you have that knowledge the service desk rules are pretty easy to understand.
Please log in to comment
Answer this question or Comment on this question for clarity