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...

Read More

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...

Read More

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...

Read More

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...

Read More

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...

Read More

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...

Read More

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...

Read More
Microsoft Forms: Hiding the ‘Untitled Form’ label in forms without a title
Dec07

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‘...

Read More
Making a Canvas app become Teams & SharePoint  theme aware (with the help of the PnP Enhanced Power Apps WebPart)
Dec04

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...

Read More
Hiding the New and Upload buttons from a SharePoint document library using JSON list formatting
Nov19

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...

Read More
Build powerful Adaptive Card experiences for Teams using Cards for Power Apps
Oct25

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,...

Read More
Ignite 2022: Curated list of posts from Microsoft related to Microsoft 365 and Power Platform
Oct15

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...

Read More
Calling Graph API using a flow and manipulating the results from Power Apps using the ParseJSON function
Oct08

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...

Read More
Export a Power Apps gallery as PDF file using the new PDF function, and email it with the Outlook connector
Oct02

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...

Read More
New Sorting actions for arrays/tables In Power Automate: sort & reverse
Oct01

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...

Read More
How to use Power Apps named formulas (experimental feature)
Sep22

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...

Read More
Creating a Planner Plan and adding it as a tab to the General channel of a Teams team using Power Automate & Microsoft Graph
Sep16

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...

Read More
Using the ParseJSON function and a generic flow to call any SharePoint Rest API endpoint and manipulate the results from Power Apps
Sep13

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...

Read More
Two approaches to replace all occurrences of a value in a String using SharePoint list formatting: replaceAll & split + join
Sep10

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,...

Read More
Folders-enabled SharePoint lists: Trigger a Flow only when Folders are modified VS only when Items (not folders) are modified
Sep03

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...

Read More
New ‘Send an HTTP request’ actions for Office 365 Groups, Outlook and Office 365 users in Power Automate
Aug24

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...

Read More
Moving a Canvas app into a solution and keeping the associated URL and ID in different environments
Jul16

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...

Read More
Updating list views JSON formatters for a SharePoint list using Power Automate
Jun08

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...

Read More
SharePoint lists custom View and Edit Buttons using JSON Formatting
May19

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...

Read More
Power Apps: Patch data from the Office 365 Users connector to a SharePoint multi-user field without using collect
May14

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...

Read More
Glossary View formatting: JSON Template including Related Link
Apr30

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...

Read More
Filtering SharePoint lookup fields in Power Apps combo boxes by more than one related field
Apr30

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...

Read More
Power Automate: Relabeling JSON properties so they show up with different names in the Dynamic Content pane
Apr18

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...

Read More
Showing selected SharePoint form fields as read-only using List Formatting
Mar09

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...

Read More
Hiding a SharePoint list from the site contents using Power Automate
Jan30

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...

Read More
How to add a randomly selected emoji to automated posts in Power Automate
Dec17

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...

Read More
Displaying additional people properties in SharePoint Lists group headers using List formatting
Dec11

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...

Read More
Custom Like/Dislike functionality using SharePoint list formatting
Nov28

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...

Read More
Quick SharePoint Approvals using  list formatting JSON to set field values
Nov19

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...

Read More
Getting the working hours/time zones for other users using Microsoft Graph API
Oct16

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...

Read More
Permanently delete SharePoint list items using Power Automate (skip the Recycle Bin)
Oct09

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...

Read More
Hiding the SharePoint page title with Power Automate
Sep11

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...

Read More
Creating Planner Plans using Power Automate
Sep04

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...

Read More
AI Builder models as data sources in Power Apps
Jul11

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...

Read More
Creating a Modern SharePoint Site using Power Automate
Jun19

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...

Read More
Steps to deny Power Apps users access to SharePoint data from the SharePoint UI
May30

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...

Read More
Teams + Power Apps: Building context/theme aware apps
May15

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...

Read More
SharePoint list View Formatting: Highlighting items older than a specific number of days
May09

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...

Read More
Restrict SharePoint list item attachments by file type using a custom form
May08

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...

Read More
Microsoft Lists – Issue Tracker template: Summary email of active items with Power Automate
May03

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...

Read More
Power Apps: Merge tables/collections and get distinct records (without using Collect)
Apr28

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...

Read More
SharePoint glossary page using view formatting and connected list WebParts
Apr09

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...

Read More
PowerShell: Get created date for Microsoft 365/Azure AD users
Jan07

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...

Read More
PowerShell script: Get created date for Microsoft 365/Azure AD users
Dec24

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

Read More
Alternative to the ‘in’ operator for Power Apps when filtering SharePoint data
Sep12

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...

Read More