What Jumps Out From the October 18 Release


The release for the next major release of Dynamics is out and it is over 200 pages long. The document covers what Microsoft are going to bring out for Dynamics from October 2018 up until March 2019.

I will ignore the Finance and Operations/Business Central/Project Service/Field Service/Talent/Retail stuff (because I do not know them well enough to know what is worth getting excited about). Also, anything that is Public Preview (as this is often not available in Australia and is, essentially, a beta release) I will also skip over but anything else is fair game. Here are the things which jump out and get me excited in v10.

Dynamics 365 For Marketing

Account-Based Marketing

Microsoft released Dynamics 365 For Marketing quite early in its development. What I mean by this is there is some basic functionality there but there is plenty of room for improvement. One such improvement is Account-Based Marketing. Until now, the mass communication tools of ‘Marketing’ were for Contacts only. No Lead marketing in the Dynamics sense and no Account marketing. This now appears to have changed. This allows Microsoft to claim Marketing is for B2C and B2B scenarios, which is good. Excitement may be too strong a word to describe my feelings but it is a step in the right direction.

Social Listening For Campaigns


Being able to add hashtags/phrases to Campaigns and then actively monitor the online response to the Campaign from within Dynamics is great. In the Social Engagement section it reveals that this is, essentially, embedding Social Engagement into Marketing. The release does not talk about actioning the social responses but for now, we can add hashtags and see if they light up. We can measure more than the traditional email clicks and opens.


Build Intelligent Sales Applications and Business Processes Powered by LinkedIn Insight

I thought LinkedIn Sales Navigator already brought Account and Contact information into Dynamics but perhaps this is not the case. The release talks about bringing in:

  • Company data such as size, industry, and location
  • People data such as name, company, position, and years of experience
  • Icebreakers and conversation starters
  • Warm introduction connections
  • Recommendations of similar leads in an organization (presumably to circumvent blockers)

This is where the Dynamics – LinkedIn story begins to take shape. For those using LinkedIn you will have already seen enhancements since Microsoft took it over e.g. email prompts to read up on people you are meeting with. Bringing similar insights into Dynamics is a game changer in terms of efficiency. For the savvy user this information was always available. The integration brings it together and makes all users work more efficiently and effectively.

Increase Sales Conversions with Predictive Lead Scoring (Public Preview)

OK, this is in Public Preview but is probably the stand-out most exciting thing for me in the release document. Finally, the app I predicted six years ago is a reality. Well almost. Predictive Lead Scoring rates Leads in terms of their likelihood of turning into Opportunities, based on their attributes (my post from six years ago applied the idea to closing Opportunities).

This is a big deal and is a glimpse into the future of decision making. Lead scoring will tell you which Leads to focus on i.e. the ones most likely to convert. Remember Glengarry Glen Ross where Jack Lemmon laments that the stack of lead cards he is given are useless? In the modern world, Dynamics will reorder the stack to put the best on top.

No one enjoys cold calling. With predictive analytics we can put the ‘hot’ leads with the humans and spare them the cold ones by using AI or automated channels to field interest. Users become more engaged and, again, more efficient and effective (of course in the future, two of the four salesmen from Glengarry Glen Ross will be bots).


Suggest Similar Cases


Another great example of providing available information to the user, as they need it. You can get halfway to this in v8/9 using Knowledge Articles but it still up to the user to enter keywords to search for. Using the Microsoft Text Analytics APIs automates this step.

Imagine a user who is new to the job being asked to solve a complex but common problem. They now have the wealth of experience within the organization a click away. Better service, more productive, less frustration and confusion. Everyone wins.

Dynamics 365 Portals

The release says they have overhauled the platform to make it more reliable and ‘performant’. I have experienced some of the scalability issues of the Portal firsthand so I welcome any improvement in this area.

Integration with other Microsoft services


In this case it is SharePoint document libraries (great if you are storing your Dynamics attachments in SharePoint) and Power BI. Apparently it will be possible to embed Power BI dashboards and reports via liquid script on the Portal web page. Power BI, in the right hands, is crazy-powerful so having this easily surfaced in Portals is very exciting.

Configuration Migration

