Category Archives: SharePoint Online

PowerApps Community Plan

Now, this is just awesome. In another move to increase user onboarding, Microsoft announced the PowerApps Community plan – free for users to get ramped up on building solutions with PowerApps, Microsoft Flow, and the Common Data Service.

Why is this particularly cool? Users have always been able to sign up for a free trial with their own tenant but that has time limitations. Literally millions of O365 users potentially have access to PowerApps via their organizations, but many of these organizations are hesitant to enable PowerApps in their environments. Regardless of your individual situation, you now have access to a free development environment to not just check out, but dig in and learn one of the most promising tools out there for business solutions.

From a SharePoint user perspective, this is a great way to check out the tool that will both replace InfoPath and extend SharePoint out of box capabilities previously covered by SharePoint Designer, Client-Side Rendering (CSR) and JS Link, and other power user tools. Ramp up on your own and be ready for when your administrator turns PowerApps on in your tenant – OR be the reason they turn it on when you understand it’s capabilities and can demonstrate both your skill and solutions ready for your particular business cases. While SharePoint is, and will continue to be a data source for PowerApps – also check out the Common Data Service. Not all apps should be in SharePoint (really, its not the only tool out there. Smile ).

Be sure to check out the FAQ at the end of the blog post for good info as well. You will be able to transfer apps from your individual environment to another tenant… It’s not a dead-end tenant.


  • Sign up for the PowerApps Community Plan
  • Check out the blog post for more details.


Seems worth noting that you create your community account as a part of a business account – which many folks will already have. But not to fear, PowerApps keeps your community account separate from your actual work account by using the same account and password, but creating a new environment. Well done PowerApps Team!


  • ‘TrecStone (default)’ is, yep – the default PowerApps environment for my account.
  • ‘Demo Area’ is a separate environment created to try out environment functionality
  • ‘Wes Preston’s Environment’ is my new personal PowerApps Community Plan environment

SharePoint, PowerApps, and List View Permissions

While discussing SharePoint list views during a recent SharePoint 101 session at our local SharePoint User group, the inevitable question about permissions on columns and views came up. Standard answer: ‘No’. Permissions in SharePoint are set at the list level, or the item level. Nothing is available at the column or view level. However

Here are the facts (today – this stuff changes so fast…):

  • Permissions on SharePoint lists are set at the list or item level. There are no SharePoint settings for permissions on a specific view.
  • PowerApps are surfaced in the views dropdown.
  • PowerApps permissions are set at the App level.

Are you there yet? Did you make the connection? Yep. You can have an item in the view dropdown with permissions different than the list itself. You can now have a ‘view’ with its own permissions. PowerApps are even integrated enough to *not* show up in the dropdown if you are a user that doesn’t have permissions to the App.


Now, PowerApps are not as simple to create as a SharePoint view, but it is possible. Currently two facts hamper users a little bit here.

  1. The current SharePoint to PowerApps ‘wizard’ only creates a phone layout App. Not something that easily replicates a traditional SharePoint view.
    Don’t get me wrong, this template (wizard) is awesome. it just doesn’t do what we’re talking about (replicate a list view) in this scenario.
  2. PowerApps are not yet embedded in the SharePoint interface – so the user experience is not as smooth as we’d like it to be.

I have to believe that both of these issues are on the roadmap for the PowerApps and SharePoint teams. We’ll just need to wait and see if and when they work their way up the list. Smile

Until these are addressed, you have a few things you can do manually with SharePoint and PowerApps. I’m walking through some of the options and steps with this blog series (References listed below – still have more posts to come…).

As with anything you’re working on in SharePoint or PowerApps, you need to pay attention to permissions levels. Extending SharePoint with PowerApps – while awesome – adds to the details you need to pay attention to. #governance. You might run into something like this:

You can also use the ever popular ‘security by obscurity’ approach and remove the PowerApps listing from SharePoint:
Although, you don’t actually have to do the ‘obscurity’ approach though since we have the capability of setting appropriate permissions at both the SharePoint and PowerApps levels.

