My latest canvas PowerApps creation provides a streamlined interface for managing “technical close plan” records in Dynamics 365 (set of configured entities associated with Opportunities). I built this app for myself and my peers to spend less time navigating between screens when building out our close plans so that we could have timely and accurate close plans visible to the whole pursuit team.
I estimate a time savings of a few minutes per deal per week. Over time that really adds up. Also, there’s a great peace of mind that I get personally knowing that I’m on top of it.
The only trouble is, I typically work with records inside of Dynamics, and didn’t want to have to jump out to a new browser window (or grab my phone), open the PowerApp, search for the specific record, etc.. That would chew into the time savings too much for my liking.
Unfortunately, both of those assume you have System Customizer or Administrator access to the environment. That’d be a great way to go, but I’m just a regular old user this time—and I don’t have an “in” with the admin either.
I didn’t want to recreate the saved Opportunity lists (system and personal views)…because I’m not a fan of reinventing the wheel inside of my apps, especially when I’m using the Dynamics 365 or CDS connector.
So I built my PowerApp with the assumption that I would spoon-feed in a specific Opportunity record through some other means (with some TBD level of automation).
“What’s a bookmarklet?” You know what a bookmark is in your browser: click a link and go to a website. A bookmarklet looks like the same thing, except when you click, it runs a little script to do something.
In my case, the bookmarklet finds the record GUID based the page I have open, then opens my PowerApp in a new window and passes in that GUID as a parameter.
I couldn’t find something readymade, but I did borrow the script to get the GUID. Big thanks to Benjamin John, who published a couple of blogs with a bunch of Dynamics 365 bookmarklets.
When the PowerApp is launched, specifically when the first screen loads, I use a function to check for the parameter and store it as a global variable:
The second function (the If… after the “;”) checks to see if the parameter was there and the app navigates to the details screen. There are a bunch of ways to do this, so I picked one that’s overly complicated but fun to look at. Oh the joyous freedoms of being a Citizen Developer 😉
All in all, this was a couple of hours from initial research to final product and it’s already saved me a bunch of time in accessing the right record from my PowerApp. It also made me think back to a time before I had Admin privileges in most environments I touch. That’s a fun and creative part of the problem-solving brain that I was happy to say hello to again.
Your first question might be “what is docs.com?” and that’s fair. You may have heard of docs.microsoft.com, which is what it redirects to (or maybe you already figured that out by typing it in your own browser…).
Over the course of the last year (?) Microsoft has made a very notable push to consolidate their public-facing documentation all to the docs.microsoft.com site–and I love it! These are the top reasons I’m a big fan.
Part of good reference documentation is that it isn’t radically different from one product to the next–especially in the case of the Microsoft clouds of Azure, Business Applications, and Office 365 where the products are engineered to work with each other. Having consistency across these helps connect that experience. A few places this is evident includes:
It seems to me like there’s been a significant effort to make this site SEO-friendly (SEO-focused?). I get high-ranking hits of this documentation using the major search providers–which is great considering how fresh much of the content is.
Within the site, the outline (navigation) for each item includes search (if you’re trying to find something within this logical area, with the top-level search just a click away.
This same documentation used to be scattered around a bunch of product specific pages, TechNet articles, MSDN, product manuals, separate roadmap sites, “official” community sites (and probably more).
Now it doesn’t take heroic efforts to track this stuff down. Resources for end users, admins, IT pros, and developers are all here–which is especially great since so many people who would go looking for this don’t fall neatly into just one of those buckets. A huge amount of content is out there already, with some still pointing to old articles (that are being ported and retired).
Every page has the date stamp right at the top of the page, giving a quick heads up as to how fresh the content is or when it may have last been reviewed. In this same area it calls out the people who have contributed to writing the page as well, which for some reason just feels good to remember there are real human beings behind the updates 🙂
I also find it interesting that all of the documentation is written in Markdown and maintained on GitHub repositories. It’s very open to be able to see edit history, publishing over time, and all sorts of other stuff out there.
To anyone building model-drive PowerApps, Dynamics 365 for Customer Engagement, or the Common Data Service for Apps, XRM Toolbox needs to be your friend. In a recent Implement This podcast episode I discussed a couple of favorite tools in the toolbox.
Specifically we talk about:
View the full show notes (and the video I mention) at implementthis.org
Recently Britta and I recorded and released a podcast episode about “cascade rules” behavior. When building relationships between entities in the Common Data Service, these settings influence the behavior of visibility, assignment, and other system capabilities.
This capability can be leveraged when building model-driven PowerApps and extending Dynamics 365 Customer Engagement.
View the full episode show notes at implementthis.org
At a local Dynamics-team meeting, we had a healthy discussion about Microsoft Flow and its fit for business applications as a cross-platform workflow engine. I've been a long-time user of If This Then That (IFTTT) and I'm excited at the prospects of having this kind of service-connecting tool right here within the Microsoft toolset. It shows the embracing of Connecting the Data with 3rd party services(if you will indulge me), without having to rely on custom code 🙂
Coming out of that meeting, Britta and I wished that the discussion had been recorded. It wasn't. But we put our heads together to outline the topics that were covered and discussed them on this episode of our podcast Implement This. The content is still relevant
You can listen at the top of this post, or click through to the episode on our website.
The Dynamics 365 Workflow engine, which is the behind-the-scenes part of the process engine, is massively powerful. For host Britta Rekstad, who has presented on how to use Dynamics workflow at multiple conferences, this is an absolutely critical aspect of the platform for new admins to understand.
Co-host Matthew C. Anderson shares about how some of his early experiences in configuring Dynamics 365 involved workflow. This experience also included a spoken agreement to be careful as the workflow engine (used without care) can cause some pain for other users and admins alike.
We seem to have different perspectives on using the workflow engine, however, there’s no disagreement on how important and powerful this tool is when implementing Dynamics 365. A very flexible tool, this part of the process engine sits out-of-sight to most users but serves an important role.
Have a question you’d like answered on a future podcast? Submit one by visiting implementthis.org
Joel and I revisit our discussion about productivity tools. This time we discuss:
Have you ever had a situation where a little delay makes the difference between an “important request” and “never mind…”? Joel and I talk about walking that fine line on using procrastination as a tool to see whether some tasks may not be worth acting on ASAP.
Let me start by saying I have high expectations around what “good” looks like when I’m buying something. When I buy a product or subscribe to a service, I expect a good customer experience. When I am considering a purchase, I want answers to my questions. When I want support, whether that’s through chat, email, or phone, I want someone with knowledge about the product I have (the exact one I have). When I go to their website looking for accessories, I don’t want to have to sift through gobs of irrelevant options for products I don’t own.
I’m not alone with these high expectations.
In my role as a Solution Lead, I regularly talk with people who could benefit from tightening up their customers’ experiences. Customer Relationship Management systems like Dynamics 365 have evolved beyond the traditional “sales forecasting” or “account management” systems into integrated platforms that enable better experiences for customers…without ever knowing that this interaction is powered by what has been historically viewed as “just a CRM system”.
Any Dynamics 365 online or internet-facing on-premises deployment can be hooked up to a website using the API—this isn’t new and many solutions take advantage of this (simple lead capture forms come to mind). There are ISV solutions as well as pure custom development options.
Microsoft has released their Dynamics Portals solution, which is a big, exciting step.
This solution is easy to deploy with all of the plumbing done for you to provision a website. Simply start with one of several available templates:
– Customer Self-Service Portal
– Partner Portal
– Employee Self-Service Portal
– Community Portal
– Custom Portal
– Partner Project Service Portal (requires Project Service solution)
– Partner Field Service Portal (requires Field Service solution)
Dynamics portals also support interaction tracking of logged-in users. Said another way, this means that by understanding the pages that someone visits, a better user experience can be provided through intelligent suggestions or relevant content.
But there are situations where the personalization needs to go further, or fold into a larger content and engagement strategy. CRM, social, web, e-commerce, in-store, email, mobile app…it’s a big list! Where do we look to?
I connected with a few different colleagues that know the content management and delivery side of this, who could answer some of the questions I had as someone with more of a CRM background. There were three big buckets that came up:
– Advanced lead capture – going beyond a simple “form on a page” – understand the journey that started before they filled out the form
– Enhance customer experience with CRM information – Personalize the website experience based on information about your relationship that come from CRM
– Enhance CRM with customer activity – collect information about anonymous users (both prospects and customers) and connect that history as you build a relationship
In order to meet the high (and rising) expectations for customer experiences, content management tools like Sitecore are your friend, and they include ways to have a deeper connection with your customers across platforms.
There are dozens of questions that come to mind when I start considering the possibilities of what a client’s next questions would be. A few include:
– Who should drive this kind of project, and who else needs to be at the table to ensure success?
– What are some of the milestones that can help measure incremental success of this kind of integration?
– When should we start tracking information about a prospect or client’s activity or preferences, then align that across so many different channels?
– Where is the balance point for the level of detail that should be passed between Dynamics 365 and the CMS?
– Why would we choose a consolidated platform vs. building integrations between services that are already in use?
– How do we make sure that behind the technology, we provide a great client experience across these different channels?
I feel a little like I’m standing at the top of a rabbit hole, excited to see just how deep it goes. Fortunately, I have a really smart team who can help drive answers to these questions. Let us know in the comments if there are specific aspects of this you are curious about.
This post originally appeared on the RBA blog.