Moving Portal configuration between environments is not simple. As configuration is held in records, it amounts to a data migration exercise. We still cannot move data via solutions (please make this happen Microsoft!! Saleslogix had this 15 years ago for goodness sake!!) so a data migration tool is needed.

One such tool is the Configuration Migration SDK. My personal experience with it has been problematic. Specifically, if two Web Form Metadata records reference the same attribute, only one comes across with the tool. Microsoft claim they have created a schema for the Configuration Migration SDK which works. I am looking forward to trying it.


There is a LOT in the PowerApps section. Here are the Dynamics nuggets worthy of mention.

Extend Dynamics 365 Entity Forms with Embedded Canvas Apps

This is probably second in my list of exciting things in the release. We can embed PowerApps Canvas Apps within Dynamics Forms. A big strength of Dynamics Forms is their ease of use but this comes at the price of configurability. We only have so much control on field and section layout, for example. This now changes with the ability to embed Canvas Apps.

Moreover, the Canvas App can link to anything we like via the Connectors. The key question for me is whether we can use code to pass information between the Dynamics Form and the Canvas App. If we can, this will be very powerful. Imagine having a Canvas App for adding metadata to an attachment added to SharePoint via the Dynamics forms? Alternatively, we can have a USD-like query form to use in the context of the record we are on. Perhaps we need to query SAP or an Oracle database as part of a Dynamics process but do not want to go through the trouble of bringing the data into Dynamics. We now have a quick way to make this happen.

Native Support for Common Data Service Data Types in Canvas Apps

Option Sets and GUIDs have always been tricky to manage in PowerApps. Interacting with these, took PowerApps from no-code to low-code. This has now been tidied up and the release claims “native (CDS) support for Option Sets (sic) and GUIDs and improving the time zone handling for date/time values”.

Faster Load Times with Parallel Data Loading in Canvas Apps

Tables and entities can now be loaded in parallel, rather than sequentially which has the potential to speed things up. Given one of the biggest gripes about PowerApps is the speed to load, this cannot be a bad thing.

Set Regarding Lookup Enhancements in Common Data Service

It will now be possible to filter the list of entities you can set the Regarding to. This is a big plus for users who, otherwise, have to wade through a giant list of, mostly irrelevant, entities to get to the handful they desire.

Control Availability of User Experiences on Unified Interface

As many of us know who have tinkered with the new Unified Interface (UI), there are some things missing. Here are some they are fixing in v10:

  • Advanced Find
  • Merge Records
  • Record Sharing
  • Bulk Edit
  • Run Workflow

Advanced Find, in many cases, was a show-stopper for clients moving to the new client. Fixing these up will go a long way to bringing users to the new Dynamics world.

Microsoft Flow

The release talks about the ‘citizen developer’. Personally, I detest the term ‘citizen developer’ because self-righteous coders use it as a term of derision. Either you develop (through configuration and code) or you do not. If you do, then regardless of the configuration/code mix, you should be subject to the same discipline in regards to maintenance and governance. In my mind there are simply good developers and bad developers. I know some excellent ‘citizen developers’ and some lousy coders but I digress…

Design flows in Visio


Flows can now be designed and published from Visio. Very cool from a system documentation perspective.

Custom Controls in Business Process Flows


Custom controls in Business Process Flows in Dynamics are now supported for both the UI and Web Client (yes, the Web Client too!). This means we get a lot more flexibility in the look of the Business Process Flows, making them a lot more useful.

Power BI

Not a lot to report in this section of the release other than Power BI dashboards and reports can now be embedded in Dynamics Forms, as mentioned earlier.

Data Integration


If you are not familiar with the new way of doing things in Dynamics, here it is and this is, by far, the biggest change to Dynamics in years. CDS for Apps is the new Dynamics platform. CRM no longer exists and has been broken into Apps (Sales, Marketing, Customer Care etc.) on top of a ‘Core’ Dynamics layer containing just the essentials e.g. Users, Teams, Accounts, Contacts, Activities etc.


While a bit of a simplification, Data Integration is the Flow Connectors, linking Dynamics (or, rather, CDS for Apps) to hundreds of web services. To be more accurate, the Connectors are not strictly specific to Flow; this is just where many of us have seen them. A Connector can be used in Flow, PowerApps, Logic Apps (why does this have a space and PowerApps does not!!), and Power Query (the new data querying tool being pushed in this release).


