7 OSvC features to comply with GDPR

GDPR came into play 3 months ago, but companies are still struggling. One of the main concerns is related to the systems and databases where they hold customer data – be it personal, operational or experience data.

A significant number of Oracle Service Cloud (OSvC) administrators and super-users have recently contacted me, asking what actions to take to ensure they are GDPR-compliant. Like so many other technology vendors, Oracle is developing the platform.

Last week the OSvC product/development teams at Oracle and the OSvC All Stars got together to review the features available, look at the roadmap, and discuss what other solutions or developments could help the companies who use OSvC.

The truth is that the features that will help comply with GDPR are being released since 17C (Aug 2017), and there is a very busy roadmap, with other features coming.

1. The Bulk Delete API was released in 17C for Incident and Opportunity objects, expanded in 17D for Contacts and Custom objects, and expanded further in 18A for Accounts and Organisation objects. It allows you to efficiently delete large data sets, having the flexibility to select the data to delete using ROQL queries.

2. Until now, when you created a test environment, you would get a clone of your instance with all your data. The difference is that the emails had a .invalid suffix. Having real/production data in a test environment could be a GDPR breach. Since release 18B it is possible for administrators to create a test instance without standard transactional data.

3. Various enhancements to the Audit Log are going to be released in the next few versions of OSvC. 18C provides the ability to capture viewing of Contact records, as well as report downloads. 18D and 19A will introduce Field Level Audit Logs on individual attributes of the Contact object. And to answer your questions re. space, the Audit Logs will be written to a secondary store, unloading the primary database.

4. Bulk Data Extract capability will be available from release 18D, for Incident and related sub-objects. This would be supported by an asynchronous REST API that will allow you to extract large volumes of data, into compressed .csv files. Enabling organisations to archive data that is old or not needed, but needs to be retained.

5. Deleting OSvC interfaces was something that companies struggled with, as it usually went wrong, impacting other interfaces. Since 18C this capability was enhanced by Oracle, allowing you to contact Customer Care and request interface deletion, to reduce database size.

6. The Data Lifecycle Policies user interface is available since release 18A, and allows you to easily manage data lifecycle policies for objects. In 18A it supported a limited number of transactional objects, 18B brought it to Incident archive/purge, and 18C for Custom Objects and indexed system attributes on Incident and Contact objects.

OSvC - Data Lifecycle Policies.png

7. Finally, in release 18C you can redact or anonymise sensitive information in Incident Threads.

Bank Policies – Killers for CX and EX

Photo: Alamy

This week I decided to close a bank account that I have in Portugal and don’t use anymore. Expecting it would be quicker, I visited a branch, where I was greeted by one of the employees. In order to identify the account in the system, she asked me for a card associated, and then printed a few forms for me to sign. So far, so good.

To close the account, she said it was mandatory for me to provide both the credit and the debit cards associated with the account. As I don’t use the account, the credit card is in a drawer in London, and I was in Portugal. “Can you just inactivate the card in the system?”, I asked, only to see her face frown.

She continued to click and type on the computer, and until the end of the meeting never referred the credit card again or the obligation to hand it over. What followed was a request for me to sign two forms, which I did. “Sorry sir, can you please sign as per what I have in my computer”, she said, turning the screen in my direction.

I almost didn’t recognise the signature. My wife said, “Is that your signature?”. The signature was over 20 years old. Naturally, my writing had changed since, and I wasn’t able to recreate that. Her face frown again. “Well, you can check my id card. My signature is there”. Reluctantly, she accepted, and asked to copy the id card for proof.

Despite a few hurdles, all items in the close-bank-account list seemed to be ticked. But I had €2.19 in the account. She put the options to me: a) I could deposit €7.81, go to the cash machine (ATM) and withdraw €10. Or b) I could go to the teller and pay €5 to withdraw the €2.19. Needless to say, it was my turn to frown. I don’t usually like to be treated like a fool.

