CRM Crime Files: Etsy


If you are subscribed to my Twitter feed (@leontribe) you will have seen a bit of dialogue with @EtsyHelp over the last week. While a little off-topic from my usual Tweets, it is related to CRM and Customer Experience as it is a great example of how NOT to set up your customer service function.


My Etsy Shop

About a month ago I set up an Etsy shop ( to sell pillboxes which I make by converting pocket watches. Doing this to an antique pocket watch would be a crime against nostalgia so I purchase new pocket watches and convert these instead. Embracing the way of the Etsy, I also let the buyer choose the color of the felt which lines the inside of the pill box (40 colors to choose from).


The fronts have fun designs and there are literally hundreds of designs I can source.


Things were going well with sales in the USA and here in Australia.

Nico Closes Down My Shop

Imagine my surprise when I received an email on Tuesday morning from Nico from Etsy Integrity telling me my shop had been closed.


This was the first email I had received regarding the matter. From a customer relationship perspective it is not great. I am not addressed by name, the specific issue which had my shop closed is not mentioned and the end of the email is basically a threat.

There was no mention of a process for appeal and, given I considered my shop as a poster child for Etsy, I replied to Nico explaining how I upcycle pocket watches and convert them to pill boxes.


This was sent Tuesday morning and I thought the matter would be settled relatively quickly. Unfortunately I heard nothing until 2am that night.


Nico had identified the supplier of my pocket watches and, as the outside was untouched by the conversion process, I was using the supplier’s stock photo because they looked great. For the interiors I shot my own pictures.

Again, Nico had failed to address me by name and had completely ignored my reply explaining what I actually do. The handmade policy for Etsy does allow for upcycling, which is what I do, so I was very confused. I replied to Nico with some before and after photos and provided my phone number but felt the conversation was going nowhere slowly and, given he responded once every 24 hours, I needed an alternative approach. In fact, this was the last I heard from Nico.

My theory is Nico is, in fact, not a human but an automated service to weed out commercial resellers by using a Google Image-like service to match Etsy pictures to supplier stock images. This explains the impersonal tone, template structure, and lack of engagement.

Calling Etsy

The obvious option was to call Etsy and sort it out. Googling Etsy yielded a phone number but calling it led to a recorded message saying they do not take incoming calls and to request a call online. Armed with this knowledge, I found the KB article for requesting a call ( According to the article, the process is:

1.) Sign in to your account and go to Etsy’s contact page.

2.) Choose What can we help you with? and any other topics that are relevant to your issue.

3.) Click Request a Phone Call to get to the request form. 

4.) Provide your name, phone number, and a brief description of your issue.

The problem is, the “Request a Phone Call” option/button does not exist. There is no way for request a phone call through their page. Etsy provide no way to talk to an actual person whether you are a seller or buyer.

Other Social Channels

I thought the Etsy Facebook page may be the way to go but, unfortunately I was unable to initiate a request or post to their wall. Finally I thought I would tweet @EtsyHelp to see if they could assist.


To their credit, @EtsyHelp replied within minutes.


I sent a couple of direct messages to Ann and waited. Eventually, 12 hours later, Cale replied.


Fantastic! It had been a bit slow in coming but someone would be in contact ‘soon’. I replied, thanking him and providing my home and mobile number in the hope someone would call. It was 10:30pm on a school night but I was determined to stay up so I could have an email conversation with the Specialist and put the matter to bed.

Charlie to the Rescue

At midnight I got an email from Charlie telling me precisely what I needed to do to get my shop back online. Again, Charlie failed to address me by name in the email, and the content was templated but I did not care. Charlie ended the email with:

“Once I hear back from you with this information, I’ll review it and promptly get back to you. I understand that your Etsy shop is your business, and I intend to make this process as quick and smooth as possible.

Please let me know if you have any questions or concerns about this process. I look forward to learning more about your creative business.”

In short I needed to document my creation process in words and pictures so Etsy could assess I was not simply reselling.

