Skip to main content

Posts

Automate Outlook Attachment Organization with Power Automate Desktop

Saving email attachments manually and filing them into dedicated directories quickly becomes tedious. With Microsoft Power Automate Desktop (PAD), you can build an automated workflow that fetches unread emails, downloads their attachments, and dynamically creates folders named after each file to keep your local storage tidy. Workflow Overview The automation performs the following sequence: Opens Microsoft Outlook. Retrieves unread emails from the inbox and saves attached files to a temporary directory. Extracts the base filename and the complete filename using Regular Expressions (Regex). Creates a new subfolder named after the attachment. Moves the downloaded attachment into its newly generated folder. Step-by-Step Implementation Step 1: Launch Outlook & Retrieve Messages Add the Launch Outlook action to store the session instance in %OutlookInstance% . Add the Retrieve email messages from Outlook action: Outlook Instance: %OutlookInstance% Account: your-email@domain.com M...

Regex in Power Automate Desktop: A Practical Guide to Capturing Text

  Regex in Power Automate Desktop: A Practical Guide to Capturing Text Regular Expressions, commonly known as Regex , are extremely useful when working with text in Power Automate Desktop (PAD) . They allow you to find, identify, and extract specific information from unstructured text such as PDF documents, invoices, bank statements, emails, reports, and forms. In this guide, we will cover the most commonly used Regex patterns for Power Automate Desktop, with practical examples that can be directly applied to automation projects. http://regexstorm.net/tester https://regex101.com/ What is Regex? A Regular Expression is a pattern used to search for specific text or values within a larger block of text. For example, suppose a PDF contains: Customer ID: XXXXX1234 Account No: 99991XXXXX10099 PAN: 12XXXXXXXK Instead of manually searching for these values, Regex can automatically identify and extract them. For example: Customer\s+ID\s*:\s*(\S+) returns: XXXXX1234 Similarly: Account\s+No\....

๐Ÿ’ก Power Automate Tip: A Simple Fix for SharePoint Schema Changes That Break Your Flows

  One of the most frustrating experiences in Power Automate is when a flow that has been running perfectly suddenly starts failing after a seemingly harmless change to a SharePoint List . Recently, I encountered exactly this scenario, and the solution turned out to be much simpler than I expected. The Scenario Imagine you have a flow triggered by the "When an item is created or modified" SharePoint trigger. Everything works perfectly until someone updates the SharePoint list schema. For example: A Person or Group column is changed from Single User to Allow Multiple Users . A column type is modified. Certain field settings are updated. Although the trigger itself doesn't change, the flow may still begin to fail because it continues referencing the old SharePoint schema . Why Does This Happen? Power Automate stores metadata about the SharePoint list when the trigger is configured. If the list schema changes later, the flow doesn't always refresh that metadata automa...