You have options to switch the visibility, permissions, and integration experience in the SharePoint list menu:

These are a few of the configuration options. Check them out to see if the integration between SharePoint and PowerApps can meet your particular needs. If it doesn’t now, by bet would be that it will eventually… soon even.


Top X Things Needed To Make PowerApps Awesome for SharePoint

While chatting about PowerApps recently, someone told me that I should always know my ‘top x’ things I want fixed, added, changed, etc. I can see where that might be handy to talk about with Microsoft, with other implementers, etc. It’s a quickly changing community and product and hey, they *are* listening. For PowerApps my current focus is on how it integrates with SharePoint. With that in mind, here’s my top 2. I’ll come up with more later. These are the ones I think are *really* important. 

  1. Embedded
  2. Embedded

PowerApps has great potential and already has a running start. But it has to nail the embedded story. If the integration of SharePoint and PowerApps is going to be *really* successful and gain the love of SharePoint users it needs to be easy and seamless. That means when a user selects a PowerApp in SharePoint it’s not going to jump to another application. It needs to run within the SharePoint interface.

So why do I list ‘embedded’ twice? Not because I really, really want it (I do) – but because there are (at least) two distinct embedded use cases:

Embedded Forms

EVERYONE has been talking about forms – which is well and good. They should be talking. They should (and have) been yelling. The gap is obvious and a solution is WAY overdue. With the scheduled end of InfoPath and the rudely unscheduled end of SharePoint Designer’s (SPD) visual designer, users have been left with one of the community’s longest and most obvious gaps. Thanks to third-party offerings (K2, Nintex, etc.) and community-efforts (Stratus Forms, etc.) certain needs have been met, but there are still gaps and it’s been far too long for a Microsoft-sponsored solution for business and power users.

Note: I don’t want this coming off as an anti-Microsoft rant. That is definitely not my intent. There were plenty of reasons for the delay. What they want to do and need to do is not trivial and the standards are extremely high. The integration we’re talking about also requires collaboration (see what I did there?) between two separate, complex, and rapidly changing products and teams. The PowerApps and SharePoint teams are also in different reporting structures within Microsoft. Fortunately both teams understand how important it is to get this particular integration done. The good thing is that there are many indications that this time around they’re going to make it – and maybe even exceed your expectations.

PowerApps needs to be able to replace existing SharePoint forms – the standard New, Edit, and Display forms – as well as add additional forms to a list or library. Form editing needs to be easy and intuitive in terms of which fields are displayed, how fields are laid out and formatted. Beyond that, there are plenty of other features we’d love to see, but the ones listed here are the core. Talk to anyone that’s used InfoPath or SPD and you’ll quickly get a list of wanted features.

We have every indication that Forms and the embedded experience will be addressed. Microsoft has gone as far as announcing that PowerApps IS the replacement for InfoPath. It is important to remember however that the features are coming iteratively, little by little, but continuously. So be patient.

Embedded Views

The embedded story that folks aren’t talking about as much is for Views. SharePoint views have historically been a powerful tool for business users. And while they are powerful out of the box, power users continue to find that they’d like to extend views beyond the out of box capabilities, and extend without involving developers when they are able.

Again, power users were once able to do some limited, yet still extremely useful, view customizations with SPD, but lost that power with the deprecation of the designer view. For the last few years, some customizations were again available using Client-Side Rendering (CSR) and the JS Link property of web parts. While extremely flexible, this approach was beyond most typical business users as it crept into a grey area between out of the box and ‘real’ customization and development. The approach never gained mainstream support or adoption. Now, as O365 continues to mature and lock down features that have the capability to jeopardize platform stability, CSR and JS Link are also going away from fringe power users and exclusively back into the hands of developers (good for the platform, unfortunate for those that were using it). 

Users need a way to get the benefit of SharePoint views, specifically choosing a list of fields, the order of the fields in a grid or spreadsheet format, the filter for the list of items, and how they are sorted. Once those core features are available they’re going to want the ability to customize that view using PowerApps’ ability to change field formats, apply conditional formatting, and other rules.