So there you have it. All the juicy bits that keep me excited about the future of Dynamics/PowerApps/CDS for Apps.

What really excites me is that it is clear that Microsoft continues to improve the product but, more importantly, they are being a lot smarter about it than they have in the past. Instead of developing in parallel to other areas of Microsoft, the ecosystem is coming together. There is no longer Dynamics development running parallel to Power BI development and PowerApps development; they are all part of the same platform, working together. This is a clear, unique advantage to the Microsoft offering, compared to competitors who still deliver disjointed point solution offerings. Very exciting times and a very promising future for the product/platform/ecosystem.


The Shell Game of Salesforce Reporting



Now that I am writing a weekly tip for the CRM Tip of the Day, I have reduced my blog cadence down to one post a month. As Salesforce reports their finances quarterly, this means literally 1/3 of my posts in a year would be about Marc’s experiment in creative accounting.

With things like Flow, PowerApps, and the new unified interface, that is simply too much bandwidth to be devoted to the software Microsoft rejected. So I will do a financial report at the end of the fourth quarter and the lemonade stand cash flow analysis but save the rest for mostly Dynamics content.

It has been a big year for Salesforce from a financials perspective. Through one-off sales and tax write-offs in the past, Salesforce had shown an artificial profit. Now they seem to be generating a real one (the lemonade stand will confirm it but that will have to be another post). The margin is not great compared to the competition and, in my opinion, the stock price is expensive for what you get, but a profit is a good foundation for a business.

What is interesting about this quarter is what has NOT been reported. Salesforce love telling the good news and hiding the bad news. This is why they hold on to Non-GAAP accounting as tightly as they do. A couple of other trends have been working against them and these have mysteriously disappeared from the financials and their web site. Let us go to the numbers.

Salesforce in the News

Salesforce Workers Urge CEO To ‘Re-Examine’ Work With Customs And Border Protection

Benioff has been petitioned from within by hundreds of Salesforce employees to cancel contracts with US Customs and Border Protection over its separation of children from their parents at US borders. This will be a true test of whether the organisation puts cultural values ahead of profit.

How MuleSoft will change the way Salesforce connects its clouds

I must admit I was confused by Salesforce’s acquisition of MuleSoft. Reading this article makes me think this is Salesforce trying to create their own version of Microsoft Flow. Time will tell.

Why Microsoft was so determined to beat Salesforce in the battle to acquire LinkedIn

An interesting take on how LinkedIn fills a gap in the Microsoft sales ecosystem. There are a lot of great technologies out there. The winner will be the one who can bring them together in a way which is intuitive for users.

Numbers of Note

No More Transactions or Staff Numbers

In the last Salesforce review I called out their transactions were shrinking.


I wanted to update this graph but the information is conspicuously absent from the Salesforce Trust site. My guess is the line continues to move down. Show the good news, hide the bad.

Similarly, the financial report no longer reports staff numbers. In that case there was nothing really untoward. Staff growth was around 4% per quarter, which was less than revenue growth but that was about it. Perhaps they do not want to admit they are working their staff harder?

Costs Have Jumped


Cost growth has rocketed from 2% to 8% per quarter, rushing past the 6% revenue growth. As we have discussed before, if costs are growing faster than revenues, profitability will decrease.



Salesforce continues to embrace Non-GAAP reporting to the tune of ten mentions of Non-GAAP to three mentions of GAAP for a difference of seven. So many walnut shells, so few peas.

Buzzword Bingo

The same words again were the only ones mentioned more than ten times:

  • Customers/customer
  • Revenue
  • Cloud
  • Growth
  • Operating
  • Salesforce

Every quarter, for the last four quarters this has been the case. The speech focus never alters and, arguably, the same could be said for the content. I started Buzzword Bingo to get an idea of the focus Salesforce was putting in the quarter; where their strategy lay. The truth is Marc never alters his patter. Every quarter is great and there are no problems or, at least, none he wants to mention.

Predicting the Future

