news and know-how about microsoft, technology, cloud and more.

Introducing user schema extensions in Delegate365

The current version of Delegate365 adds a new feature: Schema extensions for users. Schema extensions allow to add custom data to Azure AD objects. In Delegate365, administrators can use the Delegate365 schema extension feature to add custom properties to a user. Find out, how you can use the user schema extension in Delegate365 here.

Use Azure Logic Apps with custom JSON payloads

Did you ever have the problem of pushing different JSON payloads to a logic app and hitting errors due to JSON schema mismatches? The usual HTTP Request forces you to define the JSON Schema at the beginning. For every tiny difference in the later used properties you need to create your own Logic App even if the process is the same. I will show you an example of a single Logic App deciding at runtime which JSON schema to use for decoding the post body payload. Stay tuned!We will start with an empty Logic App and the typical HTTP Request. This will trigger the logic app and start our journey.The HTTP post body schema is a simple one with a single value called "Request" of type string and a another one called "RequestValue" of type object. We are not going into more detail of the RequestValue object because we don't want the initial request to break if the rest of the JSON is different. So, we plan to call the endpoint with a HTTP POST request with a body similar as here:{"Request": "test1","RequestValue": "{ ...something... }"}As next action, we add a switch operation to react depending on the Request.This basic schema allows us to use the automatic created request property of the HTTP Request as input to our switch statement in the next step. Sample requests to this Logic App could be payloads as here:Version 1:{"Request": "test1","RequestValue": { "Testvalue" = "test" }}Version 2:{"Request": "test2","RequestValue": { "Testvalue1" = 1, "Testvalue" = "1234" }}etc...Each case in the switch statement corresponds to one version of JSON payload we can drop into the logic app.Based on the first "Request" Property value and the switch decision we can now build our second stage of JSON payload parsing. The Parse JSON step takes the object of the response value of the HTTP trigger and can be filled with different schemas for each execution tree in the switch statement.Above you see the schema for one of the payloads. A very simple one, but you can get as creative as you like or need to. You can test the logic app with different payloads with a few lines of powershell code (yes, you can use Postman or other tools, too). Just create a few more case statements in the switch and post different bodies to the Logic App as shown below.Invoke-RestMethod -Method Post -Uri $Uri -Headers $Header -Body $(Body1 | ConvertTo.Json)If we look at the output of the commands, we can see the response of the Logic App from the different Switch Paths.With these steps you can have a single Logic App to distinct between different JSON Payloads and react based on the initial HTTP requests without hitting an error on the first request. Dynamic requests can be handled with a single Azure Logic App.Have Fun!

Working with Azure AD schema extensions and Microsoft Graph

Azure Active Directory is Microsoft´s Cloud Identity system that stores user, license, group, apps, device data and more data in a secure way. As developers, we can extend many of these resources with custom extension. This can be useful to store additional metadata, such as a cost center or personal data for a user, for a group or other resource types. Unfortunately, there isn't much documentation on that. Here's how to do this step-by-step for the user resource with Azure AD schema extensions in real life.

Get data from SharePoint as HTML table with Azure Logic Apps

Sometimes it´s good to get data from a data source as a table and as quickly as possible in an automated way. While this can be done with multiple ways, here´s a quick solution if you want to get the items from a custom list in SharePoint Online sent as a HTML table in an email with Azure Logic Apps (or Power Automate).

Tune in to the Governance Live Discussion with Dux Raymond Sy and Martina Grom - Good Governance Precedes Great Adoption

Today, there was a free live event on the Collab Global CON4 platform about IT Governance in Microsoft Teams. Tune in to the Governance Live Discussion with Dux Raymond Sy and Martina Grom - Good Governance Precedes Great Adoption.

Handle failed actions in Azure Logic Apps

Today´s a quick tip for users working with Azure Logic Apps. This article shows how you can continue to work in a flow if an action has failed. This sample accesses an Excel file from a Microsoft teams SharePoint site and searches for a key. If the key was not found, the flow shall continue and deliver a useful error code with a message. See how this works here.

PowerShell package 'Az.Accounts' failed to download

I recently ran into this problem: I had to install the Azure Az PowerShell module from the PowerShell Gallery on a new computer. Interestingly the installation with Install-Module -Name Az failed with the error message "WARNING: Source Location '' is not valid.". See my solution here.