PowerApps today are surfaced in O365 SharePoint Online via the view dropdown.


Selecting one of them initiates the loading of a PowerApp, but only give the user a button to open the PowerApp – opening the client application.


Embedding the PowerApp would (hopefully) spin up a PowerApp right in the SharePoint window – just like any other view – rather than having to launch a client application – which is a fairly jarring experience for users.

I think there’s some interest in this use-case in the community, but it’s definitely less discussed than the forms example. I’m not sure what the interest level is, but I imagine anyone that was doing CSR and JS Link work would be interested in it. We’ll just have to wait and see.

#3 – A View Template

OK. So I did think of a third item on my list.

The current SharePoint template for PowerApps starts with a SharePoint list and creates a series of three forms in PowerApps. It would be great is there was a PowerApps template that took the selection a step further – into the current views for a list (or library) – and had a default layout that looks more like a traditional SharePoint view – a table/grid layout. This feature alone would allow SharePoint users to leverage their existing investment in views straight into extending them in the PowerApps interface. 


PowerApps is a powerful addition to the suite of tools Microsoft is making available for power users – many of which are currently using SharePoint. The PowerApps team wants to see user adoption grow and has a large group of potential users in the existing SharePoint user base – and SharePoint folks are an eager bunch. We’re already intrigued by the potential PowerApps brings to the table. If Microsoft is able to smoothly embed PowerApps into SharePoint (and Teams!) pages, users will be chomping at the bit to use PowerApps (and Flow) even faster than they already are.

PowerApps – ‘List View’ Layouts For SharePoint Data (part 2)

In the last post we created a PowerApp app from scratch and connected to SharePoint list data. This post will talk about different ways of laying out the data on a PowerApps form (screen). This is EASY stuff. Hopefully you’ll think so too after seeing it.

Coming from SharePoint into PowerApps, the default method is to use the ‘Create an app’ menu item (Microsoft loves to demo this) in the SharePoint modern view that automatically creates a 3-form phone app connected to the list you started from. Yes, this is indeed awesome. However, that’s not what we want in this case – so we’re talking about a different approach. In this article we’re creating a tablet app – one that might look more like a PowerApp embedded in SharePoint (crossing our fingers here) would look. More like a traditional SharePoint view.


So, back to the tablet app approach…

By default when adding a Gallery control and selected the Vertical Text Gallery, we get a control that included 3 fields and ended up looking like this:


Coming from the SharePoint world, this looks like the default view for the Announcements web part or the ‘Newsletter’ view layout. While this is very useful, sometimes I’d like to see the data like we do in SharePoint, in more of a grid/table format. You could even do a hybrid of the two. Either way, it requires moving fields around a bit. Thankfully, this is super easy.

A few notes about the gallery control. You can select the entire control, a single item, or each field on the first item. All customizations to items and fields is done in a single item and will be replicated for all items. To select the item, select the round edit icon in the upper left of the control. This will allow you to resize the item within the gallery. Editing the item (rather than the whole gallery control or an individual field control) allows you to resize the item within the gallery. In our case once we’ve resized field controls and aligned them how we want them we’ll reduce the size of the item to look more like a grid. To go back to selecting the grid, select any item other than the first one.


The plan

I’m going for something similar to an All Items view minus the Description field. That’s 4-5 fields with room for future controls – probably something to view details of an individual item or kick of a Flow, or some other interesting option (future posts).

Resizing, reassigning, and moving field controls

We start with three fields, two of which are larger fonts used as a title and subtitle. There are plenty of ways to go about getting the right fields on the page. I’m going to do the following:

  • Delete the title and subtitle fields.
  • Reduce the size of the remaining ‘description’ field
  • Change the Wrap property from ‘true’ to ‘false’. This cleans up the field a bit if there is enough text to wrap and doesn’t show up along the bottom of the field.
  • Make any other formatting changes to the field control. (before we copy it…)
  • Copy and paste the fields to get the number of fields needed
  • Move the fields around – I’m putting them in what looks like a row of fields, aligned along the top of the ‘item’ space.
  • Select the item and reduce it’s vertical space to just enough to contain the row of field controls. This compresses the items into what looks a lot more like the grid format we’re used to with a SharePoint view.
  • Reassign the data assigned to each field to match how you want your view to display
    Remember: For some field types you may need to use the Advanced tab or the formula box
  • As needed, reformat or resize the fields to make the best use of space

