Customize the SharePoint command bar icons and titles with JSON formatting
Previously I posted about hiding buttons in a SharePoint list using JSON formatting using the command bar customization. The same customization features can be used to edit the buttons icons and titles, for example, below we have a custom bar that replaced some of the native buttons icons and text. By adding values to the ‘text‘ and ‘iconName‘ properties we can accomplish this. For example, if we apply the...
Customize the SharePoint command bar icons and titles with JSON formatting
Previously I posted about hiding buttons in a SharePoint list using JSON formatting using the command bar customization. The same customization features can be used to edit the buttons icons and titles, for example, below we have a custom bar that replaced some of the native buttons icons and text. By adding values to the ‘text‘ and ‘iconName‘ properties we can accomplish this. For example, if we apply the...
Customize the SharePoint command bar icons and titles with JSON formatting
Previously I posted about hiding buttons in a SharePoint list using JSON formatting using the command bar customization. The same customization features can be used to edit the buttons icons and titles, for example, below we have a custom bar that replaced some of the native buttons icons and text. By adding values to the ‘text‘ and ‘iconName‘ properties we can accomplish this. For example, if we apply the...
Customize the SharePoint command bar icons and titles with JSON formatting
Previously I posted about hiding buttons in a SharePoint list using JSON formatting using the command bar customization. The same customization features can be used to edit the buttons icons and titles, for example, below we have a custom bar that replaced some of the native buttons icons and text. By adding values to the ‘text‘ and ‘iconName‘ properties we can accomplish this. For example, if we apply the...
Customize the SharePoint command bar icons and titles with JSON formatting
Previously I posted about hiding buttons in a SharePoint list using JSON formatting using the command bar customization. The same customization features can be used to edit the buttons icons and titles, for example, below we have a custom bar that replaced some of the native buttons icons and text. By adding values to the ‘text‘ and ‘iconName‘ properties we can accomplish this. For example, if we apply the...
Customize the SharePoint command bar icons and titles with JSON formatting
Previously I posted about hiding buttons in a SharePoint list using JSON formatting using the command bar customization. The same customization features can be used to edit the buttons icons and titles, for example, below we have a custom bar that replaced some of the native buttons icons and text. By adding values to the ‘text‘ and ‘iconName‘ properties we can accomplish this. For example, if we apply the...
Customize the SharePoint command bar icons and titles with JSON formatting
Previously I posted about hiding buttons in a SharePoint list using JSON formatting using the command bar customization. The same customization features can be used to edit the buttons icons and titles, for example, below we have a custom bar that replaced some of the native buttons icons and text. By adding values to the ‘text‘ and ‘iconName‘ properties we can accomplish this. For example, if we apply the...
Microsoft Forms: Hiding the ‘Untitled Form’ label in forms without a title
If we want to create custom headers for Microsoft Forms, as we don’t have many customisation options, an alternative way would be to create a custom image. But if we want to add the form title to the image, and leave it as blank as below: Forms always will set the title as ‘Untitled Form’ when you save it, even if you add spaces to it: However, it turns out that if we add the ‘zero-width space character‘...
Making a Canvas app become Teams & SharePoint theme aware (with the help of the PnP Enhanced Power Apps WebPart)
By detecting the theme parameter that Teams passes to Power Apps canvas apps when added as Tabs or Personal apps, we are able to make them Teams theme aware, but the same does not happen when we add a Canvas app to SharePoint using the standard Power Apps WebPart. However, there is a free open-source sample in the Microsoft 365 PnP sp-dev-fx-webparts Repository (Enhanced Power Apps WebPart) that we can use to help achieving that. This...
Hiding the New and Upload buttons from a SharePoint document library using JSON list formatting
Recently I got a query about hiding the New and Upload buttons for a SharePoint library, because there was a need to allow users to browse documents using out-of-the-box SharePoint views in a library while still having permissions to upload files so that they could upload files using an SPFx WebPart or a Canvas App. This request can easily be achieved using list formatting, by adding customisations to the command bar to hide some...
Build powerful Adaptive Card experiences for Teams using Cards for Power Apps
Cards For Power Apps (Preview) is a new type of app in the Power Apps family, designed to be used as mini apps instead of full-fledged web pages or mobile apps as normally Canvas apps are used to build. Cards are based on the same technology that powers Adaptive Cards. As Cards for Power Apps support Power Fx, logic and data manipulation can be easily done with PowerFx and also with the help of Power Platform connectors,...
Ignite 2022: Curated list of posts from Microsoft related to Microsoft 365 and Power Platform
Microsoft Ignite 2022 brought several amazing announcements across all the Microsoft cloud platform. Are you interested in updates related to Microsoft 365 collaboration tools (SharePoint/Teams/Viva & related) and the Power Platform, but missed any update or want to know more details? In case you missed any updates or are interested in more details, here is a curated list of posts from Microsoft official blogs & sites released...
Calling Graph API using a flow and manipulating the results from Power Apps using the ParseJSON function
Recently I posted about using a generic flow to call the SharePoint Rest API from a canvas app and parse the results using the ParseJSON experimental function, in a way that we can almost simulate as if we could call the SharePoint Rest API from a canvas app. The same technique can be applied to call Microsoft Graph API, as in the example below where we retrieve the list of group members from a Microsoft 365 group, including nested...
Export a Power Apps gallery as PDF file using the new PDF function, and email it with the Outlook connector
With the recently experimental PDF feature that is available from Power Apps authoring versions 3.22094.* we are now able to export screens, galleries and containers to PDF and obtain the output of this export as bytes, and use it on the PDF viewer or send it to a flow, so we can save it to SharePoint, OneDrive and etc. The advantage of this approach instead using the Print function to print screens is that we can get the full content...
New Sorting actions for arrays/tables In Power Automate: sort & reverse
Until recently it was not possible to easily sort arrays or collections of objects in Power Automate using a single expression, either complex logic techniques or Office Scripts were required. But recently two new handy expressions became available in Power Automate that make it really simple to do: sortreverse How the sort expression work The sort expression accepts either an array with simple values or a collection of objects. If...
How to use Power Apps named formulas (experimental feature)
Recently Microsoft announced a new experimental feature in Power Apps: Named formulas Named formulas in summary are, defined functions without parameters, that can be reused anywhere in a Canvas App. What are the advantages of using Named formulas instead of global variables (defined with ‘Set’)? The formula’s values are always available, there is no time dependency as it happens on App.OnStart (if you enabled...
Creating a Planner Plan and adding it as a tab to the General channel of a Teams team using Power Automate & Microsoft Graph
Some time ago I blogged about using Power Automate to create Planner Plans and recently I got a query on that post about adding the created plan to the General channel of the related Team as a tab. The procedure to add a Planner plan as a tab using Graph is not documented by Microsoft, but by investigating manually added examples, I could figure out how to do it. Bear in mind this is not a documented procedure and may break if the tab...
Using the ParseJSON function and a generic flow to call any SharePoint Rest API endpoint and manipulate the results from Power Apps
Even though there is a ‘Send an HTTP request to SharePoint’ action in Power Automate that allows us to call any SharePoint Rest API endpoint, there is no equivalent action for the same in Power Apps. We can leverage Power Automate Flows to help with any action that is exposed through the SharePoint Rest API, but as previously there was no easy way to parse JSON objects in Power Apps without a premium license, the process could be a...
Two approaches to replace all occurrences of a value in a String using SharePoint list formatting: replaceAll & split + join
Until some time ago there was only a replace function in list formatting, which allowed us to replace only the first occurrence of a value in a string. Recently Microsoft released two new operators for list formatting: replaceAllsplit With the replaceAll we can easily replace with all occurrences of a value in a string as in the example below, where we replace client by customer: replaceAll has 3 parameters: field, original value,...
Folders-enabled SharePoint lists: Trigger a Flow only when Folders are modified VS only when Items (not folders) are modified
For organisational purposes or even for having different permissions in a SharePoint list, without having to handle item-level permissions, we can leverage folders in a list by enabling folders creation under the list advanced settings. With folders in a list then we can break permissions in a folder instead of each item, and then grant access to a specific subset of list items in a SharePoint list. When we create Power Automate flows...
New ‘Send an HTTP request’ actions for Office 365 Groups, Outlook and Office 365 users in Power Automate
Recently, the ‘Send an HTTP request’ action below the Office 365 groups connector in Power Automate went silently to GA. And we now have equivalent new actions in Preview below the Office 365 Users, Office 365 Groups, Office 365 Groups mail and Office 365 outlook connectors. Now each connector supports its related segments in Microsoft Graph, instead of a single connector supporting more operations previously (Office 365...
Moving a Canvas app into a solution and keeping the associated URL and ID in different environments
If for any reason you have built a Canvas app outside of a Solution, and published it to multiple environments using the export/import functionality of Power Apps, if later you decide to add it to a solution (best practice) and redeploy the app to those environments using solution export/import, you will be duplicating the canvas app and the canvas app present in the solution will have a different ID and by consequence a different...
Updating list views JSON formatters for a SharePoint list using Power Automate
Imagine a case where you want to apply the same JSON custom formatting in all SharePoint list views for a list and this list has a lot of views. You would need to do it one by one in all views, or you could use PowerShell to script it. But not all the times you are able install PowerShell in your work computer. That’s when Power Automate comes handy, we can create a button Flow to run this action for us. The same idea can even be...
SharePoint lists custom View and Edit Buttons using JSON Formatting
If you need to add custom buttons as below to open SharePoint Online forms from list items (with the same behaviour as if you opened them using the out-of-the-box options), you can add them easily by using list formatting JSON, as below: The main point here is to add a customRowAction element to a JSON template. This row action will allow you to call several list item out-of-the-box actions from the custom button/HTML element. For the...
Power Apps: Patch data from the Office 365 Users connector to a SharePoint multi-user field without using collect
Sometimes when building a Power Apps Canvas app we want to use the Patch function instead of Forms to update items in SharePoint for several reasons, such as to have fewer controls in the screen, or to have more control over how the data is updated. For some complex fields, it can be trickier, as there will be more data manipulation needed and the format varies per field type. Especially when you are updating data using a data source...
Glossary View formatting: JSON Template including Related Link
A few people who used my previous sample/post on building a Glossary page using list formatting and connected webparts have asked for another version of the Glossary formatter with the feature of adding a related link. This post is to explain the changes made to the earlier template. New Column Add a new column with type ‘Hyperlink or Picture’ , with Hyperlink selected to the list. The internal name should be RelatedLink...
Filtering SharePoint lookup fields in Power Apps combo boxes by more than one related field
When we use a SharePoint lookup field in Power Apps forms, the default filter for the combo box control that is created automatically when adding a lookup field to a form will filter items only based on the primary lookup value. Sometimes it can be useful to search on more list fields, especially when we create only the custom form using Power Apps and the lookup field has projected fields configured for the list and those values are...
Power Automate: Relabeling JSON properties so they show up with different names in the Dynamic Content pane
Normally when we want to parse JSON content from an API in Power Automate, we use sample data and create the JSON schema to parse it using the option ‘Generate from sample’ : This speeds up the process, however if we have a case where we have separate children properties with the same names, it’s hard to know what is the exact property when accessing it from the Dynamic Content pane, unless you add them and hover...
Showing selected SharePoint form fields as read-only using List Formatting
With the setValue action on SharePoint/Microsoft Lists JSON formatting, people from the community are creating several solutions or use cases, including myself in the two samples: Quick Approvals and Like/Dislike. The setValue action expands the possibilities of what we can do using list formatting, however, we need to bear in mind that, people are able to easily bypass the rules we implement if they either open the list item from the...
Hiding a SharePoint list from the site contents using Power Automate
Sometimes when building any solution based on SharePoint we need to hide a list from the site contents, for several reasons. The list can be creted to be used only by an automated solution and not to be updated or accessed by users. Even if we restrict permissions to read-only in the list, this can cause some confusion in users. Using SharePoint Designer we can mark a list as hidden from the site contents easily, and the same can also...
How to add a randomly selected emoji to automated posts in Power Automate
Lots of community members use Power Automate to repost tweets or blog posts (using the RSS feed trigger) to social media like LinkedIn or Twitter. But normally those messages have exactly the same structure all the time, simply reposting the content and adding the same additional hashtags or the same custom text/emojis. Why not add a different touch and add a random emoji to those automated… Continue Reading Michel...
Displaying additional people properties in SharePoint Lists group headers using List formatting
By using list formatting, we can customise SharePoint view group headers in a similar way as we would do with the view rows or fields. How to get started customising group headers To customise the group headers, we need to use list formatting in the same way we would do for the view content, but in this case, we should use the ‘groupProps’ property of the view JSON template and child… Continue Reading Michel...
Custom Like/Dislike functionality using SharePoint list formatting
By using the setValue list formatting value, we are able to update field values as demonstrated in the earlier Quick Approvals sample. And the in addition to the possibility demonstrated on that sample, we can also use the new functions removeFrom and appendTo in combination with setValue, so we are able to remove and add people to a multi-person field. After seeing great samples and ideas… Continue Reading Michel Mendes’s...
Quick SharePoint Approvals using list formatting JSON to set field values
This week it came to attention two new possible actions to buttons created using list formatting: setValue: Updates a field valueopenContextMenu: Displays the default context menu for the list item With the first one, we can update the values of any field in the list item. And update multiple field values with a single click. Not only this but we can use dynamic values and do… Continue Reading Michel Mendes’s Article...
Getting the working hours/time zones for other users using Microsoft Graph API
In a recent discussion on Twitter, we were exploring approaches on how to get the working hours and time zone for another user (not the current logged user) in Microsoft Graph. This information could be useful to warn users about the availability of our colleagues (especially when there are people in the team working in different countries) or use this information and delay actions until… Continue Reading Michel Mendes’s...
Permanently delete SharePoint list items using Power Automate (skip the Recycle Bin)
WARNING: Use this trick carefully. The delete action explained below cannot be undone after executed There are some cases where it’s needed to delete SharePoint list items using a Power Automate flow. But when using the default ‘Delete Item’ action from Power Automate, it sends the item to the Recycle Bin, it’s not a permanent delete. This could be cluttering your Recycle Bin, and also… Continue Reading...
Hiding the SharePoint page title with Power Automate
For any SharePoint modern page that you create manually, there always be a page title that you cannot remove using the SharePoint UI at the moment. There are known options to remove the page title using PnP PowerShell and Microsoft 365 CLI. What if you cannot use PowerShell or Microsoft 365 CLI to achieve this, what extra option could be used? The logic behind those options is… Continue Reading Michel Mendes’s Article on...
Creating Planner Plans using Power Automate
Currently, the Microsoft Planner connector for Power Automate/Power Apps does not have a ‘Create Plan’ action. There are options to manage tasks and buckets, but when it comes to plans, there are only actions to list content. Alternatives to create a plan We can use the graph API to create Planner plans. Previously, to use the Graph API in Power Automate, we would need to either use one… Continue Reading Michel...
AI Builder models as data sources in Power Apps
While I was playing around with a POC I was working on my developer tenant, I found out a new interesting feature appearing between the experimental features: Obviously, I wanted to try it out, and in this post, I will show my findings and an example of using it. If you haven’t tried it yet, check out how to enable and use it below. Enabling the feature To enable the feature, open… Continue Reading Michel Mendes’s...
Creating a Modern SharePoint Site using Power Automate
Are you wondering how could you create a SharePoint modern site using Power Automate to automate a site creation process and found out there is no action to create sites? Don’t worry, you can use SharePoint Rest API and the Send an HTTP Request to SharePoint action for that. Before using it, a few things to be aware. EndPoint/Settings To create sites you need to use the base url:… Continue Reading Michel Mendes’s...
Steps to deny Power Apps users access to SharePoint data from the SharePoint UI
In a post I wrote a while ago, I explained how to create a SharePoint custom permission level and special SharePoint groups to be used in Power Apps using PnP PowerShell. And also how to break the permissions on the specified site lists while granting access to the new groups only to those lists. Then, the users from those groups would be able to access the lists only from the app interface… Continue Reading Michel...
Teams + Power Apps: Building context/theme aware apps
By default, for any Power Apps canvas app used on Teams, either using Dataverse for teams, or a Standalone canvas app (added as Teams Tenant app or a tab) there is a list of parameters/context variables that Teams passes to the app via QueryString that can be used to detect current Teams… Continue Reading Michel Mendes’s Article on their blog Teams + Power Apps: Building context/theme aware apps – michelcarlo By...
SharePoint list View Formatting: Highlighting items older than a specific number of days
The out-of-the-box rule configurations for SharePoint lists/Microsoft lists give us several options to format views without touching the view JSON, but we still don’t have the option of using calculations using relative dates: Options to visually set up view formatting For this, we still need to create a custom JSON view, but it is pretty straightforward anyway. The logic behind To… Continue Reading Michel Mendes’s...
Restrict SharePoint list item attachments by file type using a custom form
Have you ever wanted to restrict the attachments on a SharePoint Online list by file type? If so you probably found that using SharePoint only there is no such setting. However, it is possible to use a custom list form built with the help of the Power Apps list forms to achieve this result, as in the example below: Check how to create the form and the steps to customise it: Create… Continue Reading Michel Mendes’s Article...
Microsoft Lists – Issue Tracker template: Summary email of active items with Power Automate
One feature that is not included in the Microsoft Lists/SharePoint lists templates but can be quite useful is the ability to get a summary of active items at a frequency of your convenience. Luckily a simple Power Automate Flow can achieve that. Check how to build this flow below. Issue Tracker List sample For this example, consider a scenario where you have used the Issue Tracker… Continue Reading Michel Mendes’s Article...
Power Apps: Merge tables/collections and get distinct records (without using Collect)
Imagine a case where you have two tables/collections in a Power Apps canvas app, and you want to merge those tables in a single one to be used somewhere else. The common practice is to use collections and to collect all data from those tables in a new collection. The problem of this approach If this collection is used in a single place, with no data editing need, an additional third… Continue Reading Michel Mendes’s...
SharePoint glossary page using view formatting and connected list WebParts
List view formatting in combination with the out-of-the-box list WebParts can be very powerful, enabling us to create very nice page experiences. It is possible to render a view that uses view formatting in the list WebParts, and also at the same time use the dynamic filter feature to filter content on a WebPart based on the selection from another WebPart on the same page. In this… Continue Reading Michel Mendes’s Article...
PowerShell: Get created date for Microsoft 365/Azure AD users
Recently I had a need in a project to get the dates that users were created/added to Microsoft 365, so it would be possible to get some statistics on how many users were added per period. As the number of users was not that big, the quicker solution was to figure out a way using Azure AD PowerShell. Prerequisite Azure AD Powershell module installed. The simpler… Continue Reading Michel Mendes’s Article on their blog How to...
PowerShell script: Get created date for Microsoft 365/Azure AD users
Recently I had a need in a project to get the dates that users were created/added to Microsoft 365, so it would be possible to get some statistics on how many users were added per period. The problem One limitation was that it should be achieved without Microsoft Graph or Microsoft Graph PowerShell. So, the choice was to figure out a way using Azure AD PowerShell. Prerequisite
Alternative to the ‘in’ operator for Power Apps when filtering SharePoint data
Many of you may already have faced some delegation limitations when using SharePoint as a data source for your canvas apps. When the operation or filter is delegable, it means the query results are processed by the data source and returned to Power App rather than being processed locally in the App, with a maximum of 2000 items to be returned per call. For performance reasons, the default… Continue Reading Michel Mendes’s...