As I am only going to do this review annually, it seems fitting to try and predict the revenue and profit 12 months out. This is much harder but here we go. For the next Q4 report, I predict a revenue of around $3.8b with a 2.5% margin giving a profit of $95m.


In terms of the measures, not a lot changes from quarter to quarter at Salesforce these days so, in terms of interest factor, moving to annual reviews is probably a good thing. It will be interesting to see in a year’s time what data is included and omitted and this, I think, will be where the gems will be.

For this quarter, while there is something suspicious happening with transaction growth, the company appears to be genuinely profitable from a GAAP perspective although costs are accelerating. I will enjoy doing the cash analysis to get a bit more insight into this new, profitable world to see exactly where the money is coming in from: genuine sales or something else.

Triggering Flows With A Dynamics Field Change (And Calling A Flow From A Workflow)


There were many excellent sessions at Dynamics UG EMEA (CRMUG EMEA) in Dublin and, as I recently mentioned in my Tip of the Day, if there is a Dynamics Saturday or Dynamics UG event near you, they are an excellent investment of your time (and not necessarily a large investment in cash).

One question that came up during one of the sessions was how to trigger a Flow on the change of a field. One suggestion was ‘WebHooks’. Talking to the developers in my team they agreed this could work but it struck them as a fair amount of effort for just triggering a Flow. So I wondered if we could put something together with configuration.

Here is the idea I came up with.

What Can We Do Without Thinking Too Hard?

For those that have not tinkered too much with Flows, the Dynamics triggers available are all at the record level. We have:

  • OnCreate (when a record of a specific entity is created)
  • OnDelete (when a record of a specific entity is deleted)
  • OnUpdate (when a record of a specific entity is updated)

Clearly, if I am waiting for a field to change, I have the OnUpdate but this triggers on ANY field change which is inelegant but also potentially expensive when we pay for Flow by the triggering.

My Solution

Back in my Workflow Scheduler blog article, The Flow created a record in Dynamics which triggered the Workflow. This time, we are reversing that. The order of events is:

  1. A field is changed on a record (say the Est. Close Date of an Opportunity)
  2. A workflow is triggered to create a custom entity child record
  3. Flow monitors for the OnCreate of such records and then fires.

There it is. That simple. So what does it look like?

The Custom Entity


The custom entity has a name (which we could use as a variable for triggering different Flows) and a link back to the original record where the field change happened.

The Workflow


In this case, the Workflow triggers off of the change of the Est. Close Date. and creates a Flow Field Trigger record.


We could also use the Workflow to pass values from the Opportunity down to the Flow Field Trigger for posterity but for the purposes of the blog I will keep things simple.

The Flow


I have only created the trigger here as the steps could be anything you like. With the lookup to the originating Opportunity, we have access to all information as if we triggered the Flow directly. As mentioned, we can also bring values from the Opportunity down to the Flow Field Trigger record, with our Workflow, to simplify things.

Bonus Result: How To Trigger A Flow From A Workflow

The more astute of you (and those that read the title) will realise we also now have a method for triggering a Flow from a Workflow (no, v9 does not have a Workflow Step for this). Just as we triggered a scheduled Workflow by creating a record via Flow previously, here we are triggering a Flow by creating a record via a Workflow.


For entities where record creation or update rates are high, triggering a Flow off of the record creation/update may be problematic. While this option requires a little configuration, it gets around this problem and, as with the scheduled Workflow solution, also provides a record to track related Flow actions within Dynamics (with the option of storing the values at execution as well).

Building My Own App Without Code: Part One–The Setup



This week I went to Dublin, Ireland for the D365UG Summit EMEA. This is a conference held by D365UG aimed at users and partners working with the Dynamics products. As well as many passionate experts speaking all things Dynamics, there was a large group of users coming to learn what they can to maximise the use of their products. Usually Dynamics conferences are all about partners and Microsoft so this one is quite different.

Talks varied in their technical content from someone analysing Earth tremors through PowerBI, through to advanced development techniques. As well as presenting, I had time to sit in on some of these other sessions and came to realise that an old dream of mine could become a reality.