Now, the screen looks a bit more like this:

Probably a good idea to add some text controls across the top as field headers. Now we have:

Easy! Hopefully you think so too…


There are a lot of directions you could go from here:

  • Add some navigation to the screen in the header or footer
  • Change the column headers to more interesting controls
  • Add some conditional formatting to the fields
  • What feature would you like to see added?

The stuff we’ve done is still pretty straight-forward, but if we eventually have the option of embedded PowerApps as views in SharePoint, it would be nice (especially for less-techy folks) to have a wizard or template that can take an existing view and convert it to a PowerApp. The more features we add to a page like this, the nicer it would be to have it automated. Smile


SharePoint Online Public WebSites – Replace with WordPress

Before, and Now

Earlier iterations of SharePoint Online / Office365 included a public site. This was a simplified version of a site collection, a simple content management solution that produced a ‘brochure-ware’ type site. Microsoft announced that these sites would be going away and in March ‘15 new public sites could no longer be created. Existing sites could continue for the time being.

The latest information on these changes can be found here: 

Pay particular note of the important dates listed in this article. Public sites can be extended, but will eventually be deleted.

The original public SharePoint site was intended to be a ‘brochure-ware’ type solution: Still based in SharePoint and easy to update, but really just a few static pages. As with anything in SharePoint, users figured out how to hack and pick it apart into something more. IMO something beyond what Microsoft intended. For whatever reason, public sites were officially deprecated. So, time to find an alternative.

Moving forward

Microsoft does have info for migrating to partners and hosts: 

For my particular needs, I’m going to replace my SharePoint public website with WordPress. I’m already using it for my blog and you can easily create static pages. The management of pages is very easy. The platform is extensively used – both as a hosted option from WordPress itself, and through many hosting providers as a service. Once WordPress is set up it’s extremely easy to update. I can also use the blog capabilities later if needed. Because of the popularity of the platform, there are also a plethora of plugins that offer additional functionality – like embedding other blogs.

WordPress Basics

I don’t want to get into too much “how do you use WordPress” as there are plenty of great resources out there. For this use case I’m going to point out details that were useful to migrate from SharePoint public website to a WordPress solution.

Setup and hosting

First, you need to find a place to host your WordPress site. The easiest is probably, but there are plenty of third party web hosts that are set up specifically to host sites as well. You can also install WordPress yourself. Or, you can host WordPress on Azure. 

If you’ve got an existing site, you’ll likely get your site set up on a temporary address – an Azure address, a WordPress address, or something specific from your host – before configuring your actual domain name to point to it. More on that later.


Once you’ve got the main platform installed, you can take a look at plugins. I’ve got three main plugins activated on my site: Akismet, Jetpack, Hide Title, and WPtouch.

Akismet is primarily for spam protection. If you have comments enabled, you’ll want to use Akismet to keep spam comments in line. It’ll block many automatically and flag others for review. If you’re only using the brochure-ware features – static pages – of WordPress and not using the blog, I’d just turn comments off. This also makes Akismet not needed.

Jetpack is a plugin from that extends features usually only available on hosted sites. I like to use the site statistics, but Jetpack also brings a contact form as well.

Hide Title was used to clean up the static home page by hiding the default page title. As a blog it’s nice to have the page title displayed, but as a home page you want to see the name of the blog.

WPtouch Mobile enables a mobile-friendly version of your site without having to do anything else.

Migration of content

Next, you will be bringing your content over or creating new content. In my case it had been more than long enough to review and update my content at the same time. Regardless of the status of your existing content, it’s likely best to start by inventorying pages, content, and any functionality.