In any case, I didn’t want the €2.19 but could not contain myself and said the second option was non-sense. She responded “It is just the way it is. Rules are rules”. Again, I could not stay quiet, and told her it didn’t need to be that way, and it shouldn’t be that way. And that certain rules are just idiotic. She didn’t empathise with me.

I decided to try and explain. Put a smile on my face, and said “You know, it is not your fault. You’re just following orders. But the person that is comfortably sitting at a desk, on the 30th floor of the bank’s HQ, very well paid to come up with these rules, would probably need to come down, and visit the gemba”. Finally, she got me!

Sir, if you don’t do anything, when the account is closed, they will send you a letter asking you to come in and get the €2.19. Then, you don’t have to pay or deposit anything to get the money”. She thought I would be happy with this hidden option c) and was disappointed when I frown again. “Really, and you think that makes sense?”, I asked.

At this point she was confused and probably thinking that I was one of those who is never happy. I tried to explain again. “You see, the bank will spend around €5 (paper, printer, post) to send me a letter, so I come and withdraw €2.19. Isn’t this non-sense?” Again, she got me, and nodded.

This is a very good and real example of where a bank is making up rules and policies that serve no real purpose, and sometimes make absolutely no sense. Killing the customer and employee experiences.

Rules and policies that will only increase customer effort, distrust, irritation and disloyalty. Also creating friction between customers and employees, who then get increasingly frustrated and feeling powerless.

We bump into similar things in retailers, telecom providers, hospitals, public services, etc. CX and EX killers which make no sense but amazingly aren’t eliminated, simply because there isn’t a process in place, to actually find them and measure their impact.

The first step to o find these CX and EX killers is definitely to put in place Voice-of-Customer (VoC) and Voice-of-Employee (VoE) initiatives. Without feedback, how will the policy makers understand the impact of their ideas? And how will the Experience Managers improve CX and EX?

4 short and sweet CXmas lessons

It’s winter holidays time and just like most emigrants or expats, I came back home to spend Christmas with the family and friends. Living abroad means that there’s a lot of people I haven’t seen for a while, many things I want to do (refuel with delicious portuguese food), others I must do (take care of documentation). Time is short to do everything and spend quality time with everyone. Plus, this time of year, I still need to buy the last presents. So, I need to be as effective as possible, and maximise my time.

Holidays didn’t start well. My 8:45 PM flight from London was delayed for 1 hour and 30 mins, meaning that when I landed in Porto (Portugal) it was already 12:30 AM and by the time I got home the family was already asleep. To my tweet TAP Air Portugal replied “Please accept our sincere apologies for this situation“. Unfortunately this doesn’t make it up. Why? Because apologies are not sincere when TAP’s flights are consistently delayed, and the on-board experience is below average.

Lesson 1: If you want customers to believe and trust you and your brand, make sure you take the feedback and, more importantly, act on it to improve your products/services.

With so many things I wanted to do, despite the late night, next day’s morning was early. Me and my wife got a lot of things done (including her hair – she can be very picky with hairdressers!). Before lunch I found some time to schedule an important doctor’s appointment and called the clinic. “Sorry we’re closed between 12:00 and 2:00 PM, please call later or book online“. It was literally 12:01 and online I could not choose the doctor I wanted.

Lesson 2: As Shep Hyken says “don’t have a clock-in/clock-out mentality“. If you’re there, take ownership, as every interaction with a customer will make an impression. And it could be a lasting one (positive or negative). Don’t risk losing a customer to the competition because of what it says on the “Opening Hours” sign.

After lunch we had to take care of some last minute presents and went to a local shop. Spent a fair amount of time with a nice and attentive staff member, selecting the right product, and decided to take what were three expensive ones. At the till we were told “we don’t accept card payments, any card, only cash“. These are the local shops that have owners who complain about being smothered by big shopping malls. Then they sell expensive items and expect people to carry big amounts of cash!?

Lesson 3: If you want to be in business and overcome fearless competition, you need to get rid of policies that don’t make sense and make it as easy as possible for your customers to do business with you. Plus, be mindful of bad profit (e.g. those who charge additional fee if you want to pay with card)