For a number of years I have wanted to build a cocktail management system in Dynamics. While the design is relatively straightforward, the problems were more logistical. For example, how do I afford the Dynamics instance it runs on? If I want to share my creation with the world, how do I do it?

Thanks to the presentations at Summit EMEA, I now think it may well be possible to create your own model-driven app in Dynamics and publish it with little to no code.

The App Itself

The app is pretty straightforward


Building this structure in Dynamics should be straightforward and then it will be a case of using the tools of Dynamics to allow for things like working out which cocktails can be made with ingredients on hand etc.

The Process

The process will go something like this:

  • Provision a CDS 2.0 environment to build the app in
  • Build the app in Dynamics/CDS 2.0
  • Package the app for submission to AppSource
  • Get approved
  • Drink Cocktails

I believe I now have the tools to do this at minimal cost and with minimal development skills. In the next part I will provision my environment.

Scheduling Workflows With Microsoft Flow


I recently attended the MVP Summit in Redmond and one of the highlights was a ‘Developers vs Value-Adders’ cage match. Essentially, a business problem was presented and the two sides gave a solution using code and configuration respectively. The referee (me) judged the best response for each problem.


One problem that came up, courtesy of Jonas ‘The Friendly Developer’ Rapp was a classic bugbear in Dynamics 365: the issue of scheduling workflows.


If you are unfamiliar with the bulk delete job engine trick aka the ‘Wittemann Manoeuvre’, this was a workaround pioneered by MVP veteran Matt ‘Freakin’ Wittemann so many years ago. In short, you used the Bulk Delete scheduler to run a workflow.

So, given Matt came up with this trick about five years ago, is there another codeless way to achieve the same end with the new tools available to us? The answer is Flow.

Scheduling Workflows with Flow: Simple Workflows

When we had the cage match, the specific example raised by Steve ‘Not the Bear from Brave’ Mordue was that of a sales team who needed the notes on a record cleared each week after the sales meeting. Flow lends itself nicely to this because we know we can update records in Dynamics through a Flow Action. So how would this look in Flow?


Here it is. First we start with a recurrence Trigger in Flow. This fires however frequently we like and retrieves a list of records using the Dynamics List Records Action. We then loop through the records and update each one with the Update a Record Action. Simple stuff. For the curious, here are the details. The recurrence step looks like this:


Here I just have it triggering every hour. It stats when the Flow is first activated. As you can see, you can set the start time to be whatever you like though. Next we have the List Records Action:


Here I am simply returning all the Contacts in the system. Finally we go through them and update:



So I am updating each Contact record and inserting the UTC date and time into the Description field.

Sure enough, the Flow runs every hour.


and the Contact records get updated.


Mission accomplished. So what if we want to do something more complex than simple record manipulation which is, essentially, all we can do with the Flow Dynamics Actions?

Scheduling Workflows with Flow: Complex Workflows

Flow does not have the richness of Dynamics functionality available to us via workflows so how about instead of trying to replicate the workflow, we simply use the scheduling engine of Flow but call the workflow to do the heavy lifting? The big problem here is there is no Action in Flow to call a workflow but that is ok, we can work around the problem.

The trick is to create a record using Flow and have a workflow trigger off of the creation of the record.


The only difference between this Flow and the previous one is that instead of updating the record, we create a new one. Here I have created a Task but this could be any record which is a child to a Contact. The nice thing about Tasks is they are child records to lots of things and it means we automatically have a record in the Activities of the Contact that a Flow has run against our record.



The Flow has now finished its part in the process and hands over control to the workflow.


The workflow waits for the creation of a Task. If the Task is calling the workflow then it fires and goes through its steps. In this case I update the regarding Contact’s Description field with another piece of text.


I also mark the Task as complete in my workflow but you could also flag it for deletion via the Bulk Deletion tool.


What would be great is if we could call a Flow directly from the workflow which then deletes the Task for us but this is not possible, yet. We could set a flag on the Task and use Flow’s ‘When a Record is Updated’ Trigger, but I digress.


If you are a developer or ‘value-adder’ and you are resisting jumping on board with Flow, you are missing out. While we could schedule workflows in the past through creative solutions like the Wittemann Manoeuvre or throwing code at the problem, Flow provides a straightforward, robust and manageable solution to the problem. To put it simply, Flow is an integral part of the future of the Dynamics platform and to resist it is to be left behind.