Create pages and navigation links in WordPress. (plenty of info on this out there…)

By default, a WordPress site is set up for blogging. You can easily switch the configuration to look more like a non-blog site with a static home page. Follow the directions here for creating a static homepage rather than the normal blog home page.

If you were using a contact form as part of that SharePoint public website, you can easily replace it with a Jetpack contact form: Create a Contact Form 

Be cautious of cutting and pasting content as odd HTML can be brought across. I ended up switching back and forth between the Visual editor and ‘Text’ editor (where you can see HTML) to clean up the tagging. The main issues I saw were with <div> tags causing weird spacing. Once I cleared those out things went much easier.

Themes. Depending on the theme you choose, you might end up splitting content across a few more pages. I found that the theme I used took up more space – so looked at logical ways to split text up into additional pages. I’m using ‘Twenty Sixteen’ for the moment – mostly because that’s what I have for my blog. I may change it out to get a slightly different look.

Flipping the switch

Now that the site is up and configured and content has been migrated, updated, or created – it’s time to get the domain switched from O365 to the new site.

IMPORTANT – if you’re going to continue using O365 for everything else – including email – you are ONLY switching the domain configuration for the public website, not the entire domain. This requires a little more configuration.

Network configuration is NOT my forte… but the documentation is pretty good and the support folks I spoke with were very helpful. The players here include: O365 administration, your web host, and your DNS host. I found the following to be helpful.

What I don’t like about these settings is needing to wait for them to propagate out through the web. Some settings will appear to be implemented immediately while others might take up to a day to kick in. Not fun for troubleshooting. Be sure to stay on top of the changes though as they can easily affect email as well.

What’s next?

Themes. There are TONS of these available. You can spend all kinds of time looking for and testing WordPress themes on your site.

With all the fun stuff coming from Microsoft along the lines of PowerApps and Flow, are there any cool scenarios that might work with the WordPress site? There IS a connector… Move content from your internal SharePoint site to WordPress? Automate emails from your contact form?

Things to look into. Smile 


Depending on the details of your public site, you might require more robust content management capabilities or custom functionality. WordPress is only one of many options available. A custom site may be a better fit as well. Having started playing with PHP, Bootstrap, and other standard web tools they could easily spin up a simple site that fits the needs of the site. ‘It depends’ extends beyond SharePoint. Winking smile 


JS Link in SharePoint – Choose your Path Forward

Times they are a changin’…

Microsoft continues to roll out the new ‘modern’ interfaces within the SharePoint platform. This is happening initially with SharePoint Online, but is also coming to on-premises deployments with SharePoint 2016 and Feature Packs. While this is a good thing for end-users overall, it does come with a price when it comes to customization options and JS Link. The new interface – the new approach – locks down client-side customizations and unmanaged code in a bid to increase the stability of the platform.

I should clarify that the JS Link approach I’m talking about is the one I’ve been working with and sharing the past few years: Using the JS Link web part property in the web interface and uploading JavaScript files via the browser. This is different from the JS Link approach used by ‘real’ SharePoint developers accessing JS Link via managed and deployed solutions. 

Classic Mode

The JS Link approach we’ve been using is still available through ‘Classic Mode’. Microsoft has stated that Classic Mode isn’t going away any time soon.


This means we can continue to develop solutions and customizations using JS Link and Client Side Rendering (CSR) for the foreseeable future.

Downsides of continuing to use JS Link in Classic Mode are: While the ‘modern’ and ‘classic’ interfaces work just fine together they aren’t visually consistent – so it’s a bit of a shift switching from one to the other during day-to-day usage. There also aren’t any migration paths from JS Link solutions to PowerApps or new custom solutions.

The future for power users, however, is really in PowerApps.


Get on the bandwagon now. PowerApps is the future and is a tool not just for SharePoint users – though it does bring new capabilities to SharePoint with forms and mobile accessibility. Between Power BI, Flow and PowerApps, the Business Application Platforms tools are the new area for power users to work in.