That evening, I decided to tick one of the boxes in my “when-at-home” list: eat roasted piglet. After a busy day it was 4:00 PM when we arrived to the restaurant. “Hello, do you have table for 4?” I asked with a smile on my face. “Lunch time has passed and dinning room is now closed until 7:00 PM” the grumpy person replied. “Kitchen is closed?!” I asked with puppy eyes. “No, it’s open but only for take away“. In desbelief I walked to the counter to take a piglet sandwich for the go – truth was smell is irresistible and the opportunities to eat this delicatessen are scarce. But next time I will certainly go to the competition.

Lesson 4: Customers are like your puppy. If you show him the snack, and let him smell it, only to then take it away, he won’t come back to you next time you call for him. So if you want to conquer (hearts, minds and mouths) of your customers always be available to give them the best you have, and don’t disappoint.

This hasn’t been the best intro to Christmas, but I’m confident all will end up well. Happy Christmas everyone!

17D Release now available (Part II)

The 17 D release of Oracle Service Cloud (OSvC) is now generally available and it brings fantastic new features and enhancements. You can read Part I here.

OSvC Platform – Element Manager

This is probably the feature that most system integrators (SIs) and admins craved for. The ability to “package up” configurations and release them to another environment, in an automated fashion.

It is particularly useful when deploying changes from DEV to TEST or from TEST to LIVE environments. Or, when you have many interfaces (e.g. due to different languages) and need to replicate changes.

It allows packaging of configurations, customisations or developments, for migration into other OSvC interfaces or instances, managing dependencies automatically, and allowing roll-back of most recently deployment.

Important Note: The Element Manager only works from the Browser UI (BUI) and in the current release only allows the migration of reports, workspaces, workflows, and dashboards.

When fully deployed the Element Manager will not only benefit SIs but clients themselves as this feature will avoid manual replication of configurations across interfaces and instances, which significantly increases deployment time, effort and cost.

The link below includes a step-by-step demo provided by Oracle, on how the Element Manager works, and confirm how easy-to-use and user-friendly it is.

Oracle Service Cloud – Element Manager – Step-by-Step Demo



Oracle changing version terminology

As I’m sure most of you know, Oracle releases new versions of Oracle Service Cloud (OSvC) every quarter. And does it always in the months of February, May, August and November. That is why when we talk about versions we either say “May 16” or “16.5“… “Nov 15” or “15.11“.

But Oracle announced recently that it is going to change the naming and terminology of versions. And the reason they are going to do that is for “clarity and consistency“. This change will take effect from October 2017.

Oracle is going to use the last two digits of the calendar year (e.g. “17” for 2017 or “18” for 2018), and then the letters “A”, “B”, “C”, and “D” for the four calendar quarters – as releases will continue being delivered in February, May, August and November.

So, here is how it is going to wor…

  • In November 2017, the OSvC release will be “17D
  • In February 2018, the OSvC release will be “18A
  • In May 2018, the OSvC release will be “18B”
  • In August 2018, the OSvC release will be “18C”
  • In November 2018, the OSvC release will be “18D”
  • and so on and so forth…

When it comes to the “Maintenance Packs”, they will be applied on a monthly basis, and “patches” applied as needed. When it comes to terminology, Oracle will name them “Oracle Service Cloud <version> <month> Maintenance Pack”.

So, here is how it is going to work…

  • In December 2017, the OSvC maintenance pack will be called “Oracle Service Cloud 17D December Maintenance Pack
  • In March 2018, the OSvC maintenance pack will be called “Oracle Service Cloud 18A March Maintenance Pack
  • and so on and so forth…

As a side note, updates to Browser User Interface (BUI), the Auto-Upgrade Program, and the Legacy Upgrade Process will not change.

What happens in Vegas, needs to be shared