I leapt into action taking photos and documenting the process for converting a timepiece into a medicine cabinet. An hour and a half later (1:30am on Thursday morning) I had compiled all the information requested and sent it through.

Again, I stayed up in case Charlie needed any more information. At around 5am I gave up on Charlie replying and went to bed. I waited up the next night and still nothing. At around 5am on Friday morning (27 hours on from when I sent the email) I was coming to the conclusion Charlie was another bot like Nico.

Etsy Gets a Kick Up the Bum

Knowing the weekend was fast approaching I figured I needed to try and get things moving. So I launched a multi-channel blast. I replied to Charlie via email, Tweeted @EtsyHelp.


and I also sent the documentation via the Etsy online support form.

My thinking was if Etsy had any sort of case management system my requests would hit the system as individual cases and one of them would get picked up for processing.

Again, the responsive @EtsyHelp responded about an hour later (I received no response from Charlie and only the auto-acknowledgement from the online web form).


Armed with this knowledge I went to bed for a couple of hours and went to work knowing I would be pulling a late one again the following night.

Etsy Gets Another Kick Up the Bum

It was now very early Saturday morning. At 2am, over 48 hours later, I again blasted all channels, resending my documentation.

Again, it was Ann from @EtsyHelp who responded about an hour later.


Seeing if I should go to bed or not, I asked if I should wait up.


Et tu, @EtsyHelp? The 48 hours had already passed and I knew the call request option was a dud. With sleep deprivation kicking in, I concluded it was time to add another channel to the blast, I was not exactly sure what the difference between,, and was but I figured another ticket in the system could not hurt.

Charlie Comes Online

15 minutes later, at 4:44am on Saturday morning, Charlie got back to me. Whether it was the email to Trust, the escalations by Ann or simply that Charlie had been away the day before I will never know.


Thanks for taking the time to send me this information about your Handmade process. I was happy to learn more about how your items are made. I am approving you to sell your customized pocket watches. 

Your account privileges have been restored, and I’m updating your account internally with the information that you provided. Below, I have outlined some changes that we will require that you make to your listings. Please take the next 5 days to make these updates, failure to do so within this timeframe may result in the suspension of your account.”

Again, Charlie had failed to address me by name but he had restored my shop so, as far as I was concerned he could call me pretty much whatever he wanted to. I responded, expressing my thanks.


The changes were the use of my supplier’s stock photographs (which, I assume had triggered Nico the Wonder Bot). Charlie gave me a link to an Etsy policy which states stock photography cannot be used, a policy I was unaware of. Within 24 hours all stock photographs were removed. An hour later I received a new order for a pill box.

My shop had been down for five days but, after a lot of work,and little sleep, it was back up.

Advice to People Seeking Support From Etsy

There are a few things I have learned from this process:

  • Etsy’s heart is in the right place. Etsy take the quality of their shops seriously and really dislike commercial resellers
  • Etsy, unfortunately, is more focussed on customer service cost than on customer service excellence and the points they gain from maintaining shop quality are lost in frustrated customers seeking support
  • Etsy employ automated/semi-automated processes to remove resellers from their site so it pays to ask for help across multiple channels to ensure you are not being ignored by a robot

If you are trying to get a response out of Etsy Support, understand that everywhere except the USA is serviced out of Ireland and it is not a 24 hour call center. There was a five hour window when Support sent me emails (midnight to 5am local time) and usually it was one email per night. Outside of this pattern they were as silent as the grave.

If you want someone to reply to you, your next best option is Twitter’s @EtsyHelp. As Cale admitted, they cannot action a request but they can push it through to Support. Also, through other communication with them during this saga, they also confirmed they can see the responses Support issue regarding active cases.

There is NO phone channel for Etsy, inbound or outbound (certainly not for Australia) so forget it. @EtsyHelp will keep you sane while you wait for Support/Integrity to get back to you but you will NEVER hear the human voice of Etsy.

Finally, never get angry. There were plenty of times when Etsy messed me about but, they held all the cards. They had all the power and being rude would not give them any additional motivation to assist me. Also, many of the people we interact with in call centers are acutely aware of our frustrations but are powerless to change it.  Be respectful and if they do not escalate, take it upon yourself to escalate for them by reaching out to different channels.