Currently, the integration between SharePoint and PowerApps is just scratching the surface, but there is more to come and in all likelihood those changes are going to be coming pretty quickly. Today you can create a PowerApp from SharePoint Online lists and the app will show up in the list view dropdown. Selecting a PowerApp today launches the PowerApps interface. While it’s not live yet, Microsoft has already demoed and shown functionality (in screenshots) of PowerApps embedded right IN a SharePoint page. Once this is possible, the user experience will be dramatically better and solutions (apps) built in PowerApps will start to replace what we previously built with separate SharePoint pages, views, and forms.

With the tools available today, PowerApps can create an app from a SharePoint list – either in O365 or on-premises if using a Gateway – and will create a form-based solution. What I hope to see is an additional template/wizard type of project that looks more like a traditional SharePoint view –hopefully even based on an existing view in more of a grid-focused solution rather than forms on a mobile-device-sized screen. We’ll see what we get. 

SharePoint Framework (SPFx)

When it comes to real customizations, the grey-area we’ve been operating in with JS Link is going away. *Real* customizations are intended to go through developers using the new SharePoint Framework (SPFx). This is managed and deployed code. Where with the current JS Link approach we could have a single JavaScript file, you now need a new stack of open source tools, projects with hundreds of files totaling over 100MB, customization of just the right files, and then deliver the finished package to an IT Pro to deploy in your environment. While this is better for the stability of the platform (again, which is good…), it is now significantly out of the reach of power users.

There’s a lot of information out there about the SharePoint Framework, but it is also new. So, we’ll be seeing changes and additions to it as it gets closer to mainstream. Bottom line is if you’re a developer in the SharePoint space, you’ll want to add SPFx to your list of things to ramp up on sooner rather than later. 

Future ‘Modern’ Interface Updates (?)

Disclaimer: This is *not* real. These concepts are a figment of my imagination and wishful thinking. There has been no word from Microsoft on any new features here.

Some of the things we’ve been doing with JS Link and CSR are relatively simple things, like column/field formatting and conditional formatting. It would be really cool if some of these ‘simple’ additions could be added to the web interface so we don’t even need to do customizations or PowerApps solutions.

What I’m thinking of is updates to how the SharePoint View is defined within the web interface. Today we have the list of columns/fields available in the list. We select the fields we want displayed in the list and set the order that the fields are displayed in.


A nice addition here would be to add formatting options for each column. Simplest would be simple HTML/text formatting. Next level of complexity would be conditional formatting. Next level up from that would be more along the lines of a calculated field, but combining HTML and field data like item ID. The first two at least seem reasonable to request. Smile Conditional formatting alone would likely meet the majority of requests by power users.

You certainly wouldn’t be able to do *all* the things we were doing with JS Link field and item overrides, but there are a few things that seem within reach if the SharePoint Team had them high enough on the priority list. 


So, choose your path. And yes, it (still) depends. Winking smile 

If you’re in an on-premises 2013 environment, you can continue using and building JS Link solutions. However, you’ll need to rebuild those solutions when you move to SharePoint 2016 or SharePoint Online. I haven’t tested migration from 2013 to 2016, but I suspect JS Link customizations would come forward as ‘Classic mode’ customizations.

If you’re in an on-premises 2016 environment, you can continue using JS Link solutions, but I would start looking at PowerApps here as well. Even with PowerApps living in the cloud, you have the ability to reach on-premises environments using Gateways. The integration likely won’t be quite as seamless as it will be in SharePoint Online, but Feature Packs may continue to improve this.

If you’re using SharePoint Online (O365), send your power users down the PowerApps path and your developers down the SharePoint Framework path. In the meantime, continue using JS Link and the pages in Classic Mode until you’re ready for the new stuff.

Previous Posts and References

JSLink – Filter on a Lookup Column with CSR

Lookup columns are both useful and a little odd in how they’re implemented in SharePoint list views. I wrote a bit about this in a previous post and showed one example on how to deal with Lookup column content. This post shows an alternative – and possibly more useful approach.