Automatically Refresh All Data Connections in Excel Using Office Scripts

  Automate Excel Data Refresh with Office Scripts If you work with Excel files that contain Power Query , external databases , or connected data sources , manually refreshing the data every time can be repetitive. Office Scripts provide a simple way to automate this process. In this article, we'll explain the following Office Script: function main(workbook: ExcelScript.Workbook) { // Refresh all data connections workbook.refreshAllDataConnections(); } What is Office Scripts? Office Scripts is a feature in Excel for Microsoft 365 that allows you to automate repetitive tasks using TypeScript , a language based on JavaScript. Office Scripts can: Refresh data connections Format worksheets Create tables Generate reports Automate daily Excel tasks Work with Power Automate Understanding the Script Let's break the code into smaller parts. Function Declaration function main(workbook: ExcelScript.Workbook) { Every Office Script starts with a main() function. What does it do? main...

Timeout for Power Automate Desktop Flows

In Power Automate Desktop (PAD) there’s no built-in “auto-kill after X minutes” setting, so you have to enforce the 10-minute limit yourself. Here are the three reliable ways , from best practice to more advanced. Best practice: Control it from a Cloud Flow (recommended) This is the cleanest and safest approach. How it works A Cloud flow starts the Desktop flow You set a timeout of 10 minutes If the desktop flow runs longer → it gets terminated automatically Steps Create a Cloud flow Add action: Run a flow built with Power Automate for desktop Click … (three dots) on the action → Settings Set Timeout to: PT10M Enable Run in unattended mode if needed Save If the desktop flow exceeds 10 minutes, Power Automate will force stop it Pros Official, supported No hacks Best for production Option 2: Build a timeout watchdog inside the Desktop Flow Use this if you must run PAD standalone. Basic logic At the start of the flow , store the cur...

Get Search Crawl Log using PowerShell in SharePoint Online

At times, you may have to check the search crawl logs if search results don’t return results from specific content. Search crawl logs can be obtained from the search service application in the SharePoint on-premises environment. However, to inspect the search crawl log in SharePoint Online, you must use  Get-PnPSearchCrawlLog  cmdlet. Make sure you have access to the Crawl Log before you execute any of these PowerShell scripts! Login to SharePoint Online Admin Center  https://tenant-admin.sharepoint.com Click on “More Features” from the left navigation >> Click on the “Open” button under the Search. On the Search Service Application page, click on the “Crawl Log Permissions” link at the bottom >> Enter the user names whom you want to grant search crawl log permissions and click on “OK” to save your changes. Register an App in Entra ID (Azure AD) Step 1: Register an App in Entra ID (Azure AD) Go to: https://entra.microsoft.com Navigate to:  Home ...

Key Limitations of Microsoft Power Automate (as of August 2025)

Microsoft Power Automate is a powerful tool for automating business processes, but like any platform, it comes with a set of limitations. Understanding these constraints is essential to designing efficient, scalable, and compliant workflows—especially as your automation strategy grows in complexity.  Here are the most important limits you need to know:  1. Switch Cases Each Switch action supports a maximum of 25 cases. If you need more, consider using nested Switches or alternate logic like parallel branches or conditionals.  2. Actions per Workflow A single flow can contain up to 500 actions. For complex workflows, you may need to split logic into separate flows or use child flows to stay within this limit.  3. Nesting Depth You can nest actions (e.g., conditionals or loops) up to 8 levels deep. Going beyond this will result in a design error.  4. Variables per Flow Each flow can define up to 250 variables. This includes all variable types (string, inte...

๐Ÿ’ก Must-Know PowerApps Functions for Building Powerful Apps

Microsoft PowerApps enables users to build custom business apps with minimal code. One of its core strengths is the rich set of built-in functions that can handle logic, data, user input, and more. Whether you’re a beginner or an experienced app maker, these functions are essential for building flexible, user-friendly applications. In this post, we’ve grouped the most useful PowerApps functions into categories, so you can quickly find what you need for any scenario. ๐Ÿ” Logic & Conditional Functions These functions control decision-making within your app. If(condition, trueResult, falseResult) – Basic IF logic. Switch(expression, case1, result1, ..., defaultResult) – Simplifies multiple conditional paths. IsBlank(value) – Checks if a field or variable is empty. Coalesce(value1, value2, ...) – Returns the first non-blank value in a list. Not(condition) – Inverts a Boolean value (true → false and vice versa). ๐Ÿ”ค Text Functions Work with strings, user input, and formatted data. Concate...

๐Ÿš€ Essential SPFx (SharePoint Framework) Commands for Every Developer

Whether you're new to SharePoint Framework (SPFx) or a seasoned pro, having a go-to list of core commands can significantly improve your development workflow. In this post, we'll walk through the most important SPFx CLI commands—from setting up your environment to packaging and deploying your solution. ๐Ÿ› ️ Setting Up Your SPFx Project Start by scaffolding a new project using the Yeoman generator provided by Microsoft. Make sure Node.js and npm are installed before you proceed. yo @microsoft/sharepoint After scaffolding the project, install all dependencies: npm install To update dependencies later: npm update ๐Ÿ” Trusting the Development Certificate If you're using the local workbench, you need to trust the developer certificate for HTTPS support: gulp trust-dev-cert ๐Ÿงช Running the Local Workbench To build and serve your project locally, use: gulp serve This command starts a local server at: https://localhost:4321/temp/workbench.html You can also test your solution in ShareP...

๐Ÿš€ Mastering Pagination in Power Apps: Handle Large Data Efficiently!

๐Ÿ“Œ What is Pagination in Power Apps? Pagination in Power Apps is a method used to display large datasets in smaller, manageable chunks (pages) instead of loading everything at once. This improves app performance, avoids delegation issues, and enhances the user experience. ๐Ÿ”น Why is Pagination Needed in Power Apps? Power Apps has a delegation limit when working with data sources like SharePoint, SQL, and Dataverse. By default, it can retrieve only 500 records, and the maximum limit is 2000 records. If your dataset has thousands of records, trying to load everything at once will:  ❌ Slow down the app  ❌ Cause delegation warnings  ❌ Fail to retrieve all data ✅ Solution:  Use Pagination Instead of loading everything, fetch only a specific number of records at a time (e.g., 50 per page) and let the user navigate between pages. Example: Employee Directory App (SharePoint List) ๐Ÿ”น Suppose you are creating an Employee Directory App that fetches employee details from a ShareP...

How to List All SharePoint Lists with PowerShell Using PnP

When managing SharePoint Online, administrators often need to retrieve a list of all libraries and lists in a site. With the PowerShell PnP module, this process is quick and efficient. In this post, we’ll walk through a simple script that connects to a SharePoint site and retrieves the title and description of all lists. Prerequisites To follow along, make sure you have the PnP PowerShell module installed. You can install it using: Install-Module -Name PnP.PowerShell Script Overview Here's the script that connects to your SharePoint Online site and displays the title and description of each list: # Connect to SharePoint site Connect-PnPOnline -Url "https://yourtenant.sharepoint.com/sites/yoursite" -Interactive # Get all lists $lists = Get-PnPList # Select and display Title and Description $lists | Select-Object Title, Description | Format-Table -AutoSize Use Cases Auditing site contents Documenting SharePoint structure Identifying unused or unnamed lists