As an extreme example, towards the end, I was doing internet searches for the email addresses of Etsy’s board executives (which would be pretty easy to guess) so I could email them as an escalation point. Another option would be using one’s LinkedIn network to pull in a favor. Thankfully I did not need to in the end.

Advice to Etsy

It is admirable that you are passionate about the quality of your shops but your customer service processes are woeful. Consider embracing channels customers actually want to use, rather than the ones which cost the least and provide the minimum viable support.

Telephone support would be useful and I genuinely believe a problem that took five days to resolve could have been resolved in less than 24 hours. Also, while other channels may cost less on paper, as is evidenced by this blog, when you have Ann, Nico, Charlie and Cale all working on one case, things get expensive, very quickly.

Even if telephone support is not practical, offering support which actually does something for more than five hours per day would be handy. Web chat or even eating your own dog food and embracing the conversation system set up for buyers and sellers within the Etsy platform may be useful.

Finally, stop setting poor expectations. A big part of my frustration through this process was Etsy telling me things which were simply wrong. Behavior such as being directed to the fictitious process for requesting a phone call, or being told my request would be actioned ‘soon’ and then waiting more than 48 hours cannot be justified. If there are response times which Etsy expect to meet, put in escalation systems for when these are violated. If you only provide global support for five hours in the day and only send one email per day per case, make this known and then people can sleep.


Now the saga is over I am really happy Etsy re-opened my store. Etsy make it very easy to have an online shop and the nature of my product make it an ideal fit. However, with Amazon launching ‘Handmade’, Etsy is no longer the only global handcraft sale site online.

History shows us that today’s go-to site is tomorrow’s entry. If Etsy is to maintain their dominance they need to manage the relationship they have with all stakeholders in their ecosystem and respect what they value. Having the least commercial resellers but the worst customer service does not do this. Given my shop’s success is predicated on Etsy’s success I really do not want to see this happen.

Salesforce: End of Year, End of Hope


I am a bit behind in my Salesforce analysis due to recent distracting events so it is time to catch up. I did the actual analysis a while ago but neglected to write it up, so here it is. I have purposely ignored the more recent first quarter results, put out a few days ago, to minimise my bias in reviewing these. I will review these next month.

Alas, Salesforce continues to lose money and their financial situation worsened slightly this quarter. No doubt Marc will be hailing it as the best quarter ever but numbers do not lie.

The Late News

So what did Salesforce get up to in their last financial quarter?

Why Microsoft Beat Salesforce to Acquire LinkedIn

Salesforce Joins Apple and Google in Protesting Trump’s Anti-Transgender Order

Salesforce Opens Engineering Office in Microsoft’s and Amazon’s Backyards

Old Money and Stocks

How did Salesforce fare in the markets up to the end of February?


We can see that while, in the previous quarter, Salesforce sank into the sixties, the stock price did bounce back to the low eighties (and now sits around the mid-eighties). The biggest jump occurred at the end of 2016. I have no idea why.

Insider Trades

Fortunately, I recorded the Insider Trades when I did my analysis so I have the numbers.


2016 Q4

2017 Q1

2017 Q2

2017 Q3

2017 Q4

Insider Sales






Institutional Sales






Shares Held by all insider and 5% owners



As we can see, every quarter ‘insiders’ (such as those on the board, the CEO etc.) sell a bit less than 5% of their holdings every quarter. Institutions (banks, pension funds etc.) are also selling out at a slightly higher rate each quarter.

Yahoo also gave us a new statistic for the end of year of the total shares held by the insiders. The likes of Marc Benioff and all his board buddies hold little more than 6% of the total stock of the company. Every quarter these people say how well Salesforce is doing and yet they own so little of the stock. We know they are constantly selling stock but, perhaps, they are receiving free stock and therefore keeping their ownership stable. This new value will tell us over time.

Numbers of Note

Flattening Transaction Growth