We’ll change the default link in the lookup field to a link that filters the current list by the lookup field value.  Yes, users can also use the filter built into the column header – this is just another way to implement it. I also think this is a bit more intuitive for users.

At the end of the day, this is just another example of custom link ‘building’ with CSR.
Sample File: CSR_LookupSelfFilter.js

Key lines:

With ‘Theme’ being the internal name of the Lookup field that we’re filtering on. Fairly straightforward.

The full list:

After clicking ‘Technics’:

Now we also need to add a ‘reset’ link to the web part so that users can get back to the default view. Otherwise, they could get stuck in a dead end after selecting a filter value. There are all kinds of ways to implement this, for simplicity’s sake we just updated the title text and link. 



Obviously you don’t *actually* have to change the text of the web part header – just the URL. Smile But again, it seems like better UX.

Hope this is useful.

JS Link and CSR Page

PowerApps and SharePoint – Filtering the List View

*Disclaimer* – This post based on Preview version of PowerApps. I’ll make every effort to update with any changes and verify when PowerApps is released. 

One of the powerful features in PowerApps for SharePoint users is the ability to create an app from a SharePoint list. When using this feature, PowerApps creates three screens for us to start with: A Browse screen, a View screen, and a New/Edit Item screen.  

The Browse screen contains a Gallery control – which displays the contents of a list. By default it shows ALL items in a list. This might be fine for some business needs – especially with the inclusion of the search functionality also built into the default screen. Some use cases however may look for a filtered view of a list. 

The Short Version

The browse screen is set up to show all items, as well as take input from the search box. I’m going to change the list to display all items where the Request Type is a certain value.

  1. Select the Gallery on the browse page 
  2. Change the Items formula from search-based to filter-based:
    SortByColumns(Search(‘Service Requests‘, TextSearchBox1_1.Text, “Comments”, “Notes”, “Title”, “Title”), “Comments”, If(SortDescending1, Descending, Ascending))
    SortByColumns(Filter(‘Service Requests’, ReqType.Value=”PEBKaC”), “Comments”, If(SortDescending1, Descending, Ascending))
  3. Items displayed on the screen should now be filtered by the Request Type.


  • Similar to other methods in SharePoint (like CSR with JSLink) the field names seem to be using the internal name of the field. Above, when accessing the Request Type we needed to use ‘ReqType’.


Getting Started with PowerApps (Preview) for SharePoint Users

Notes and Setting Context

PowerApps is a new product/service offering from Microsoft for building business solutions that connect data from a variety of services and locations – including SharePoint Online. It is targeted at ‘power users’ – which is a somewhat broad and undefined group of users. It’s safe to say that not all SharePoint users will be able to build solutions in PowerApps intuitively as it does require a different skill set – but it is not coding.

  • PowerApps are available through an Office 365 account for users within your organization. Apps are not public-facing. You’re not creating a stand-alone app that anyone can download and run. It will only work for your tenant. The app owner determines who has access to the app: it could be a list of individuals or the whole organization.
  • PowerApps is not a replacement for InfoPath… yet. It certainly has potential. Yes, it has forms – but it’s not going to be on par with what InfoPath had to offer in terms of complexity for now.
  • PowerApps was not developed exclusively for SharePoint – so don’t expect a SharePoint-only kind of focus from the product. It integrates with a LOT more platforms and services. SharePoint is one of them and it already does do some cool stuff for the SharePoint platform.
  • PowerApps is targeted at the mobile platform – specifically phone and tablet devices, but it will be surfaced in the browser as well. The mobile client lists out apps that the user has access to. Apps can also be pinned to the desktop of your device rather than having to open the PowerApps app first.
  • Within SharePoint, PowerApps will soon have a presence within the new ‘modern’ SharePoint lists and libraries – more to come on that soon.
  • PowerApps is built on Azure. So it’s cloud-based. PowerApps Studio is a local tool, but connects to PowerApps Portal – which is a cloud service and relies on the cloud for Connections.
  • Connections’ and ‘Gateways’ are how you get access to services and data. Which ones are available will be determined by licensing… which is still TBD. While currently in Preview mode, we have access to all available connectors.
  • PowerApps is part of a broader effort targeting power users – so check out the other tools and capabilities as well.
    Start here:
    And here:
  • If you are or were an Excel or Access ‘guru’ building complex formulas, spreadsheets, and/or Access solutions, you’ll probably be pretty confortable digging into PowerApps (and Flow).
  • The documentation is fantastic for this point in a new product release. Seriously I can’t give enough kudos to the team putting this stuff together.

