Some time ago, I architected a low-cost "service management"-esque app combining Microsoft Teams, SharePoint Online (SPO), and Power Automate. As a Power Platform low-code solution, I could piece everything together and demo a working ticketing system in a few hours. However, I never packaged the deliverable as a Power Platform managed solution, adhering to proper … Continue reading Power Automate: Ticketing System | Microsoft Teams + SharePoint Online [managed solution]
Power Automate
Power Automate: Application Lifecycle Management | Housekeeping
Power Automate cloud flows are environment specific when they're created. Power Platform application lifecycle management controls the management of cloud flows as solution assets, and proper management guides the deployment and maintenance of these solutions. Whether the solutions are managed or unmanaged, flows are deployed from one environment to another. Typically, makers create and test … Continue reading Power Automate: Application Lifecycle Management | Housekeeping
Power Platform: Data Sources | SQL Tables or Dataverse Tables
The Power Platform is Microsoft's collective of no-code/ low-code solutions. To supplement this platform, Dataverse is Microsoft's secure, no-code/ low-code data storage solution. SQL Server is still a strong contender for data storage, but leveraging it requires some mastery of SQL. Dataverse, however, stores data in tables just like SQL, but doesn't require any proficiency … Continue reading Power Platform: Data Sources | SQL Tables or Dataverse Tables
Power Automate: Understanding | mod()
Modulus (or modulo) is another of the math expression available in Power Automate. Similar to the add(), sub(), mul(), and div() expressions, mod() accepts two parameters, but instead only returns whole numbers, so no decimals. Likely an over-simplified explanation, but in computing, modulo is essentially the calculated remainder of a division calculation. Figure 1 - … Continue reading Power Automate: Understanding | mod()
Power Automate: Generate Custom GUID(s)
Yes, there is a guid() expression available in Power Automate. The provided expression doesn't accept parameters though, so for some people, there isn't an easy way to control the GUID formatting. With that in mind, it might be worth creating your own GUID value: Figure 1 - Power Automate cloud flow logic. After the cloud … Continue reading Power Automate: Generate Custom GUID(s)
Power Platform: Data Sources | SQL Tables or SPO Lists
The Power Platform is Microsoft's collection of low-code, citizen developer solutions. Being low-code, makers don't need coding experience to build their apps, bots, automations, and/ or dashboards. Even so, makers still need to decide where their data should ultimately live. For most people, SQL is typically the go-to data storage consideration. And honestly, SQL isn't … Continue reading Power Platform: Data Sources | SQL Tables or SPO Lists
Power Automate: Cloud Flow | Best Practices + Tips
Power Automate is the process automation service of the Power Platform. Makers leveraging the solution can build both desktop and cloud flows, but each comes with their own considerations. Though, more people are likely building cloud flows than desktop flows. And for those cloud flow makers, there are some best practices, tips, and factors to … Continue reading Power Automate: Cloud Flow | Best Practices + Tips
Power Platform: Understanding | Solutions + Environments
Application lifecycle management is the governance, deployment, and maintenance of applications. Even though the Power Platform is "low-code", makers should still adopt the practice. More specifically, when deploying their projects as solutions across environments. So, what are solutions and what are environments? Solutions are bundled project assets. In the Power Platform ecosystem, these project assets … Continue reading Power Platform: Understanding | Solutions + Environments
Power Automate: Lookup Table Arrays
As Power Automate cloud flows grow in complexity, makers often need to nest loops within loops. Nesting loops isn't bad, but nesting the same loop more than once is inefficient. An alternative approach, loop the content once without nesting it and build an array of objects, which creates a lookup table that can be referenced … Continue reading Power Automate: Lookup Table Arrays
Power Automate: Understanding | ticks()
For those new to working with Date and time values in computing, just note that they are measured and calculated using "the number of ticks that have elapsed since the beginning of the twenty-first century." Essentially dates and times are just large, whole numbers. And Power Automate has several available expressions to work with these … Continue reading Power Automate: Understanding | ticks()
Power Automate: Loops + Concurrency (/Parallelism)
Power Automate is versatile. As the automation engine of the Power Platform, it can connect with dozens of data sources to build repeatable work processes. And to enumerate datasets of these data sources, the Apply to each control is used to loop through the data records. But as datasets grow, expect the flows to take … Continue reading Power Automate: Loops + Concurrency (/Parallelism)
Power Automate: Date Difference
There is a lot of power in automation. And as Microsoft works to empower citizen developers, they've introduced another Date and time function, dateDifference(). This expression accepts two date parameters and outputs a string value: Figure 1 - Power Automate Date and time expression. The expression's string result is a calculation measuring the number of … Continue reading Power Automate: Date Difference
Power Automate: Error Handling | Scope Controls [try/catch/finally]
Reiterating, "high-code" error handling isn't supported in Power Automate. However, flow creators can use Scope controls and mimic a try-catch-finally execution: Figure 1 - Power Automate list of controls. To recreate the "try-catch-finally"-esque experience, add three Scope blocks to the flow and rename each: Try, Catch, Finally. Next, add the necessary actions to each Scope, … Continue reading Power Automate: Error Handling | Scope Controls [try/catch/finally]
Power Automate: Outlook Emails w/ Item Lists
There are hundreds of connectors available in Power Automate. Each connector represents a different service, and services can be daisy-chained together to create automations called "flows". Often though, flows need to send emails with listed items, reporting on the executed actions. The easiest way to accomplish this, store the items in an array variable, then … Continue reading Power Automate: Outlook Emails w/ Item Lists
Power Automate: Error Handling | Mitigation
Power Automate is a no-code (/ low-code) workflow automation solution. Because the service isn't "high-code", developers can't create flows with traditional try-catch-finally blocks for robust error handling. But flows could be designed with "error mitigation" in mind. Otherwise, these flows will fail without recovery. To mitigate some anticipated issues, makers can use Power Automate expressions … Continue reading Power Automate: Error Handling | Mitigation