How the Internet of Things Made a Pancreas


Type 1 Diabetes (T1D), traditionally known as Juvenile Diabetes, is hard work. Often (although not always) it is young toddlers and children who get it. The cause is unknown. The consequence of getting it is your pancreas no longer manages your blood sugar levels properly and the pancreas’ job needs to be managed manually through diet, exercise and medications such as insulin.

For a parent of a child with T1D, this is a full time job. In the morning and at night, there are injections. Before every meal there are injections. There is constant monitoring of the child’s blood sugar levels with finger pricking, including every few hours during the night. If the child’s blood sugar goes too low they could slip into a coma and die.

Technology does help, albeit at a price. For the blood monitoring, there are Continuous Glucose Monitors (CGMs). These put a little needle under the skin and monitor blood sugar levels without the need for finger pricks. For insulin delivery, there are pumps which are attached and worn 24 hours a day delivering insulin.

Even with these tools the settings and monitoring are still manual. At meal times, the amount of insulin needed is estimated and the pump is manually adjusted. The parents still need to get up in the night and check the blood sugar levels.

Often the CGMs have an alarm if blood sugars are too low but they can be quiet, as Dana Lewis discovered. In Dana’s case she was the T1D and the alarm was supposed to wake her up if her blood sugar went too low in the night. It did not always succeed.

The Internet of Things Makes a Better CGM

Through Twitter, Dana discovered someone on the other side of the country (John Costik) had managed to get the data out of their child’s CGM and into an online spreadsheet so he could monitor his son’s blood sugar levels while at day care. Dana reached out to John and he gave her the code. She began building a better CGM. The plan was simple: pull the data out of the CGM, send it up to the cloud, send it back to her phone and, if her blood sugar went low, the much louder phone alarm would wake her. It worked.

Dana did not stop there. Dana lived alone and there was still the risk that, like many of us, she would sleep through the phone alarm. She reworked the system to send her data to her boyfriend and her mother. If she fell low and slept through the alarm, they too would be informed. It worked.

Collaborating with her boyfriend (Scott Leibrand), she made the alarms predictive. Rather than simply warn when she had gone too low, the alarm now warned her BEFORE she went too low so she could actively prevent it.

The Internet of Things Makes a Pancreas

Dana was still part of the system. The alarm from the CGM woke her up and she made adjustments to the pump to bring her sugar levels back in line. What if the adjustments could be made automatically? Again, someone else on the internet (Ben West) had figured out how to send commands to his pump using a radio transmitter and gave her the code. He too was a T1D looking to automate his pump. With Ben’s code, Dana removed herself from the system and it worked.

By the end of 2014, the system was fully working and it was clear this had the potential to improve the lives of many diabetics and their families. The sale of medical devices are, quite rightly, strictly controlled. Dana and Scott could not make and sell clones of their setup so they did the next best thing: they released the blueprints for free so others could build it for themselves and the OpenAPS (Open Artificial Pancreas System) was born.


Looping Today

The linking of a CGM and pump to automate insulin delivery is called ‘looping’ and there are three main projects on the internet for doing it:

  • Loop (A loop based on Apple technologies)
  • OpenAPS (Dana’s original project)
  • AndroidAPS (A fork of OpenAPS which uses Android technologies)

Looping has been around for 3-4 years and there are hundreds of diabetics using the system to manage their disease. Only now are the first commercial equivalents coming to market with the most basic of functionality. The expanse of time between when the technology arose to address the problem and when it was commercially released is the reason the movement to make an artificial pancreas has adopted the hashtag #WeAreNotWaiting.

When you know, every night, you or a loved one might not wake up and the technology is available to prevent that from happening, wouldn’t you do the same?

For me, the story of OpenAPS shows the best of what the Internet of Things has to offer. Sure, the CGM and the pump use the internet to talk, with no human intervention; a traditional Internet of Things but, to begin with the ‘things’ were ideas and incremental advances. When these came together and interacted via the internet something was achieved which could not have been created in isolation. Something that has the potential to improve the lives and prevent the deaths of thousands of people around the world.

