Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Deep Dive Into Automation: Scaling Jira Service Desk

We believe in a simple motto - automate everything that can be automated and streamline everything that can't.

Come with us on a journey to demystify automation processes in Jira Service Desk that will help you get more done, faster. From the automatic assigning of incidents to the correct team member, to resolving tickets once the linked Jira Software ticket is resolved -- learn how you can use the power of automation within Jira Service Desk to do things like reduce mean time to resolution, increase customer satisfaction, and free up your team from repetitive manual tasks.

  • Login to see the comments

Deep Dive Into Automation: Scaling Jira Service Desk

  1. 1. Deep Dive into Automation:
 Scaling Jira Service Desk PATRICK TEEN | DEVELOPER | ATLASSIAN AMOGH SARDA | PRODUCT MANAGER | ATLASSIAN
  2. 2. Think of a time-consuming task you’ve got to do repeatedly. SCENARIO
  3. 3. Fineee, I guess I’ll do it. YOU
  4. 4. I’m feeling efficient lazy. Let’s see if I can write a script to do it. YOU
  5. 5. 5 stages of grief scripting
  6. 6. 1. Belief You start this journey with so much hope and so many aspirations.
  7. 7. 2. Application It’s action time. You’ve started scripting in NodeJS. You’re enthusiastic.
  8. 8. 3. Denial Okay, shoot. This is taking longer than you thought.
  9. 9. 4. Regret Day #671. Just finished. No word from home.
  10. 10. 5. Acceptance At least it looks cool, right? ¯_(ツ)_/¯ … Right?
  11. 11. What if I told you there was another way? BUT WAIT
  12. 12. Get
  13. 13. Ready
  14. 14. For
  15. 15. The
  16. 16. Craziest
  17. 17. Slide
  18. 18. in
  19. 19. Summit 2017
  20. 20. in Jira Service Desk Automation W ow ! Amazing!!!
  21. 21. 50% Of all projects actively use automation
  22. 22. If Some conditions are met How does it work? Then Do something When Something happens
  23. 23. Filter JQL on issue JQL on linked issue Comment contains Comment visibility User type How does it work? Action Transition issue Add comment Alert user Edit issue Webhook Trigger Issue created Issue status changed Comment added/edited SLA time remaining Linked issue transitioned
  24. 24. If It’s transitioned to “Done” How does it work? Then Order a glass of wine When An issue is transitioned
  25. 25. Automation
  26. 26. Automation
  27. 27. Automation
  28. 28. Agenda Jira Software ❤ Jira Service Desk Internal IT Teams Webhooks External Customer Service
  29. 29. EXTERNAL CUSTOMER SERVICE / TEAM STRUCTURE
  30. 30. EXTERNAL CUSTOMER SERVICE / REQUEST LIFECYCLE Create Triage Progress Resolve
  31. 31. EXTERNAL CUSTOMER SERVICE / REQUEST LIFECYCLE Create Triage Progress Resolve
  32. 32. EXTERNAL CUSTOMER SERVICE / MISSING INFORMATION “Help - my payment doesn’t work”
  33. 33. EXTERNAL CUSTOMER SERVICE / MISSING INFORMATION “What’s your transaction number?”
  34. 34. EXTERNAL CUSTOMER SERVICE / MISSING INFORMATION “Oh it’s 12345”
  35. 35. EXTERNAL CUSTOMER SERVICE / MISSING INFORMATION Then send email asking for specific information about their transaction If summary ~ “payment” and request-channel = email When an issue is created
  36. 36. EXTERNAL CUSTOMER SERVICE / MISSING INFORMATION
  37. 37. EXTERNAL CUSTOMER SERVICE / MISSING INFORMATION
  38. 38. EXTERNAL CUSTOMER SERVICE / MISSING INFORMATION
  39. 39. EXTERNAL CUSTOMER SERVICE / MISSING INFORMATION
  40. 40. EXTERNAL CUSTOMER SERVICE / REQUEST LIFECYCLE Create Triage Progress Resolve
  41. 41. EXTERNAL CUSTOMER SERVICE / ROUTE BY ORGANISATION
  42. 42. EXTERNAL CUSTOMER SERVICE / ROUTE BY ORGANISATION Then assign the request to @Twitter_Fan If reporter is a customer from “Twitter” When an issue is created
  43. 43. EXTERNAL CUSTOMER SERVICE / REQUEST LIFECYCLE Create Triage Progress Resolve
  44. 44. EXTERNAL CUSTOMER SERVICE / IN PROGRESS
  45. 45. EXTERNAL CUSTOMER SERVICE / ESCALATE WITH EASE
  46. 46. EXTERNAL CUSTOMER SERVICE / ESCALATE WITH EASE Then alert Support Manager If issue is of critical priority When the SLA is about to breach
  47. 47. EXTERNAL CUSTOMER SERVICE / STAY ON TOP OF YOUR WORK Then remind the assignee to update customer If you are the assignee When issue has been in status “In progress” for quite long
  48. 48. EXTERNAL CUSTOMER SERVICE / STAY ON TOP OF YOUR WORK
  49. 49. EXTERNAL CUSTOMER SERVICE / FOLLOW UP WITH CUSTOMERS “We’re almost done. Last question, what device do you have?”
  50. 50. EXTERNAL CUSTOMER SERVICE / FOLLOW UP WITH CUSTOMERS “Uh…hello?” :(
  51. 51. EXTERNAL CUSTOMER SERVICE / FOLLOW UP WITH CUSTOMERS Then leave a comment following up with the customer again If any issue When we’ve been waiting for a customer’s response for too long
  52. 52. EXTERNAL CUSTOMER SERVICE / REQUEST LIFECYCLE Create Triage Progress Resolve
  53. 53. EXTERNAL CUSTOMER SERVICE / FOLLOW UP WITH CUSTOMERS “We’ve fixed the problem and it should work now. Does it?”
  54. 54. EXTERNAL CUSTOMER SERVICE / FOLLOW UP WITH CUSTOMERS “Uh…hello?” :(
  55. 55. EXTERNAL CUSTOMER SERVICE / STALE TICKETS Then transition ticket to “Closed” If nothing happened on the request for a while When issue has been in “Fixed” status for a long time
  56. 56. Agenda Jira Software ❤ Jira Service Desk Internal IT Teams Webhooks External Customer Service
  57. 57. JSD <3 JSW / TEAM STRUCTURE JSWJSD
  58. 58. EXTERNAL CUSTOMER SERVICE / REQUEST LIFECYCLE Create Triage Progress Resolve
  59. 59. EXTERNAL CUSTOMER SERVICE / REQUEST LIFECYCLE Create Triage Progress Resolve
  60. 60. How you think it’ll work How it works
  61. 61. JSD <3 JSW / KNOWN SOFTWARE BUGS Then link existing JSW issue tracking the bug If description ~ <errorcode> When an issue is created
  62. 62. JSD <3 JSW / KNOWN SOFTWARE BUGS
  63. 63. EXTERNAL CUSTOMER SERVICE / REQUEST LIFECYCLE Create Triage Progress Resolve
  64. 64. JSD <3 JSW / FEATURE REQUESTS Then assign to Product Manager If request-type = “Feature request” When an issue is created
  65. 65. EXTERNAL CUSTOMER SERVICE / REQUEST LIFECYCLE Create Triage Progress Resolve
  66. 66. JSD <3 JSW / INTERNAL DOCUMENTATION
  67. 67. JSD <3 JSW / INTERNAL DOCUMENTATION
  68. 68. JSD <3 JSW / INTERNAL DOCUMENTATION Then internal comment with “Docs are <link>” If affected version of the request is “Version 2.0” When an issue is created
  69. 69. JSD <3 JSW / ESCALATE TO DEVELOPMENT ESCALATE TO DEV
  70. 70. JSD <3 JSW / ESCALATE TO DEVELOPMENT Then assign to @bestmate_developer If status is “Escalate to Dev” When an issue is transitioned
  71. 71. JSD <3 JSW / KEEP DEVELOPERS IN THE LOOP JSWJSD
  72. 72. JSD <3 JSW / KEEP DEVELOPERS IN THE LOOP JSD JSW
  73. 73. JSD <3 JSW / KEEP DEVELOPERS IN THE LOOP Then alert the Developer of an update If issue is in status “Escalate to Development” When any comment is added
  74. 74. JSD <3 JSW / KEEP ON TOP OF SUPPORT SLA Then leave an alert the Developer If issue is in status “Escalate to Development” When the SLA is about to breach
  75. 75. EXTERNAL CUSTOMER SERVICE / REQUEST LIFECYCLE Create Triage Progress Resolve
  76. 76. JSD <3 JSW / RESOLVE ALL THE THINGS
  77. 77. JSD <3 JSW / RESOLVE ALL THE THINGS Then close linked tickets with a comment “Software bug solved in the latest version” If it’s the software bug that caused different service tickets When an issue is transitioned
  78. 78. Agenda External Customer Service Jira Software ❤ Jira Service Desk Internal IT Teams Webhooks
  79. 79. INTERNAL IT / TEAM STRUCTURE
  80. 80. INTERNAL IT / TEAM STRUCTURE
  81. 81. INTERNAL IT / REQUEST LIFECYCLE Creation Triage Progress Resolution
  82. 82. INTERNAL IT / KNOWLEDGE BASE DEFLECTION “Can’t configure Duo! Send help”
  83. 83. INTERNAL IT / KNOWLEDGE BASE DEFLECTION Then comment back with a KB link If summary contains “duo” When an issue is created
  84. 84. INTERNAL IT / KNOWLEDGE BASE DEFLECTION
  85. 85. 20% of 2FA related requests deflected
  86. 86. INTERNAL IT / REQUEST LIFECYCLE Creation Triage Progress Resolution
  87. 87. INTERNAL IT / TRIAGE Priority Setting Incident Notification
  88. 88. INTERNAL IT / AUTOMATIC PRIORITY SETTING URGENT “I will need a new laptop in 6 months!!”
  89. 89. INTERNAL IT / AUTOMATIC PRIORITY SETTING
  90. 90. INTERNAL IT / AUTOMATIC PRIORITY SETTING Then set priority to Critical If outage = yes and product = jira When an issue is created
  91. 91. INTERNAL IT / AUTOMATIC PRIORITY SETTING Then notify 
 PagerDuty If status = triaged and priority = Critical When an issue changes status
  92. 92. INTERNAL IT / REQUEST LIFECYCLE Creation Triage Progress Resolution
  93. 93. INTERNAL IT / IN PROGRESS Automatic
 Approval Providing ContextCustom Shortcuts
  94. 94. INTERNAL IT / CUSTOM SHORTCUTS “Two things we all hate: 
 Repetition, and repetition.”
  95. 95. INTERNAL IT / CUSTOM SHORTCUTS Then comment back with a KB link If comment is internal and contains “:kb_duo:” When a comment is added
  96. 96. INTERNAL IT / AUTOMATIC APPROVAL
  97. 97. INTERNAL IT / AUTOMATIC APPROVAL “Please provision a new EC2 instance.”
  98. 98. INTERNAL IT / AUTOMATIC APPROVAL - When an approval is required - Then automatically approve
  99. 99. INTERNAL IT / AUTOMATIC APPROVAL Then auto-approve request If request-type = “Provision” and size = “Small” When an approval is required
  100. 100. INTERNAL IT / AUTOMATIC APPROVAL Then auto-approve request If request-type = “Leave Request” and Days = “1” When an approval is required
  101. 101. INTERNAL IT / PROVIDING CONTEXT
  102. 102. INTERNAL IT / PROVIDING CONTEXT Approver Context Employee Context
  103. 103. INTERNAL IT / PROVIDING CONTEXT Approver Context Employee Context
  104. 104. INTERNAL IT / APPROVER CONTEXT Then leave a comment with approval guidelines If request-type = “Hardware Request” When an approval is required
  105. 105. INTERNAL IT / EMPLOYEE ASSET CONTEXT Then link all asset tickets If status = “In progress” and Request type = “IT Help” When an approval is required
  106. 106. INTERNAL IT / REQUEST LIFECYCLE Creation Triage Progress Resolution
  107. 107. INTERNAL IT / RESOLUTION RESOLVED “Hang on, I still can’t seem to log-in!”
  108. 108. RESOLVED CLOSED INTERNAL IT / RESOLUTION
  109. 109. INTERNAL IT / REOPEN REQUEST WITH COMMENT Then transition to In- Progress If status = Resolved and comment was the primary action When a ticket is commented on
  110. 110. Agenda External Customer Service Jira Software ❤ Jira Service Desk Internal IT Teams Webhooks
  111. 111. https://giphy.com/gifs/kristen-bell-finger-guns-you-got-this-vMAjWyzyAJ2HS
  112. 112. What are webhooks? A Then action, which fires a POST request to a particular URL.
  113. 113. Stock printing image
  114. 114. WEBHOOKS / INGREDIENTS
  115. 115. WEBHOOKS / INGREDIENTS Web Server To process an action, e.g. send an SMS Automation Rule To trigger the webhook
  116. 116. WEBHOOKS / INGREDIENTS Web Server To process an action, e.g. send an SMS Automation Rule To trigger the webhook
  117. 117. WEBHOOKS / WEB SERVER
  118. 118. { "issue" : { "id": "18001", "self": "https://mycompany.atlassian.net/rest/api/2/issue/18001", "key": "IT-4", "fields": { "summary" : "I cannot get my second screen to work", "description" : "Have tried multiple ports, cables, but no luck", "status" : { "name" : "Waiting for Support", ... }, "reporter" : { "name" : "jsmith", ... }, ... } }, "timestamp" : 1462941258113 // UTC time when webhook was fired
  119. 119. Hmmmm… Can I customise the payload or the config?
  120. 120. Incident response team A SEV1 incident was just raised: {$issue.url}
  121. 121. CUSTOM THEN ACTIONS
  122. 122. WEBHOOKS / INGREDIENTS Web Server To process an action, e.g. send an SMS Automation Rule To trigger the webhook
  123. 123. WEBHOOKS / INGREDIENTS Web Server To process an action, e.g. send an SMS Automation Rule To trigger the webhook
  124. 124. WEBHOOKS / INGREDIENTS Web Server To process an action, e.g. send an SMS Automation Rule To trigger the webhook
  125. 125. WEBHOOKS / INGREDIENTS Dialog HTML To customise the “THEN” dialog inside Service Desk Web Server To process an action, e.g. send an SMS Automation Rule To trigger the webhook
  126. 126. ATLASSIAN CONNECT / CUSTOM THEN ACTIONS /config-sms.html Incident response A SEV1 incident was just raised:
  127. 127. "modules": { ..., "automationActions": [ { "key": "send-sms-automation-action", "name": { "value": "Send an SMS" }, "webhook": { "url": "/send-sms" }, "configForm": { "url": "/config-sms.html" } } ], ... }
  128. 128. "modules": { ..., "automationActions": [ { "key": "send-sms-automation-action", "name": { "value": "Send an SMS" }, "webhook": { "url": "/send-sms" }, "configForm": { "url": "/config-sms.html" } } ], ... }
  129. 129. "modules": { ..., "automationActions": [ { "key": "send-sms-automation-action", "name": { "value": "Send an SMS" }, "webhook": { "url": "/send-sms" }, "configForm": { "url": "/config-sms.html" } } ], ... }
  130. 130. "modules": { ..., "automationActions": [ { "key": "send-sms-automation-action", "name": { "value": "Send an SMS" }, "webhook": { "url": "/send-sms" }, "configForm": { "url": "/config-sms.html" } } ], ... }
  131. 131. ATLASSIAN CONNECT / CUSTOM THEN ACTIONS Then SMS 
 +61 437 978 377 with 
 “A SEV1 ….” If priority = “urgent” When an issue is created
  132. 132. { "timestamp": 1461049397396, "issue": { "key" : "FB-123", "fields" : { "summary" : "Your flight is delayed", "description" : "Please contact our customer support", ... } , ... }, "action": { "configuration": { "number" : "+61 437 978 377", "body" : "A SEV1 incident just came in" } } }
  133. 133. { "timestamp": 1461049397396, "issue": { "key" : "FB-123", "fields" : { "summary" : "Your flight is delayed", "description" : "Please contact our customer support", ... } , ... }, "action": { "configuration": { "number" : "+61 437 978 377", "body" : "A SEV1 incident just came in" } } }
  134. 134. Voilà! SMS received! CONTEXT
  135. 135. Jira Service Desk: APIs Unleashed Shihab Hamid Principal Product Manager, Atlassian AVAILABLE ON YOUTUBE
  136. 136. ATLASSIAN CONNECT / CUSTOM THEN ACTIONS developer.atlassian.com
  137. 137. Wrapping up Go build something amazing!
  138. 138. Build something cool! PATRICK TEEN | DEVELOPER | ATLASSIAN AMOGH SARDA | PRODUCT MANAGER | ATLASSIAN
  139. 139. Build something cool! PATRICK TEEN | DEVELOPER | ATLASSIAN AMOGH SARDA | PRODUCT MANAGER | ATLASSIAN http://themetapicture.com/media/funny-party-rock-hat.jpg
  140. 140. Seriously, build something cool. Don’t miss out! PATRICK TEEN | DEVELOPER | ATLASSIAN AMOGH SARDA | PRODUCT MANAGER | ATLASSIAN

×