The number of server transactions is still growing but the rate of growth has flattened to around 25% year on year.

It is interesting that revenue is now at a similar growth rate.


As I have mentioned before, while revenue growth has remained around 25% year on year every quarter for the last two years, transaction growth used to be a lot larger. In my mind, these two should go in lock-step; as new users come on board, transactions go up and revenues increase. I am keen to see if this will finally start to happen.

Salesforce is Too Costly

As we can see above, the cost of making Salesforce is growing faster than the money it can be sold for. This means the profitability of Salesforce will continue to deteriorate. The moving averages have also crossed now, confirming the worrying trend.

In fact, if we look at the cost growth, it is the highest it has been for over two years; Marc is falling into bad habits again.

More Money Printing


The growth of stock-based expense, the paying of employees in shares is growing at a higher rate than it has in the last four years. I will explore this more, in the future, when I do this year’s Lemonade Stand analysis but Salesforce is yet again getting drunk on printing their own money via shares.

The GAAP/Non-GAAP Difference

For the end of the year, Marc really cranked up the accounting acrobatics and rhetoric, clocking up a difference of 11 (13 Non-GAAPs to 2 GAAPs). Does Marc realise his GAAP numbers point to a deteriorating set of finances and, therefore, he is dazzling the crowds with something other than brilliance? Almost certainly.

Earnings Call Buzz Word Bingo


2016 Q4

2017 Q1

2017 Q2

2017 Q3

2017 Q4

Number of words




















































The stalwarts of Customers, Revenue and Cloud remain but, as we can see, at five quarters with less than ten mentions, Platform(s) and Software are no longer of interest to Marc and the team.

My guess is, rather than talking about the specifics of what Salesforce offers, he is selling hope, focussing on his Non-GAAP financials and the promise of what CRM software can do for a business.

Looking into the Future

As the next quarter results have come out, I will not predict what they say but I had predicted the last quarter for Salesforce would end with $2.3b in revenue and a break-even for profit. I was on the money for the revenue ($2.29b) but Salesforce sadly made a loss of just over $50m in the last quarter. Better luck next time, Salesforce.


Other than the bouncing back of the share price, from my perspective, it is another lacklustre quarter for Salesforce. Costs are growing fast, rhetoric is up and the insiders/institutions continue to sell their stock.

Next month I will revisit with the numbers that just came out to see if things have improved or worsened.

CRM Portals Metadata Essentials


This time last year I did a four-part series on setting up CRM Portal forms. It is very easy to do and no code is required.

In my current project I am using CRM Portal forms a lot and to make them even more powerful you need to use metadata. So here are some pointers for the metadata options for entity and web forms in CRM Portals.

Metadata are held in two entities:

  • Entity Form Metadata (for Entity Forms)
  • Web Form Metadata (for Web Form Steps, NOT Web Forms)

Let us look at the Entity Form Metadata first.

Entity Form Metadata


There are, as you can see above, six metadata options to choose from.


The one I use the most is Attribute. If you select this, you will need to also select the attribute you wish to modify.