Salesforce: Is The Bear Going Into Hibernation?


It has been a long break but it is back to the blogs and to start off the new year, it is the Salesforce quarterly review. Salesforce hit their third quarter just before the break and here is the breakdown.

Salesforce on the Grapevine (Salesforce News)

Salesforce and Google: The New Celebrity Romance

A while ago, Salesforce and Microsoft were going steady but things went bad. Salesforce now has a new love in their life in the form of Google and their ‘strategic partnership’ together. When it was Microsoft, a ‘strategic partnership’ meant ‘grooming for acquisition’. Interesting times if this is Google’s intention. The news for now is Google is building integrations to Salesforce; the first of which is allowing Salesforce sales data to be analyzed with Google Analytics. This fills a nice BI gap for Salesforce. A romance to watch.

Benioff Compares Facebook to Tobacco

Marc Benioff, suggesting “technology has addictive qualities”, believes it should be legislated like cigarettes. For Australia that would mean a warning splash page showing the detrimental effects of Facebook arguments and unproven health remedies and a ban on using social media within pubs and restaurants. He might be onto something.

Salesforce to Buy Twitter?

As well as the rumor of Google buying Salesforce, there is also the rumor of Salesforce buying Twitter, although the evidence is thin at this stage. This could be Benioff biting his thumb at Microsoft’s acquisition of LinkedIn or it could be a stronger play into the social media market to enhance their CRM suite.

The Undulating Hills of the Stock Price


Again a favorable quarter for the share price, probably due to the improved profitability with revenue growth uncompromised.

Landmarks (Numbers) of Note


While it is hard to divine a pattern in the margin graph, it is true that in the last year, the curve has mostly improved and Salesforce is making a few percent in profit.


While the cost growth has waivered around, for two years the revenue growth has sat steady at around 25% year on year. As mentioned before, the game here is to keep the red line above the green one to improve profitability. As we can see, red is flat and green is heading downwards. This bodes well for Salesforce’s continued profitability. In fact, at the biggest gap between the lines in two years (5%), this is probably the best news in the financials.


Here is the interesting one and the reason for the title. While revenues are growing, transactions shrank, again. This time down from 5.7b transactions to 5.4b. If more customers are embracing Salesforce, as suggested by the revenue growth, why are transactions falling?

As I see it, there can be only two explanations: either the customer base is not increasing and revenue is being driven by price increases or people are getting the same services with less transactions somehow being committed on the servers.

False Trails in the Woods (GAAP vs Non-GAAP)


Just like last month, GAAP was mentioned twice and Non-GAAP six times so we drink four mason jars of moonshine this quarter. I maintain my prediction the gap will reduce as Salesforce becomes profitable.

Noises in the Dark (Buzzword Bingo)

First of all we have the unusual occurrence of a phrase getting more than ten mentions. In this case Marc and the gang said the phrase “our customers” exactly ten times. It is an admirable focus. How about the single words?

2017 Q3

2017 Q4

2018 Q1

2018 Q2

2018 Q3

Number of Words














































No changes in the key words thrown out in the quarterly transcript proving that nothing new is really said each quarter; just a recrafting of the same messages. The only discernible pattern is all words have gone down in total mentions since 2018 Q1.

Getting the Lay of the Land (Predicting the Future)

Last quarter I predicted a profit of $30-40m (they made a little over $50m so well done Salesforce for exceeding my expectations). For revenue I predicted $2.7b which hit the mark.

For next quarter, I predict revenues just shy of $2.9b and for profitability, I am going to go out on a limb and predict Salesforce to break through the $100m mark.


In terms of acquisitions, it is obviously interesting times. Google and Salesforce together would be a formidable competitor to Microsoft. This being said, while I consider Salesforce and Dynamics 365 as on par with each other, I am still a fan of Microsoft Office over the Google office apps. Then there is the question of Salesforce’s lack of an ERP offering to counter Dynamics 365.

Financially, things are not too bad at all. Salesforce has a profit and growth remains steady. The fly in the ointment is the diminishing transactions which appears to be a trend and not an aberration. It is like a company which sells cars getting more profitable but having no cars on the lot; there is something strange afoot.