Last week I was in Las Vegas, for the second year in a row, representing Capventis at the Modern Customer Experience conference organised by Oracle. Once more, it was great to have the opportunity to hear from, share with, and meet so many thought leaders, innovators and industry specialists. A fantastic event, really worth attending, with great key notes, sessions and hands-on workshops.

Oracle Service Cloud Focus

My focus was on the Modern Service Experience (MSE) track and Oracle Service Cloud (OSvC), starting very early in the morning of the first day, with a deep dive workshop “Supercharge your Agents – A Guide to Advanced Desktop Automation” where the Product Development team shared some tips and tricks around automating processes using workspace rules, JavaScript API, Agent Scripts and Desktop Workflows.

From that moment until the end of the conference it was 3 days with back-to-back meetings and sessions. The MSE agenda had plenty other great hands-on workshops, with beginner and advanced sessions around extensions and APIs, analytics or customer portal. The Oracle Product Management and Product Development teams shared, in several breakout sessions, not only insight but some great news re. the product strategic direction and roadmap. And roundtable discussions, as well as “fireside” chats, were also very popular and insightful.

Customer Success Stories

One of the highlights of this conference are the sessions where Oracle customers share their stories, and the ways they are using technology as an enabler, to innovate, become more efficient, and thus more successful. Two great examples were presented by Kohl’s and Toshiba Medical Systems (TMS). Both companies implemented OSvC, to transform a vision and desire to improve customer service and experience into reality.

Asked about the reasons to have chosen OSvC, Sebastiaan Dammann, Senior Business Consultant at TMS, said… “Cloud. Easier to collaborate across value chain, and increase CX (…) Completeness of vision. CX, Field Service, planning, back-office (…) Highly configurable and flexible solution. Support Vanilla approach”.

Oracle Service Cloud Roadmap

The most interesting news (at least for us OSvC advocates) always come from the roadmap sessions. And there were some great news shared by the Product Management team. As usual it was all subject to the Safe Harbour Statement, but here it is…

  • The Aug 2017 release will include significant changes to the Business Rules, with a new interface, and enhanced engine to support custom objects (meaning that you don’t need to write code to create automation in custom objects).
  • After the WeChat integration, available since Feb 2017 release, Oracle will publish the Facebook Messenger integration, in the Aug 2017 release (allowing customers to chat / text with agents via that Facebook facility/app).
  • Video chat will also be released in Aug 2017, even though it will only be available for companies in the USA (first agent-side video will be available with customer-side video being introduced at a later stage).
  • Oracle will release a release manager, with versioning capability. An absolute game-changer for administrators and developers, allowing to package configurations/customisations from one interface/instance to export/import into another interface/instance (avoiding the need to re-key or manually replicate configurations). The Aug 2017 release will include a limited number of components (e.g. workspaces, reports) and others will become available over the next few releases.
  • External data virtualisation is also something that Oracle is working on and preparing to make available in the next few releases. It will use Odata and Open API Initiative, enabling custom objects to have reference to external data, allowing the surfacing and/or virtualisation of external data within OSvC.

A big investment and development effort has been put into the Browser UI (BUI) and its Extensibility Framework, where Oracle is hoping to have the majority of agent-facing functionality (currently available in the Dynamic Agent Desktop – .NET console) by the end of 2017.

The BUI Extensibility Framework will enable automation, integration and extension of the BUI. And the next few releases will make available the following extensibility types…

  • Console – e.g. extension areas on Global or Sidebars (e.g. CTI media-bars); additional widgets on Status Bar; new items on Main Menu; modal and pop-up windows.
  • Workspace – e.g. buttons that trigger actions (e.g. set fields), rules or integrations; browser extensions to show other web-based applications.
  • Analytics – e.g. define virtual schemas and tables to display data from external systems, and allow read and write.

The add-in manager, as well as the add-ins area in the workspace designer, will have a specific section for BUI extensions and add-ins, alongside the one currently available for DAD add-ins.

If you are already excited about it, and feel like jumping straight onto it, know that the BUI Extensibility Framework requires knowledge on the below technologies, and that answer id 5169 is available on the community with documentation.

  • JavaScript
  • HTML
  • CSS
  • JSON

