If you’re an Android user who uses Outlook (and who among us corporate tools is not blighted by that app on a daily basis?) you may have noticed that the Outlook app for Android has recently undergone something of a redesign.
I haven’t decided if I love or hate the new design personally, but however you may feel about it, it seems that they’ve done a bit more than just change the aesthetic.
That’s right, despite the fact that it’s been an IETF standard since July 1998 (see: RFC 2368), Microsoft just plum-forgot about one of the most basic functions of an email application - correctly processing mailto: links - and have now verified that this is a confirmed “feature limitation”. They “might consider adding this feature” in future updates, but for now, well, who needs standards, anyway?
Now hold on, because I can hear you saying:
“But Tim, you big dumb jerk with great hair, this is a ServiceNow development blog! Surely ranting about Microsoft is a bit silly here, isn’t it?”
And normally, yes, this would be merely a petty rant - one of my favorite kinds of rants -but in this case, the implications of this are important for us ServiceNow nerds.
Thanks to Nick Simonelli (ServiceNow developer at Chipotle - lucky jerk) for bringing this to my attention in the ServiceNow Slack community!
By default, when an approval is sent out from ServiceNow, the “Click here to approve” and “Click here to reject” hyperlinks in that email, are simply mailto: links with subject and body parameters.
For example, the approve link in the screenshot on the right has the following href argument:
As you can see, this mailto: link makes use of the subject and body parameters, in order to generate an email such as the one below when the link is clicked.
One of the most common uses of this method of approving or rejecting a record, is to be able to do so while mobile.
However, with the latest update to the Microsoft Outlook, this will no longer work, because the Outlook app no longer parses subject or body arguments from mailto: links.
Fortunately, some time ago, I wrote a free tool which gets around this problem entirely: The “Better, One-Click Approval” tool!
If you’re already using this tool, then you won’t face this issue at all! If you’re not however, you can implement it rather simply (and like all of my tools, for free) by updating the templates for the relevant notifications on the sysapproval_approver and sysapproval_group tables, to the templates I’ve provided in the “with templates” version of the tool.
The “Better, One-Click Approval” tool can be found at this link, or by going to Tools > A Better, One-Click Approval from the navigation bar at the top of this site.
- April 2019
- March 2019
- Feb 27, 2019 Making Update Sets Smarter - Free Tool
- November 2018
- October 2018
- September 2018
- Jul 23, 2018 Admin Duty Separation with a Single Account
- Jun 19, 2018 Improving Performance on Older Instances with Table Rotation
- Jun 4, 2018 New Free Tool: Login Link Generator
- May 29, 2018 Learning ServiceNow: Second Edition!
- April 2018
- March 2018
- Feb 11, 2018 We have a new book!
- November 2017
- Sep 12, 2017 Handling TimeZones in ServiceNow (TimeZoneUtil)
- July 2017
- June 2017
- May 2017
- April 2017
- Mar 12, 2017 reCAPTCHA in ServiceNow CMS/Service Portal
- Dec 20, 2016 Pro Tip: Use updateMultiple() for Maximum Efficiency!
- Dec 2, 2016 We're Writing a Book!
- Nov 10, 2016 Chrome Extension: Load in ServiceNow Frame
- September 2016
- Jul 17, 2016 Granting Temporary Roles/Groups in ServiceNow
- Jul 15, 2016 Scripted REST APIs & Retrieving RITM Variables via SRAPI
- May 17, 2016 What's New in Helsinki?
- Apr 27, 2016 Customizing UI16 Through CSS and System Properties
- Apr 5, 2016 ServiceNow Versions: Express Vs. Enterprise
- March 2016
- Feb 25, 2016 Understanding Attachments in ServiceNow
- Feb 22, 2016 Reference Field Auto-Complete Attributes
- Feb 6, 2016 GlideRecord & GlideAjax: Client-Side Vs. Server-Side
- Feb 1, 2016 Make Your Log Entries Easier to Find
- Jan 29, 2016 A Better, One-Click Approval
- Jan 25, 2016 Quickly Move Changes Between Update Sets
- Jan 20, 2016 Customize the Reference Icon Pop-up
- Jan 7, 2016 ServiceNow: Geneva & UI16 - What's new
- Jan 4, 2016 Detect/Prevent Update Set Conflicts Before They Happen
- Dec 28, 2015 SN101: Boolean logic and ServiceNow's Condition Builder
- Dec 17, 2015 Locate any record in any table, by sys_id in ServiceNow
- Dec 16, 2015 Detecting Duplicate Records with GlideAggregate
- Dec 11, 2015 Array.indexOf() not working in ServiceNow - Solution!
- Dec 2, 2015 Understanding Dynamic Filters & Checking a Record Against a Filter Using GlideFilter
- October 2015
- Aug 27, 2015 Easily Clone One User's Access to Another User