Once this is done some of the things you can modify for the attribute are:

  • The label (Useful for long labels or labels constructed as questions)
  • Grouping fields to total a sum e.g. 100%
  • Grouping fields for a ranking scheme e.g. preferences
  • Grouping for multiple choice questions
  • Displaying option sets as radio buttons
  • Displaying lookups as dropdowns
  • Prepopulate the value of a field
  • Set the value of a field on save
  • Add a description for a field
  • Regex validation
  • Making a field compulsory (this is my preferred way of making fields compulsory as it ensures if the field is displayed elsewhere, it does not have to be
  • Modification of the error messages displayed on the form for the field


This allows the display of the notes associated with the record on the form and determines how the form user can interact with them.


There are also advanced options for adjusting things like labels.

One thing to note is that notes will only appear if they begin with “*WEB*” in the CRM entry. Without this they will not be seen. This is useful if you need to keep some notes private.


This simply allows you to change the section label on the form.


By default, a subgrid on the CRM form used for the portal form displays as read only. To allow more interaction, this metadata option allows for the configuration of:

  • Creating new subgrid entries
  • Viewing existing entries
  • Editing existing entries
  • Delete existing records in the subgrid
  • Deactivate existing records in the subgrid
  • Downloading the subgrid to Excel
  • Associating/disassociating records in the subgrid to the CRM form record
  • Allow the portal user to run a workflow on a record in the subgrid

When I wrote the Web Form part of my original tutorial, I did not know about the ability to modify subgrids but this certainly provides another option for dealing with the addition of child records as part of a form submission e.g. line items in an expense claim.


Like the section option, this simply allows for a label change.


This allows for the display of Activities as a timeline as well setting associated configuration options such as labels and whether attachments are made accessible.

Web Form Metadata

For Web Form Metadata we have the additional options:

  • Setting an Entity Form for the creation of fields on lookups
  • Setting up payments for events (this one is pretty involved so here is a description which may be useful if this is of interest)

Otherwise, as far as I can tell, all the options for Entity Form Metadata are available for Web Form (steps) Metadata.


As you can see, while CRM Portals makes the display of simple forms very easy to do, with metadata, we get an array of configuration options to make our forms even more powerful.

If you are setting up portal forms and cannot find a way to meet a request through standard configuration, metadata may be precisely what you are looking for,

An Innovative Solution For Defeating Shoulder Surfing


A client of ours recently had a problem with security. Specifically, shoulder surfing. The office they used was co-leased with another company and they feared the employees of that other company could walk past and see important information on the screens of their workers. Knowing KPMG is a leader in this field they came to us for advice.

What is Shoulder Surfing?

Shoulder surfing is where someone stands behind you, while you use technology and they gain access to privileged information. The most common scenario, familiar to many of us, is at the ATM, making sure no one is watching as we enter our PIN.

According to Secure:

  • 85% of those surveyed admitted to seeing sensitive information on screen that they were not authorised to see
  • 82% admitted that it was possible information on their screens could have been viewed by unauthorised personnel
  • 82% had little or no confidence that users in their organisation would protect their screen from being viewed by unauthorised people.

So the fears of the client were justified.

The main piece of software used by our client was Dynamics 365 (CRM) so I was brought in to assist.

Dynamics 365 (CRM) and Encryption

CRM has a comprehensive set of security options such as information encryption, field and record level security. However, there is little out of the box for screen-level security. In fact it is an area lacking in most modern applications. We had to think outside of the box.


The solution we came up with was comprehensive label encryption throughout the product. This way, if someone glanced over the shoulder of one of the workers they would not be able to determine what the information on screen referred to. The elegance of this solution is the fields are still transparent and editable, allowing the user to continue managing processes and entering data.

To ensure the users knew what fields were which and which entities were which, they went through computer user navigation training. This involved using an unencrypted system so the user could memorize where things were on the screen before using the production system.

How The System Looked

All levels of the system were encrypted. This is how the the navigation ribbon looked.


All entity labels were encrypted to prevent onlookers from gaining information on the browsing of the user. The users, having undergone their training, knew exactly where the entities they needed were. Similarly, views were encrypted to prevent wholesale data theft.


Even if a malcontent stood behind a productive user, with the entity, view name and column labels masked, they would be at a loss to gain useful information from the system.

We also encrypted the fields on the forms. However, we ran into a small problem due to the Social Pane.


While the Activities label took its cue from the entity encryption, the others could not easily be changed. I recommended the client move to the old Activity grid, as we used to have in previous versions of CRM, as this could be fully encrypted.

Even Advanced Find was protected from prying eyes.


Problems With Implementation

While the users took to the system without incident, the administrators had more difficulty. With the labels encrypted, it was hard to know which entities were which.


However, once the administrators were put through the same training as the users, the problem was resolved.


With the innovative encryption solution in place our client’s information was secure and with the intensive training, the users could navigate the system without issue.

As a gift to the community, I have also been given permission to release the source code for this solution to improve productivity and security for all CRM systems. If you are interested in implementing this “best practice” solution, you can obtain it here.

A Better Way To Use Connections


Connections have been with Dynamics 365 (CRM) for quite a while, replacing the old Relationship Role function. Relationship Roles allowed a user to link Accounts, Contacts, and Opportunities together whereas Connections allow the user to link practically any record.

Like quite a few features in Dynamics 365 (CRM), Connections has not really changed since its inception. While very flexible, the big problem with Connections is they are not very intuitive.


In the above example, it is not immediately obvious to an end user who is the parent and who is the child.

Even in the view, things are not much better.


So what can be done to improve this?

A Better Approach

I cannot lay claim to coming up with this brilliant idea. That title goes to one of my clients’ business analysts. She had the idea of mixing things up a bit. What if we move the Connection Roles and record names around to read more like English. In the above example, we get:


All we have done is swapped the order of the Role and Name fields on the form and slightly adjusted the Role name. So now, instead of reading “Neil Benson, Child” (a harsh characterisation in my opinion), it reads “Child of Neil Benson” which is much better.

Similarly on the Connections grid, who is the child and who is the responsible parent becomes a lot clearer.


All of these changes are simple and transform the Connection into something much more intuitive to use.

What About Advanced Find?

Using Advanced Find to query Connections is never easy and this trick does not help with the deciphering of Connection (To/From) and Role(To/From). For this particular client our solution is to create a series of System Views which handle the Connection navigation and, with these, the users can extend them to address their queries.


In all my years of working with Connections, this simple trick had never occurred to me which shows the power fresh eyes bring to a solution. If you have a client working with Connections I strongly encourage you to implement this simple change. The creation and management of Connections will become simpler and the users will have less confusion about how the relationships work between parties.

Wunderlist Saved My Life (And My Sanity)


I have been a bit quiet on my social channels for the last month or so because I was diagnosed with Type 1 diabetes. Commonly called “Juvenile Diabetes” it is often first diagnosed in children and is a result of a broken immune system attacking cells in the pancreas. My version of Type 1 diabetes has a name all of its own, LADA (Latent Autoimmune Diabetes in Adults).

The main difference with my version is how quickly it progresses. Typical Type 1 diabetes in children progress very quickly, completely destroying insulin production in weeks. With LADA it could be years before I need to use insulin. There is no cure and the cause for the immune system to go screwy is unknown. It happens to people of all shapes and sizes and my dodgy health and exercise regime have not caused it but did help in revealing it.

The last month has been spent getting educated and making some adjustments such as eating a bit healthier and getting organised to introduce regular exercise in my life. Weight management is a big part of living with diabetes and I have plenty to manage. The good news is my blood sugar levels are now stable and within the healthy range for humans and I am losing the love-handles. While I have an illness, I am not sick and intend to stay that way.

However, this post is not about diabetes so much as about how technology has helped me. Given I will be living with diabetes for the rest of my life, you can expect other posts talking about how technology can help people manage chronic conditions.

Being Diagnosed With a Chronic Disease

In this context chronic just means a disease which persists. If you or someone you are close to gets diagnosed with a chronic disease, such as cancer or diabetes, you get bombarded with a lot of information very quickly. You have to manage multiple appointments with multiple specialists and you have a million questions. You also have to educate your loved ones on what is happening and how they can help. This is on top of all the normal commitments you have in your life such as work and children.

Wunderlist To The Rescue

Over the last few weeks, Wunderlist has been, and continues to be invaluable. If you are not familiar with Wunderlist, it is available as a free download for Apple and Android devices and has its own web site (

Its function is very simple but well executed. In short, Wunderlist allows you to store lists of ‘things’ and store notes on them, as well as set up deadlines.

I have used Wunderlist in a variety of tasks to help manage the ramp-up of my illness.

Wunderlist For Reference Data

One way I am using Wunderlist is to capture information for me and others to refer to. Examples include:

  • Procedures such as when I should test my blood glucose levels
  • Weight-loss and diabetic-friendly foods at local eating places
  • Healthy recipes to cook at home
  • Lists for ‘friendly foods’ from the supermarket


Also, because lists can be shared, as my wife usually does the weekly shop, I can share the supermarket list with her.

Wunderlist For Questions

Questions for my ‘Care Team’ come to me at the strangest times. Having Wunderlist a device-reach away means I can record the question and get answers at my next appointment.


To Do Tasks

Finally, and more traditionally, I use Wunderlist to capture ‘to do’ tasks. Whether it is requests to do or buy something from the care team, a web site to visit, or periodic tasks.


As I do the tasks, I cross them off and they disappear.

Why Not Outlook?

I still use Outlook to manage my life but I could not afford to lose the diabetes tasks amongst the general ones. Also, for things like sharing lists, Wunderlist is so much friendlier.

Other Miscellany

Finally, a couple of other points. Firstly, Wunderlist plays nicely with Flow with a pre-built connector so it is possible to link Wunderlist to Dynamics 365. Also, if, like me, you use a stylus a lot (it is so much easier on my Surface Pro than using the track pad), the browser version of Wunderlist does not play well with styluses. Drag and drop requires your finger or a traditional mouse.


You do not need to be in my position to use Wunderlist but if you are working with a list or a series of tasks and need to have it available on any device and to share it with others, Wunderlist is pretty great and worth a try.

For me, without Wunderlist, the last few weeks would have been a flurry of scrappy notes on paper, a lot of stress and a constant sense of being overwhelmed. Precisely what you do not need at moments like this.

With Wunderlist in my corner, I was prepared and organised for my meetings with the health care professionals, have my life better organised and have a strong sense that I am in control. Wunderlist really has helped both my physical and mental well-being and is now an integral part of my management program.

A Configurable Customer Feedback Setup With QR Codes


As well as the blogging presentation at Ignite, I also did a major presentation on stage with Dynamics 365 wunderkind, Doug Daley.


In essence, we showed how the entire Dynamics 365 suite could be used to run a business with configuration (and a small amount of scripting).

Our Scenario

One aspect of the presentation talked about feedback from customers. In our case, the business was a micro-brewery, supplying a local pub and they wanted to capture feedback from the beer drinkers.

To do this, our hypothetical business provided free coasters whenever they delivered a keg. These coasters had a QR code on them leading to a feedback form.


Once the information of the form was entered, it made its way to Dynamics 365 (CRM).

This setup is completely codeless and applicable to most businesses seeking feedback from their customers. So let us get into how it was done.

Firing Up CRM

As we need a web address before we can create a QR code, we will work backwards. First of all, we need Dynamics 365 with CRM Portals. Fortunately, if you have a Dynamics 365 Plan 1 Business Application (the subscription which gives you access to the ‘traditional’ CRM modules) you get one CRM Portals web site for free.

If you do not have a subscription but want to see how this works, you can get a 30 day subscription here.

If you have Dynamics 365 but are unsure how to set up the portal, go to the Office 365 Portal site ( and head to the CRM Administration page (Admin-Admin Centers-Dynamics 365).


From here, select Applications and click the button to Manage the portal.


Select the Customer Self-Service Portal.


Once submitted and the portal has processed the request, you will have a brand new portal, directly linked to Dynamics 365.

Clearly the process has changed significantly since I wrote my primer on ADX Portals.

Setting Up the Portal Page

Once you have a portal, you will need to set up your feedback page. If you are doing it from scratch, you can follow the instructions of Part 3 (for simple forms) or Part 4 (for more complex, multi-entity forms). In my case I recycled the pre-built ‘Contact Us’ form (found at https://<portalname>

You should end up with something like this.


Creating the QR Code

The last part is the easiest. There are plenty of online QR Code generators. This is the one I used. Feed it the web address of your portal feedback page and then affix the QR code to whatever you like. You could even offer a reward for giving feedback and then have CRM automate the process on the back end.


There it is. Piecing together Dynamics 365, CRM Portals and QR Codes, a sophisticated customer feedback mechanism can be created with no code. Once in Dynamics 365, there is the full power of the platform at your disposal, such as PowerApps, Power BI, and Flow.