All Stars and Heros

But the icing on the cake, at this year’s conference, was the OSvC All Star and CX Hero status, areas and activities (see photo below)…

  • The Hero Hub booth, where we were able to hang-out with other OSvC heroes, join the Justice League of Customer Service, and have some fun.
  • The CX Hero Lounge, where we could meet fellow CX advocates, do some work during breaks, as well as relax and have a bite to eat.
  • The All Star Appreciation Event, where we got together with the OSvC crew, for some drinks, food and great conversations.

A big thank you to: Keith McFarlane, Stephen Fioretti, Shon Wedde, Jens Lundell, Jeff Wartgow, Vimal Chopra, Susie Boyer, Kent Swartz and Daniel Foppen.

And a very special mention and huge thank you to Erica Leep and Danette Beal for organising all of this, for being absolutely tireless, and for spoiling us with treats.


I’m already looking forward to next year’s conference!

Oracle Tap – Service Cloud on Mobile

Mobility is key in today’s digital world, where information travels “at the speed of light” and businesses need to be always aware, and have real-time data feeds.

The Oracle Service Cloud Mobile Agent App – named Oracle TAP – was introduced back in 2013. Since then Oracle has enhanced its capability significantly.

Its aim is to allow Customer Service directors, managers and team leaders to be on top of things, and be able to see what is happening, remotely, from a mobile device.

It is important also to say that the Oracle Service Cloud Mobile Agent App is not a full-blown Agent Desktop, where users can see everything and anything.

The data available in the Mobile Agent App is only that related to the open Incidents. Meaning that you will only be able to see Organisations, Contacts, Tasks, etc. related to open Incidents (i.e. not “Solved”).

