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
Power Apps & SharePoint: Dynamically get the site URL from lists used in an App (and make your app Flows easily reusable)
Aug29

Power Apps & SharePoint: Dynamically get the site URL from lists used in an App (and make your app Flows easily reusable)

Imagine a situation you create a Power Apps button triggered Power Automate Flow. This Flow stores a file in SharePoint from data in the app and you need to use the same Power Automate Flow idea in different Power Apps canvas apps. It’s basically the same Flow just the flow to export content from the app to a file in a SharePoint. Would you recreate the same flow and edit the copies over and… Continue Reading...

Read More
Enable Azure Application Insights in Power Apps canvas apps
Jul03

Enable Azure Application Insights in Power Apps canvas apps

Power Platform already gives us some statistics related to canvas apps usage from the Power Apps home or Admin Center, which are really good, but those feature statistics related to the whole app, not to a specific screen, or related to user screen flow. But luckily we can easily have that in place with Azure Application insights. What is Azure Application insights? Azure Application Insights… Continue Reading...

Read More
Trigger a Power Automate Flow only if a specific user modified a SharePoint list item
May16

Trigger a Power Automate Flow only if a specific user modified a SharePoint list item

If you want to proceed running actions in a Power Automate Flow only if a specific user did the change in a SharePoint list item, you can easily use a condition and manage that. But this will consume one Flow run from your daily runs allowance. To do this before the Flow is executed, you can use Trigger conditions to achieve it. So the Flow will be triggered only if the formula specified as… Continue Reading Michel...

Read More
Trigger a Flow only if a specific user modified a SharePoint list item
May16

Trigger a Flow only if a specific user modified a SharePoint list item

If you want to proceed running actions in a Power Automate Flow only if a specific user did the change in a SharePoint list item, you can easily use a condition and manage that. But this will consume one Flow run from your daily runs allowance. To do this before the Flow is executed, you can use Trigger conditions to achieve it. So the Flow will be triggered only if the formula specified as… Continue Reading michelcarlo’s...

Read More
Creating Teams channels in a Power Automate Flow: How to avoid unsupported characters errors
May02

Creating Teams channels in a Power Automate Flow: How to avoid unsupported characters errors

If you want to automate Microsoft Teams Channels using Power Automate Flows, you can use a simple action named ‘Create a channel’ from the Teams Connector in your Flows (still in preview at the time of writing this post). But due to naming restrictions, if you use unsupported characters (~#%&*{}+/:<>?|’”..) in the channel name, you will get errors related to that and the channel is not… Continue...

Read More
Avoid unsupported characters errors when creating Teams channels in a Flow
May02

Avoid unsupported characters errors when creating Teams channels in a Flow

If you want to automate Microsoft Teams Channels using Power Automate Flows, you can use a simple action named ‘Create a channel’ from the Teams Connector in your Flows (still in preview at the time of writing this post – May 2020). But due to naming restrictions, if you use unsupported characters (~#%&*{}+/:<>?|’”..) in the channel name, you will get errors related to that and the...

Read More
Quick tip: Force Power Automate Flows to be executed in a queue instead of multiple instances
Apr27

Quick tip: Force Power Automate Flows to be executed in a queue instead of multiple instances

The default behaviour of a Power Automate Flow is to allow multiple instances of the same flow running. But depending on the scenario or implementation, this can be a big problem, for example, a Flow that is triggered when an item is modified and then based on that iterates through a big list of items and updates a field. Especially when it comes to SharePoint Online, the Flow can be throttled… Continue Reading...

Read More
PowerShell script: Prevent Power Apps users from accessing lists from SharePoint UI
Apr15

PowerShell script: Prevent Power Apps users from accessing lists from SharePoint UI

Power Apps with SharePoint lists as a data source are becoming widely built, especially due to licensing, as if a company already has the Microsoft 365/Office 365 enterprise plans, SharePoint connectors for Power Apps are included (while Azure SQL/Common Data services and others require premium plans). If we connect any SharePoint list to Power Apps, it has to be shared with all users for them… Continue Reading...

Read More
SharePoint HTTP connector: Send a no-reply email from a specific sender name in a Flow
Apr04

SharePoint HTTP connector: Send a no-reply email from a specific sender name in a Flow

ally if there’s a need for a no-reply email message in Power Automate Flows, the Mail connector is used. But when using Mail connector the sender display name can’t be changed. It will always be “Microsoft Power Apps and Power Automate”. However, if the message needs to be sent to internal users within your tenant only, an alternative approach using SharePoint Rest API and the ‘Send an HTTP…...

Read More
Power Automate – SharePoint ‘Get Items’ action: New options for folders
Mar21

Power Automate – SharePoint ‘Get Items’ action: New options for folders

Recently a new option was released in Power Automate (formerly Microsoft Flow) which is available in the SharePoint action ‘Get Items’: Limit Entries to Folder Include Nested items The same settings have recently been included in the action ‘Get files (properly only)’: For some people, it would make sense to see those settings for files and not in a list as by default folders are not… Continue Reading...

Read More
Managing Power Automate: Create a Flow to manage Flows
Oct27

Managing Power Automate: Create a Flow to manage Flows

I recently came into a situation where I needed to add a user as co-owner for all of the flows under another user account, where there are lots of Flows created. Did I add the user manually in every flow? No, I created a Flow to add the user as owner in my Flows! In this post, I will quickly show how to build this simple and useful Flow. In order to easily trigger the Flow manually, create it… Continue Reading Michel...

Read More
Manage Power Automate Flows with a Power Automate Flow??
Oct27

Manage Power Automate Flows with a Power Automate Flow??

I recently came into a situation where I needed to add a user as co-owner for all of the flows under another user account, where there are lots of flows created. Did I add the user manually in every flow? No, I created a flow to add the user as owner in my Flows! In this post, I will quickly show how to build this simple and useful flow. In order to easily trigger the Flow manually, create it… Continue Reading...

Read More
Automatically export Power BI Reports to files in SharePoint
Oct19

Automatically export Power BI Reports to files in SharePoint

Do know how easy is to automatically save Power BI exported reports into SharePoint or other data sources? Check a simple way of automating this process in this post. First things first, for the report you want to automate the ‘Capture’, you’ll need to set up a Power BI Report subscription, so you’ll receive report updates on your Office 365 Outlook mailbox. From this e-mail message, we… Continue Reading...

Read More