Where To Start

  1. Check out the tutorial found here: 
  2. Go to and log in with an account you use with Office 365.

Where To Go Next

Honestly, just dig in. It’s pretty easy. There definitely is a learning curve the deeper you get. But you’ll see a bunch of cool capabilities just by clicking around. You can have a mobile powerapp running on a SharePoint Online list going in minutes.

I’m putting my links and resources here:
So, without repeating all those links in this post, just check it out. Smile

PowerApps Preview – SharePoint Field Workarounds

*Disclaimer* – This post based on Preview version of PowerApps. I’ll make every effort to update with any changes and verify when PowerApps is released.

The following is a discrepancy happening in the Preview mode that will likely be resolved in the release version. Until then, something to mention so others don’t get frustrated when working with PowerApps during the Preview stage.

When looking at the columns in my SharePoint list, I have the following:

Figure 1

Now, I create a PowerApp based on the same list. BrowseScreen gives me four controls/fields on my card by default.

Figure 2

When using the dropdown values for the controls, I get the following:

Figure 3

Which is *not* the same as my list of fields. It looks like I’m missing:

  • ReqType (choice)
  • AssignedTo (Person)
  • CreatedBy (Person)
  • ModifiedBy (Person)
  • Status (choice)
  • Priority (choice)
  • Dept (Lookup)
  • Dept:ID (Lookup – additional field)

The missing fields are Choice, People, and Lookup fields. All of these fields are a bit more complicated behind the scenes. Thankfully we can still get to the data but we need to be a little more deliberate about it.

Note: ID comes as a bonus and IS available for selection. While ID is not shown in SharePoint’s List Settings we know we can get access to it in views. It’s a column that’s just behind the scenes sometimes in SharePoint.

As shown in Figure 2 above, PowerApps provides an easy way to select a control on the card and select which field it should represent. You can also use the Text property directly – either in the top property control or on the Advanced panel (select the View tab, then click on ‘Advanced’).

Figure 4

In the formula box for the property, delete the field name (‘Comments’). With the cursor after the period, the dropdown suggestion should now show all available fields – including our missing fields.


  • SharePoint’s CreatedBy is shown as ‘Author’.
  • SharePoint’s ModifiedBy is shown as ‘Editor’.


‘ThisItem’ is not needed in this example. You can type the field name directly. However, if you want to see a list of the fields available, you can use ‘ThisItem.’ in the formula.

Select ‘Editor’. Your formula now shows ‘ThisItem.Editor’, but the field is showing an error.

Figure 5 – ‘Attention needed’ in the Advanced panel

Figure 6 – ‘Attention needed’ in the form designer

As the message indicates, we need a text value to display, rather than what is essentially a person object. After ‘ThisItem.Editor’ add another period to see additional options – and select DisplayName. This provides what we’re likely looking for.

Figure 7

Figure 8

Choice fields work with:

Lookup fields work with:

If additional fields are selected for display (a field setting in SharePoint), they may show up as:
Ex. ThisItem.Dept:ID.Value

Currently seeing what should be Dept:ID showing up as:
Dept_x003a_ID – I’m guessing this will be updated before release as well.

People fields have a list of values available:

  • Department
  • DisplayName
  • Email
  • JobTitle
  • Picture

All in all, this issue doesn’t stop us from building what we’re trying to build, but it is an inconsistency in the UX and can be confusing or frustrating to folks during the learning curve.

Please – Let me know if you see something different so we can keep this info current.