That said, the capability is actually outstanding. First, it is very easy to set up, as you just need to add the Server URL (https://YourSiteURL/cgi-bin/InterfaceName.cfg/php/tap/v1), and it is possible to have multiple sites set up.

20170127 Oracle TAP - login.png

The user can create his/her own home page with Charts, and other useful elements that can give an immediate overview of the customer service operation.

20170127 Oracle TAP - Charts.png

The main menu allows the user to access the list of staff (and drill down into the Incidents assigned to each of the staff members), Incidents, Contact, Organisation, Tasks, and even Answers in the knowledge base. The Incidents area, for example, shows “My Inbox”, but also the list of all open Incidents.


Tapping on one of the records (e.g. an Incident) allows the user to see the key details (e.g. Subject, Status, Queue, etc.) as well as the detail associated to it (e.g. Message Thread, Tasks, etc.).

20170127 Oracle TAP - Tasks.png

Configuration Settings – Tips II

Oracle Service Cloud has circa 500 configuration settings, which control the platform’s functions. Some of them are commonly used but many are not that well known. Below are a few that you might want to be aware of.


This configuration setting will enable the links/URLs sent by customers to agents, during a chat interaction.

By default, and for security reasons, this configuration setting is set to “No”, meaning that links/URLs sent by customer would not be actionable and agents would not be able to just click and open a browser.


This configuration setting is related to the Incident Status, and sets the time an incident is on “Waiting” status until the agedatabase utility automatically closes it.

The minimum value is 6 (hours) and the default is 48 (hours). In case you would like to de-activate this you should set it to 0 (zero).


This configuration setting is directly linked to the one above (CI_HOURS), as it defines which days of the week are taking into account when CI_HOURS is calculating how long the incident was on “Waiting” status.

By default all days of the week are considered: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday. And that is why you see the code “SuMTuWThFSa” in the setting.

If you leave the configuration setting blank, all days of the week will still be considered.


There are a few configuration settings (see list below) that control the access to various Oracle Service Cloud areas, based on domain names or IP addresses. When you set these configuration settings you are limiting access only to users or customer who are logging in from the defined domains or IP addresses.

The values you can put on the configuration setting are: domain names (e.g. *.oracle.com), IP Addresses (e.g., or IP Subnet Masks ( Since Aug 2014 release, these settings also support IPv6 addresses (e.g. FE80:0000:0000:0000:0202:B3FF:FE1E:8329)

  • SEC_VALID_ADMIN_HOSTS – access to Admin interface (Console)
  • SEC_VALID_CHAT_API_HOSTS – access to the Chat SOAP interface
  • SEC_VALID_ENDUSER_HOSTS – access to the end-user interface (Customer Portal)
  • SEC_VALID_INTEG_HOSTS – access to the integration interface

[Guest Post] Co-Browse & Reports

This is a guest post from Colin Campbell. My colleague at Capventis. A seasoned Oracle Service Cloud expert, with c. 10 years experience. To whom I thank for this post, as well as  for his invaluable expertise, which makes our implementation team even stronger.

I have to admit it, I love writing reports for service cloud, and whenever I have someone saying that they have an issue with a report the first thing I look at is the report definition.

This can be a bit confusing for some people but recently this immediately let me see that an out-of-the-box report (“Co-Browse Summary”) had a basic flaw.

Co-Browse 193 Report Definition.PNG

The first thing I noticed was the column definition for the Source:

if(cobrowse_sessions.tbl=1, msg_lookup(7475), msg_lookup(7494))

This gives a simple Binary result, if the co-browse session was initiated through a Phone Call or a Chat Session. You can see in the tables that the Interactions (what Incidents are called in this environment) is linked to the incident ID if the Co-browse session table = 1 (an Interaction).

This immediately made me think of the following situation, if a chat request comes in which includes a co-browse session, and then gets converted to an incident, it will have an incident ID, and as a result would be shown as a Phone Call rather than a Chat.

When I finally got round to running this report I saw exactly that. In the image below you can see Luis has had a phone call on the 18 Nov (row ID #9) and has an Incident Reference number next to it.

Co-Browse 193 Report Running.PNG

Opening the incident associated to this entry, you can see that the incident was actually originated from a Chat session (Channel = Chat).

Co-Browse phone call.PNG

So this could present an issue to the analysis of the data by whomever is using co-browse, as the out-of-the-box report is not showing the true channel of the incident and you could end up inflating the number of phone calls ending with a Co-Browsing session, which can then impact your resourcing and potentially having the wrong skilled staff waiting when it should be chat skilled staff. This increased wait will ultimately impact the Customer Experience.

It is not all doom and gloom as this is actually quite an easy fix for your reporting, ant you would just need to edit one table of the report.

Co-Browse Initial Modification Report Definition.PNG

The first change I have made is to the Source Column, rather than having the two message lookups I have edited the true condition to look at the incidents channel ID:

if(cobrowse_sessions.tbl=1, incidents.chan_id, msg_lookup(7494))

Using Luis’s incident above will mean that this co-browse session should now show it is a Chat session and not a phone call (notice again row ID #9).


You can see here that my assumption is correct but it has shown something else. There are now some sources which are a “No Value” (and one as an “Email”).

The “Email” source itself is easy to explain and although co-browse is intended to originate from only two channels Phone and Chat, there can be occasions where a customer will phone about an e-mail, social media post, letter, etc. that they initially contacted you through with the phone call resulting in a co-browse session.

The “No Value” on the other hand is not, this is where a co-browse session has been initiated but it has not been associated to an incident, although you need to have the incident or chat workspace open for co-browse if you don’t save it, there is nothing to record it against.

To report on this I would look at updating the definition once again to include an additional IF statement against the source column so it reads as…

if(cobrowse_sessions.tbl=1, if(incidents.chan_id IS NULL, ‘Unlogged Phone’, incidents.chan_id), msg_lookup(7494))

With this last edit you can now define all of the channels and friendly terms that you need to aid you in your reporting and analysis.

Co-Browse Final Modification Report Running.PNG

Using this report as a base you can also add either a Contact ID or Incident ID/Ref No. Filter and embed this as a report within a Contact or Incident Record showing the history of the Co-Browse sessions.