# Manuel T Gomes > Practical tutorials and in-depth guides for Microsoft Power Platform, automation, and developer productivity. ## About This Site Manuel T Gomes is a comprehensive technical resource for developers and IT professionals working with: - **Microsoft Power Automate** - Flow creation, connectors, expressions, and enterprise automation patterns - **Microsoft Power Apps** - Canvas apps, model-driven apps, and low-code development - **Microsoft 365 Integration** - SharePoint, Teams, Outlook, and cross-platform workflows - **Developer Productivity** - Tools, techniques, and best practices for efficient development ## Content Philosophy Every article follows a hands-on approach with: - Step-by-step instructions with screenshots - Real-world use cases and practical examples - Copy-paste code snippets and expressions - Troubleshooting tips for common issues ## Who This Is For - Power Platform developers and citizen developers - IT professionals automating business processes - SharePoint administrators and Microsoft 365 admins - Anyone learning low-code/no-code automation ## Reference Documentation The site includes comprehensive function references for Power Automate expressions, organized by category with syntax examples and practical use cases for each function. ## Categories - [Announcement](https://manueltgomes.com/area/general/announcements/): Site announcements covering milestones, yearly reviews, seasonal notes, and updates from Manuel T Gomes about manueltgomes.com and its content. - [Apple](https://manueltgomes.com/area/apple/): Apple tutorials from Manuel T Gomes covering macOS, iOS, Xcode development, and Shortcuts automation, with hands-on fixes, build notes, and daily productivity tips. - [Azure](https://manueltgomes.com/area/azure/): Microsoft Azure tutorials from Manuel T Gomes covering cloud services, DevOps, and integration with Power Apps and Power Automate for automation and low-code workflows. - [Books](https://manueltgomes.com/area/recommendations/books/): Book recommendations from Manuel T Gomes, including Sapiens, Outliers, and Can't Hurt Me, covering software craft, leadership, productivity, mindset, and personal growth. - [Claude](https://manueltgomes.com/area/claude/): Practical Claude tutorials covering Claude Code as an automation tool, prompting techniques, and API integration patterns for building AI-assisted workflows. - [Deep Dives](https://manueltgomes.com/area/general/deep-dives/): Long-form Power Automate deep dives covering architecture, error handling, the Microsoft Graph API, SharePoint bulk operations, and advanced automation patterns. - [DevOps](https://manueltgomes.com/area/azure/devops/): Azure DevOps tutorials from Manuel T Gomes, including adding custom fields and creating tasks automatically with Power Automate, covering project management, process, and automation. - [Development](https://manueltgomes.com/area/development/): Software development articles from Manuel T Gomes covering programming languages, tooling, and design patterns, with focused Python and Swift sub-areas for practical, hands-on coding guidance. - [Excel](https://manueltgomes.com/area/microsoft/excel/): Excel tutorials covering formulas, importing data from websites, date handling, and Power Automate and Power Platform integration to save time on daily tasks. - [Excel Function Reference](https://manueltgomes.com/area/reference/excel-function-reference/): Excel worksheet function reference with syntax, arguments, and worked examples for functions like Count and Sum, plus best practices, limitations, and common pitfalls. - [Expressions and Templates](https://manueltgomes.com/area/expressions-templates/): A library of common Power Automate expressions and ready-to-import flow templates for tasks like parsing Excel dates, handling URLs, file conversion, and data parsing. - [Featured](https://manueltgomes.com/area/featured/): A handpicked, rotating selection of featured and most popular articles on Power Platform, automation, SharePoint, and Microsoft 365, curated for the manueltgomes.com homepage. - [Feedback](https://manueltgomes.com/area/general/feedback/): Reader feedback and detailed answers to common Power Platform and Power Automate questions submitted by the community, turned into focused write-ups by Manuel T Gomes. - [General](https://manueltgomes.com/area/general/): General hub covering technology, automation, and productivity articles, including announcements, deep dives, opinion, quick takes, and quick automation recipes. - [Microsoft](https://manueltgomes.com/area/microsoft/): Parent hub for Microsoft 365 and Power Platform content, covering Power Automate, Power Apps, Power BI, SharePoint, Excel, Teams, Graph, and PowerShell tutorials. - [Microsoft 365 Copilot](https://manueltgomes.com/area/microsoft/microsoft-365-copilot/): Tutorials and tips for Microsoft 365 Copilot covering AI features in Word, Excel, Outlook, Teams, and SharePoint, plus practical prompts and realistic expectations. - [Microsoft 365 Excel](https://manueltgomes.com/area/microsoft/office-365-excel/): Microsoft 365 Excel tutorials covering cloud workbook features and Power Platform integration to pull data, add rows, and automate spreadsheet workflows. - [Microsoft 365 Outlook](https://manueltgomes.com/area/microsoft/office-365-outlook/): Microsoft 365 Outlook tutorials covering email automation, calendar management, and Power Automate workflows for sending, sorting, and processing messages. - [Microsoft Forms](https://manueltgomes.com/area/microsoft/forms/): Microsoft Forms tutorials covering quizzes, branching, validation, pre-filled and multi-language forms, and Power Automate integration for data collection. - [Microsoft Graph](https://manueltgomes.com/area/microsoft/graph/): Microsoft Graph API tutorials for accessing Microsoft 365 data and automating tasks across Outlook, Teams, SharePoint, and OneDrive from one endpoint. - [Microsoft Lists](https://manueltgomes.com/area/microsoft/lists/): Microsoft Lists tutorials covering templates, views, and Power Automate integration for tracking structured data without scattered spreadsheets. - [Microsoft Outlook](https://manueltgomes.com/area/microsoft/outlook/): Microsoft Outlook tutorials covering email management, calendar features, rules, and desktop automation with Power Automate across Windows, macOS, and mobile. - [Microsoft Planner](https://manueltgomes.com/area/microsoft/planner/): Microsoft Planner tutorials covering task management, labels, views, charts, and Power Automate integration with Microsoft Teams and SharePoint. - [Microsoft Teams](https://manueltgomes.com/area/microsoft/teams/): Microsoft Teams tutorials covering meetings, notifications, approvals, governance, and Power Automate and SharePoint integration for team collaboration. - [Microsoft To Do](https://manueltgomes.com/area/microsoft/todo/): Microsoft To Do tutorials covering lists, My Day, reminders, task sharing, and automation across Microsoft 365 with the Power Platform. - [Mindset](https://manueltgomes.com/area/mindset/): Mindset articles on productivity, focus, habits, and personal growth for builders who want to do more without burning out and keep improving steadily. - [N8N](https://manueltgomes.com/area/n8n/): n8n workflow automation tutorials covering what n8n is, self-hosting, Gmail and Google credentials, inbox triage, and how it compares to Power Automate. - [N8N Node Reference](https://manueltgomes.com/area/reference/n8n-node-reference/): A detailed N8N node reference explaining what each node does, how to configure inputs and outputs, best practices, and the limitations you hit in real workflows. - [N8N Trigger Reference](https://manueltgomes.com/area/reference/n8n-trigger-reference/): n8n trigger node reference covering the nodes that start workflows, including the Manual Trigger and Gmail Trigger, with configuration, best practices, and limitations. - [Newsletter](https://manueltgomes.com/area/general/newsletter/): Newsletter signup for a recurring email covering Power Automate, Power Apps, SharePoint, and Power Platform automation, with new tutorials, reference guides, and practical tips. - [OData Reference](https://manueltgomes.com/area/reference/odata-reference/): OData filter query reference for Power Platform and Power Automate, covering comparison operators like equals, greater than, and or, plus startswith, endswith, and date functions. - [OneDrive](https://manueltgomes.com/area/microsoft/onedrive/): OneDrive tutorials covering file storage, synchronization, the SharePoint backend, and Power Automate integration for automating personal cloud file workflows. - [OneDrive for Business](https://manueltgomes.com/area/microsoft/onedrive-for-business/): OneDrive for Business tutorials covering file synchronization, sharing best practices, and Power Automate integration on the Microsoft 365 platform. - [OneNote](https://manueltgomes.com/area/microsoft/onenote/): OneNote tutorials covering note-taking, notebook organization, and integration with Microsoft 365 and Power Automate for capturing and automating notes. - [Opinion](https://manueltgomes.com/area/general/opinion/): Opinion articles sharing perspectives on technology, automation, developer habits, and the Microsoft ecosystem, plus how to build software and handle mistakes. - [Other](https://manueltgomes.com/area/other/): The Other section collects manueltgomes.com articles outside core products, currently branching into privacy and productivity topics for online users and makers. - [Platforms](https://manueltgomes.com/area/platforms/): The Platforms hub covers third-party services Manuel uses daily, branching into Twitter and WordPress, with integration and automation tips via Power Automate. - [Podcasts](https://manueltgomes.com/area/recommendations/podcasts/): Podcast recommendations from Manuel T Gomes, including Accidental Tech Podcast, Mac Power Users, and Revisionist History, covering technology, software, design, business, and storytelling. - [Power Apps](https://manueltgomes.com/area/microsoft/powerapps/): Power Apps tutorials covering canvas apps, variables, delegation, layout, best practices, and passing parameters to Power Automate flows. - [Power Apps Function Reference](https://manueltgomes.com/area/reference/powerapps-function-reference/): Power Apps (Power Fx) function reference covering counting, date, text, and color functions like Count, CountRows, DateAdd, DateDiff, and Concatenate, with syntax and examples. - [Power Automate](https://manueltgomes.com/area/microsoft/power-platform/powerautomate/): Power Automate tutorials and guides covering cloud flows, error handling, throttling, connectors, CSV handling, approvals, and workflow automation for Microsoft 365 and SharePoint. - [Power Automate Action Reference](https://manueltgomes.com/area/microsoft/power-platform/powerautomate/power-automate-action-reference/): Reference for Power Automate connector actions such as Filter Array, Parse JSON, and Apply to each, with inputs, outputs, configuration options, and limitations. - [Power Automate Common Questions](https://manueltgomes.com/area/microsoft/power-platform/powerautomate/power-automate-common-questions/): Answers to common Power Automate questions about Python scripts, Microsoft Graph API, SharePoint list comparison, run duration limits, and infinite trigger loops. - [Power Automate Function Reference](https://manueltgomes.com/area/microsoft/power-platform/powerautomate/powerautomate-function-reference/): Reference for Power Automate expression functions covering date, time, math, logical, string, and collection functions, with syntax, parameters, return values, and examples. - [Power Automate Trigger Reference](https://manueltgomes.com/area/reference/power-automate-trigger-reference/): Reference for Power Automate triggers covering manual, Forms, Outlook, Dataverse, Microsoft 365 Groups, and To Do triggers, with best practices and limitations. - [Power BI](https://manueltgomes.com/area/microsoft/powerbi/): Power BI tutorials covering data visualization, connecting sources, report design, mobile reports, and integration with the wider Power Platform. - [Power Fx](https://manueltgomes.com/area/powerfx/): Power Fx tutorials for Microsoft's low-code formula language, covering functions, expressions, and reusable patterns across Power Apps and Power Automate. - [Power Pages](https://manueltgomes.com/area/microsoft/power-platform/power-pages/): Power Pages tutorials for building low-code, data-driven websites with Microsoft's Power Platform, covering Dataverse integration, best practices, and examples. - [Power Platform](https://manueltgomes.com/area/microsoft/power-platform/): Microsoft Power Platform hub covering Power Automate cloud flow automation and Power Pages low-code website building, with tutorials, references, and guides. - [PowerShell](https://manueltgomes.com/area/microsoft/powershell/): PowerShell scripting tutorials for automating SharePoint, Azure, and Microsoft 365, with practical scripts and clear explanations of how they work. - [Privacy](https://manueltgomes.com/area/other/privacy/): Privacy articles covering data protection, online security, two-factor authentication, and everyday defenses to help you control your personal information. - [Productivity](https://manueltgomes.com/area/other/productivity/): Productivity articles on habits, systems, and Power Platform automation, sharing practical tips to help you do more with less and reclaim your time. - [Python](https://manueltgomes.com/area/python/): Python tutorials focused on automation, scripting, API integration, and modern libraries like Pydantic and HTTPX for building practical productivity tools. - [Questions and Answers](https://manueltgomes.com/area/general/questions-and-answers/): Reader questions answered in depth on automation, Microsoft technologies, and developer challenges, with practical, context-rich solutions on manueltgomes.com. - [Quick Automations](https://manueltgomes.com/area/general/quick-automations/): Quick automation recipes you can build in under ten minutes using Power Automate and Microsoft 365 to save time on repetitive everyday tasks. - [Quick Take](https://manueltgomes.com/area/general/quick-take/): Short-form Quick Take commentary on technology, artificial intelligence, and industry news, offering sharp, fast-to-read opinions on current tools and trends. - [Recommendations](https://manueltgomes.com/area/recommendations/): Manuel T Gomes's recommendations hub linking to curated books, podcasts, tools, and apps he personally uses for software craft, productivity, learning, and daily organization. - [Reference](https://manueltgomes.com/area/reference/): Reference hub covering Power Automate triggers, Power Apps and SharePoint functions, Excel functions, N8N nodes, and OData query syntax, with examples and limitations. - [SharePoint](https://manueltgomes.com/area/microsoft/microsoft-365-copilot/sharepoint/): SharePoint tutorials covering lists, document libraries, permissions, calculated fields, column formatting, and Power Automate integration for document management. - [SharePoint List Function Reference](https://manueltgomes.com/area/reference/sharepoint-list-function-reference/): SharePoint list function reference covering math, date, text, and logic functions like Abs, Average, Concatenate, Date, DateDif, and Choose for calculated columns, with syntax and examples. - [Shifts](https://manueltgomes.com/area/microsoft/shifts/): Microsoft Shifts tutorials for schedule management, shift swaps, and team coordination in Teams, plus Power Automate integration to automate notifications. - [Shortcuts](https://manueltgomes.com/area/apple/shortcuts/): Apple Shortcuts automation tutorials from Manuel T Gomes, including keeping common tasks one tap away, covering iOS, iPadOS, and Mac productivity and daily task automation. - [Swift](https://manueltgomes.com/area/programming/swift/): Swift tutorials for building iOS and macOS apps, covering language fundamentals, real-world examples, and practical patterns for cleaner, maintainable code. - [Tools](https://manueltgomes.com/area/recommendations/tools/): Tool recommendations from Manuel T Gomes, including Notion, 1Password, Grammarly, Hazel, and DEVONthink, covering productivity, organization, writing, development workflows, and automation. - [Twitter](https://manueltgomes.com/area/platforms/twitter/): Twitter and X automation tutorials using Microsoft's Power Platform, covering posting, monitoring mentions, and building social workflows with Power Automate. - [Ulysses](https://manueltgomes.com/area/recommendations/apps/ulysses/): Ulysses writing app tips from Manuel T Gomes, including fixing the WordPress login error, covering automation, publishing workflows, and productivity features. - [Uncategorized](https://manueltgomes.com/area/uncategorized/): A catch-all category for older manueltgomes.com posts not yet filed under a specific topic; most content now lives in the site's organized topic areas. - [Weekly Skill Boost](https://manueltgomes.com/area/weekly-skill-boost/): Weekly curated roundup of articles, videos, and resources on Power Platform, Power Automate, Microsoft 365, and automation to grow your skills each week. - [Wordpress](https://manueltgomes.com/area/platforms/wordpress/): WordPress tutorials for fixing common problems, including category archives, category URLs, removing the category prefix, and the mail() function error. - [Xcode](https://manueltgomes.com/area/apple/xcode/): Xcode development tips from Manuel T Gomes, including fixing the package graph dependency error and installing macOS as a virtual machine, covering build fixes and toolchain notes. ## Featured Articles - [A country of geniuses](https://manueltgomes.com/general/quick-take/a-country-of-geniuses/): Commentary on Anthropic CEO Dario Amodei's essay about technology's growing pains and the responsible development of AI. - [Add properties to SharePoint files](https://manueltgomes.com/microsoft/microsoft-365-copilot/sharepoint/add-properties-to-sharepoint-files/): SharePoint file metadata guide: how to add custom columns (properties) to document library files and why they beat folders, covering filtering, sorting, grouping, multiple views, Edit in grid view, and search; adding a column via the modern Add column experience and filling values in the details pane; available column types (single/multiple line of text, choice, number, currency, date and time, yes/no, person or group, hyperlink, lookup, managed metadata, Image, Location); site columns vs library columns; required columns and per-folder default value settings; content types; sensitivity and retention labels surfacing as filterable columns via Microsoft Purview; AI autofill columns and Microsoft 365 Copilot; and limits (the 5,000-item list view threshold, column indexing, the 20,000-item auto-index ceiling, and managed-metadata term store setup). - [An advice from the 90s. Please be careful running commands to install software](https://manueltgomes.com/general/quick-take/an-advice-from-the-90s-please-be-careful-running-commands-to-install-software/): Opinion piece on the security risks of piping remote install scripts straight into a shell (curl -fsSL | sh): why one-line installers are convenient but dangerous, how they differ from vetted app-store installs, why "just read the script" is unrealistic advice for non-technical users, judging whether you trust the vendor, doing a quick search for known issues before running, and real-world incidents (the 2021 Codecov supply-chain breach) showing the risk is not always malicious. - [Batch Operations and Throttling Mitigation in Power Automate](https://manueltgomes.com/microsoft/power-platform/powerautomate/batch-operations-and-throttling-mitigation-in-power-automate/): Power Automate tutorial on SharePoint batch operations as throttling mitigation: why per-item connector calls in an Apply to each loop hit the 600-calls-per-connection limit (and how that relates to SharePoint resource-unit throttling and Power Platform request limits), the OData $batch multipart format with changesets, required part headers (Content-Type: application/http and Content-Transfer-Encoding: binary), the SP.Data list type metadata for writes, building and sending the batch through the Send an HTTP request to SharePoint action using the guid function for boundaries, performance comparison versus individual calls (roughly 5x to 100x with real benchmarks), non-transactional error handling (no rollback even inside a changeset, parsing per-operation status codes, silent partial failures), when to use batch versus individual calls, and 2026 alternatives (Microsoft Graph JSON batching with its 20-request cap, Office Scripts, and Dataverse CreateMultiple/UpdateMultiple). - [Book: A Promised Land](https://manueltgomes.com/recommendations/books/book-a-promised-land/): Book review of A Promised Land by Barack Obama, the first volume of his presidential memoir: what it covers (early life, time in the Senate, the 2008 campaign, and the first term in the White House), the reading experience (audiobook narrated by Obama), and why the reviewer recommends it as a study of values-driven leadership under pressure. - [Book: Dungeon Crawler Carl](https://manueltgomes.com/recommendations/books/book-dungeon-crawler-carl/): Book review of Dungeon Crawler Carl by Matt Dinniman, covering the spoiler-free premise (Carl and the cat Princess Donut competing in an alien-run dungeon crawl reality show), the author's self-publishing route to a seven-sequel deal, the LitRPG genre explained for non-gamers, and why the Hitchhiker's Guide style humor makes the series work. - [Book: Revenge of the Tipping Point](https://manueltgomes.com/recommendations/books/book-revenge-of-the-tipping-point/): Book review of Malcolm Gladwell's Revenge of the Tipping Point, covering the 'rule of thirds' concept explored through examples like cheetahs, Ivy League sports, Los Angeles in the 1990s, teen suicide, COVID-19, and the opioid crisis, the author's background and the 10,000-Hour Rule from Outliers, reactions from critics and readers on the book's formulaic style, and the reviewer's personal take on why it is an entertaining and educational read. - [Book: Why Nations Fail](https://manueltgomes.com/recommendations/books/book-why-nations-fail/): Book review of Why Nations Fail by Daron Acemoglu and James A. Robinson: the institutions thesis on why some nations prosper and others fail, the book's premise and historical scope, the authors' background and Nobel Memorial Prize, my personal take on the read, and who will enjoy it. - [Excel: Averageif Function](https://manueltgomes.com/reference/excel-function-reference/excel-averageif-function/): Excel AVERAGEIF Function Reference: Complete guide covering the range, criteria, and optional average_range arguments, averaging the tested range versus a separate range, comparison operators and cell-reference thresholds joined with &, wildcard criteria (? and *), non-intuitive behaviors (an empty criteria cell read as 0, average_range silently reshaped from its top-left cell to match the shape of range, blank matching cells producing a divide-by-zero), limitations (single criterion only, text and TRUE/FALSE and blanks excluded from the average, #DIV/0! when nothing qualifies, numbers stored as text ignored), regional separator differences (comma versus semicolon), troubleshooting for #DIV/0! errors, averages skewed by literal zeros, rows ignored because values are text, and mismatched average_range, plus best practices on aligning ranges with named ranges, keeping thresholds in cells, and wrapping the formula in IFERROR. - [Excel: Count Function](https://manueltgomes.com/reference/excel-function-reference/excel-count-function/): Excel COUNT Function Reference: complete guide to the COUNT worksheet function covering syntax (value1, value2, up to 255 arguments), what it counts and ignores (numbers and dates are counted; text, blank cells, logical values, and error values inside a range are ignored), the difference between values typed directly as arguments versus referenced from a range (logical values and text representations of numbers like "1" are counted when typed directly but ignored in a range), why dates are counted (Excel stores them internally as serial numbers), the COUNT function family (COUNTA, COUNTBLANK, COUNTIF, COUNTIFS), limitations (numbers stored as text are not counted, 255-argument maximum, errors passing silently), troubleshooting common errors (count too low, returns 0, numbers stored as text), localization (comma versus semicolon argument separators), and recommendations (referencing whole columns or named ranges, picking the right family member, handling errors with IFERROR). - [Excel: Countif Function](https://manueltgomes.com/reference/excel-function-reference/excel-countif-function/): Excel COUNTIF Function Reference: Complete guide to counting cells that meet a single condition, covering the range and criteria arguments, criteria forms (literal text, numbers, comparison operators >, <, >=, <=, =, <> inside quotes, wildcards * and ? with tilde escaping, and cell references joined with &), the counting function family (Count, Counta, Countblank, Countif, Countifs, Sumif, Averageif) and when to use each, real-world examples (dashboard status tiles, counting values above a target cell, finding duplicates), non-intuitive behaviors (case-insensitive text matching, numbers stored as text matched by value, leading zeros coerced away so "000123" matches 123, counting blanks with "" and non-blanks with "<>", leading and trailing spaces breaking matches), limitations (single condition only, incorrect results above 255 characters of criteria, cannot count by cell fill or font color, #VALUE! errors from closed workbooks), regional separator differences (comma versus semicolon), troubleshooting (formula returns 0, count lower than visible rows, #VALUE! errors), and best practices including whole-column and named ranges, storing criteria in a cell, and wrapping in IFERROR. - [Excel: If Function](https://manueltgomes.com/reference/excel-function-reference/excel-if-function/): Excel IF Function Reference: Complete guide to the logical IF function covering syntax (logical_test, value_if_true, value_if_false), comparison operators, using numbers directly as a test (zero is FALSE, non-zero is TRUE), case-insensitive text comparisons, nesting IF functions and the 64-nest limit, the function family (IF, IFS, IFERROR, IFNA, SWITCH, AND, OR, NOT), non-intuitive behaviors (omitted false branch returns FALSE, blank cells treated as zero, blank references returning 0), localization (comma vs semicolon separators), common errors (#NAME?, unexpected 0, blank rows in the wrong branch), and best practices for readable, error-safe formulas using IFERROR. - [Excel: SUMIFS Function](https://manueltgomes.com/reference/excel-function-reference/excel-sumifs-function/): Excel SUMIFS Function Reference: complete guide to summing values across multiple conditions covering the syntax and argument order (sum_range first, then criteria_range1/criteria1 pairs, unlike SUMIF where sum_range is last), up to 127 criteria pairs, AND logic across all conditions, comparison operators in criteria (">500", ">"&E1), wildcards (? and *) for partial text matches, joining operators to cell references with &, how sum_range treats numbers, blanks, text, and errors, edge cases (all ranges must share the same rows and columns or the formula returns #VALUE!, invisible trailing spaces breaking text matches, dates compared by underlying serial value not display format), limitations (AND-only with no OR, the 127-pair ceiling, a single error in the sum range taking over the result), localization of the comma versus semicolon argument separator, troubleshooting common errors (formula returns 0, #VALUE! from mismatched range sizes, operator criteria not filtering), and recommendations including named ranges, keeping thresholds in cells, and wrapping in IFERROR. - [Excel: Sum Function](https://manueltgomes.com/reference/excel-function-reference/excel-sum-function/): Excel Sum Function Reference: Complete guide covering the SUM(number1, [number2], ...) syntax, the 255-argument limit, and how the function treats each value type it can meet, numbers, dates and times as serial numbers, text ignored inside a referenced range but coerced when typed directly as an argument, logical values TRUE/FALSE with the same typed-versus-referenced distinction, blank cells and empty strings, and error values that propagate and take over the whole result rather than being skipped. Covers the function family (SUMIF, SUMIFS, SUMPRODUCT, SUBTOTAL, AGGREGATE), localization of the argument separator (comma versus semicolon), common errors (SUM returning 0 because numbers are stored as text, #VALUE! errors from a referenced error cell, regional separator mismatches), and recommendations including referencing whole columns, preferring SUM over manual addition chains, and wrapping the formula in IFERROR. - [Excel: Sumif Function](https://manueltgomes.com/reference/excel-function-reference/excel-sumif-function/): Excel SUMIF Function Reference: Complete guide to the SUMIF worksheet function covering the range, criteria, and optional sum_range arguments, omitting sum_range to sum the tested cells, comparison operators (>, <, >=, <=, <>) inside quotation marks, building criteria from a cell reference with the & concatenation symbol, wildcard matching with ? and * and escaping literals with ~, how values in sum_range are treated (numbers added, text and blanks skipped, dates as serial numbers, a single error value returning that error), edge cases (a mismatched sum_range silently reshaped from its top-left cell instead of raising an error, case-insensitive text matching, trailing spaces breaking a match), limitations (one condition only, incorrect results with criteria over 255 characters, errors taking over the total), regional separator differences between comma and semicolon settings, troubleshooting common errors (the formula returning 0, numbers stored as text, an operator in the criteria being ignored, a wrong total with no error shown), and the difference from SUMIFS including the reversed argument order. - [Flow: Run a Child Flow](https://manueltgomes.com/microsoft/power-platform/powerautomate/flow-run-child-flow/): Power Automate Run a Child Flow tutorial: how to reuse logic across flows by calling one flow from another. Covers the Solution requirement (and its Microsoft Dataverse database prerequisite), creating the Solution and the parent/child flows, the mandatory Manually trigger a flow trigger, returning values with the Respond to a PowerApp or flow action, and the embedded-connections caveat (Run only users tile, Use this connection vs Provided by run-only user, and the child workflows only support embedded connections error, with built-in actions and Dataverse exempt). Also covers non-intuitive behaviors (the default 4-retry policy causing a failed child flow to execute 5 times with repeated side effects, no self-recursion, child errors living in the child flow run history, building parent and child directly in the same Solution) and limitations (no array or object input/output data types, 30-day run duration and 120-second response window, and child flow actions still counting as Power Platform Requests against the parent flow limit). - [Government-backed attackers](https://manueltgomes.com/other/privacy/government-backed-attackers/): Opinion piece on Google's "Government-backed attackers" Gmail warning: what the alert says, how Google explains it on its help page and Security Blog, why the deliberately vague wording (no detail on how the attack was detected) creates alarm without giving the user any action they can take, the 2016 rollout of proactive warnings and the earlier 2012 email flagging, the Advanced Protection Program, and the argument that naming state-backed actors is careless because the recommended security steps are identical regardless of who the attacker is. - [Handle Large Files in Power Automate with Chunking](https://manueltgomes.com/microsoft/power-platform/powerautomate/handle-large-files-in-power-automate-with-chunking/): Power Automate how-to on chunking and large-file handling with SharePoint and OneDrive: what chunking is (splitting transfers over roughly 30 MB, the 100 MB single-message limit, actions only and never triggers), the Allow chunking toggle under Settings then Content transfer (100 MB off, 1 GB on, about 52 MB default chunk size), the Base64 roughly 33 percent inflation that triggers 413 Request Entity Too Large around 75 MB, the overwrite trap (chunking on hides the Overwrite option, plus corruption reports near the threshold especially with Power Apps images), the Microsoft Graph createUploadSession path (preauthenticated upload URL, Content-Range fragments, the 320 KiB or 327,680-byte multiple rule, sub-60 MiB requests, 5 to 10 MiB recommended, resumable sessions, conflictBehavior fail/replace/rename, no Authorization header on the PUT), the older SharePoint REST StartUpload/ContinueUpload/FinishUpload methods, a size-based decision guide (under 50 MB, 50 to 100 MB with overwrite, 100 MB to 1 GB, over 1 GB, and Copy File for existing large files), and common errors and fixes. - [How are things going and new sections.](https://manueltgomes.com/general/announcements/how-are-things-going-and-new-sections/): Site announcement and personal update from Manuel T Gomes covering four new content sections (N8N Trigger Reference, Excel Function Reference, Xcode, Python), revived recommendations sections (tools, podcasts, books), and newly available consulting slots for help with Power Automate and automation, software development, and project management. - [How to check optional values in a manual trigger?](https://manueltgomes.com/microsoft/power-platform/powerautomate/how-to-check-optional-values-in-a-manual-trigger/): Power Automate tutorial on reading optional inputs from a Manually trigger a flow trigger: explains why triggerBody()['date'] fails with a "property does not exist" error when an optional field is left blank, how the ?[] safe navigation operator (triggerBody()?['date']) returns null instead of erroring, why the expression must be typed by hand rather than picked from Dynamic Content, adding a default value with the coalesce function, branching on missing values with the empty and if functions, and common mistakes (using the Dynamic Content picker, misplacing the question mark, forgetting null is not a real value). - [How to disable the Muse AI on your Instagram profile](https://manueltgomes.com/general/quick-take/how-to-disable-the-muse-ai-on-your-instagram-profile/): Quick guide to disabling Instagram's Muse AI feature, which is opted in by default and lets anyone generate AI images and videos from a public profile: step-by-step opt-out through profile settings, the Sharing and reuse menu, and turning off both posts and reels. - [How to insert multiple values into a SharePoint Lookup field?](https://manueltgomes.com/microsoft/power-platform/powerautomate/power-automate-common-questions/how-to-insert-multiple-values-into-a-sharepoint-lookup-field/): Power Automate tutorial on writing multiple values into a SharePoint lookup column: setting up the Tags and Article lists with a multi-select lookup, discovering the array structure the Create Item action expects by adding values manually and switching to array mode, and three approaches for resolving display values to their list item IDs: a per-value Get Items call with an OData filter such as Title eq 'Power Automate' wrapped in Apply to each, a single Get Items followed by Filter array with first(body('Filter_array'))?['ID'] to avoid repeated SharePoint round trips, and a Select action that builds a name-to-ID lookup object queried with body('Select')?['key']. Covers when each approach is worth the complexity and the trade-off between speed and debuggability. - [How to move emails in a shared mailbox in Power Automate?](https://manueltgomes.com/microsoft/power-platform/powerautomate/moving-emails-in-a-shared-mailbox/): Power Automate tutorial on moving emails inside a shared mailbox with the Move Email action: filling the Original Mailbox Address field, how the folder picker follows that address, custom folder paths and folder IDs, and moving mail from a shared mailbox into your own. Covers permissions (Full Access required, Send As is not enough, roughly two hours to replicate), non-intuitive behaviors (the message ID changes after a move so downstream actions break, the standard When a new email arrives trigger cannot watch shared mailboxes, moving mail can re-trigger the flow, Microsoft 365 Group addresses are rejected), limitations (300 API calls per connection per 60 seconds, Exchange Online only, no on-premises mailboxes, no service principal auth, forward slashes in folder names), common errors (HTTP 403 on shared mailbox writes, MailboxNotEnabledForRESTAPI, 404 ErrorItemNotFound from stale message IDs), and the Microsoft Graph HTTP with Microsoft Entra ID fallback. - [How to parse a CSV file in Power Automate](https://manueltgomes.com/microsoft/power-platform/powerautomate/how-to-parse-csv-file/): Power Automate tutorial: parsing a CSV file into JSON using only built-in actions, with no premium or third-party connectors. Covers the child-flow trigger parameters (OneDrive file path, whether the first row holds column names), fetching content with the Get file content using path action, splitting the file into rows and headers with the split function, validating row length against the header count with the length function, building each JSON element with the concat function and an Apply to each loop, tracking position with iterator variables, debugging the expression with a Compose action, and returning the JSON string. Includes a downloadable template and notes on calling the flow from anywhere with the When an HTTP request is received trigger (a premium connector). Superseded by a newer template that supports headers, custom separators, and quoted values. - [How to parse a CSV file in Power Automate (new template)?](https://manueltgomes.com/microsoft/power-platform/powerautomate/parse-a-csv-new-template/): Power Automate CSV parsing guide and free template: a no-premium-connector Flow that converts a CSV file into JSON, covering configurable separators, optional headers, quoted fields, saving the JSON output, and reusing the Flow via scopes, copy/paste, or a child Flow. Confirms that Power Automate still has no native Parse CSV action and no csv() expression function (Data Operations only offers Compose, Join, Select, Filter array, Create CSV table, Create HTML table, and Parse JSON), and warns that the Parse a document action that mentions CSV belongs to Azure Logic Apps, not Power Automate. Explains why quoted fields containing separators or embedded newlines (RFC 4180) cannot be parsed with expressions alone and require an Office Script, custom connector, Azure Function, or Power Query dataflow, citing Microsoft's own sample script admitting it splits values containing newline characters. Covers the loop-free Select action pattern with skip() as both the faster and safer alternative to Apply to each because it escapes JSON for you. Documents non-intuitive behaviors (UTF-8 byte order mark silently nulling the first column, CRLF vs LF line endings leaving stray carriage returns, trailing newlines creating a phantom empty record, duplicate headers silently losing data, headers with spaces requiring bracket notation with safe navigation) and platform limitations (content throughput of 120 MB per 5 minutes and 200 MB per 24 hours on the Low performance profile, Apply to each caps of 5,000 vs 100,000 items by profile, the 8,192 character expression limit and 131,072 character concat ceiling, concurrency ordering and variable race conditions, irreversible trigger concurrency, and 30 day run duration and retention). Also covers legacy .zip package import caveats: solution-by-default environments, third-party cookie requirements, connection mapping, and the flow arriving turned off. - [How to save emails from an Outlook to a file in Power Automate](https://manueltgomes.com/microsoft/power-platform/powerautomate/power-automate-how-to-save-emails-to-a-file/): Power Automate tutorial for saving an Outlook email as an .eml file, covering two strategies: automatic archiving with the When a new email arrives (V3) trigger, and manual bulk processing of a folder with the Manually trigger a flow trigger plus the Get emails (V3) action and an Apply to each loop. Both paths converge on the Export email (V2) action, which takes a Message Id (items('Apply_to_each')?['id'] in the loop, or the trigger output when automatic) and returns the message, and then the OneDrive for Business Create file action to save it, though any save action works. Covers the file name formula in depth as the tricky part: nested replace functions for the characters OneDrive rejects (" * : < > ? / \ |), a formatDateTime timestamp prefix to prevent same-subject overwrites, empty-subject handling with coalesce and empty, length capping with take against the 400 character path budget, concat to add the .eml extension, separate variants for the manual and automatic triggers, and the Apply_to_each versus For_each loop naming difference in newer designers. Includes strategy advice: using a to-process folder and an archive folder to avoid duplicate saves on re-runs, not pointing Get emails at the inbox, and preferring a small Top value on a schedule over pagination. Notes that an automatically triggered flow fails on re-run from Test because of how Outlook handles message IDs. Common mistakes covered: a missing .eml extension producing an invalid file, blank exports when Original Mailbox Address is left empty, and the specified object was not found in the store error from a mailbox mismatch or a message moved mid-run. - [Human oversight for high-risk AI (EU AI Act)](https://manueltgomes.com/general/quick-take/human-oversight-for-high-risk-ai-eu-ai-act/): Quick take on a conference talk about security and compliance for AI agents, covering EU AI Act Article 14 human oversight requirements, the Gitmesh open-source project's compliance-aware design, risks from foreseeable misuse, and the two-person verification rule for high-risk AI systems. - [Microsoft Teams: You’re on mute - optimize meetings](https://manueltgomes.com/microsoft/teams/youre-on-mute/): Opinion and practical guide to Microsoft Teams meeting etiquette, updated for 2026: mute etiquette and the automatic 'You're muted' notification, mute all versus hard mute (the 'Allow mic for attendees' meeting option), voice isolation and personal voice profiles versus generic noise suppression, background blur and its privacy limits, turning off incoming video to save bandwidth and CPU, reducing invitees using optional attendance and the Follow option, the raise-hand queue and reactions, agendas as collaborative Loop notes that flow tasks into Microsoft Planner and Microsoft To Do, meeting recap and Copilot AI notes replacing long recordings, recording expiration in OneDrive and SharePoint, and AI consent etiquette including the Copilot meeting options (off, only during the meeting, during and after) and explicit consent prompts. - [N8N: On a Schedule Trigger](https://manueltgomes.com/reference/n8n-trigger-reference/n8n-on-a-schedule-trigger/): N8N Schedule Trigger Node Reference: Complete guide to running workflows on a timer, covering Trigger Rules and the Trigger Interval options (Seconds, Minutes, Hours, Days, Weeks, Months, Custom Cron), cron expression syntax with the optional seconds field, output fields (timestamp, Readable date, Day of week, Timezone), non-intuitive behaviors (schedule starts at publish time, changes only apply after republishing, next-run preview in the node), limitations (no catch-up for missed runs, interval drift on restarts, known interval-mode firing bugs with GitHub issue references), troubleshooting (wrong-time runs from timezone defaults, GENERIC_TIMEZONE, invalid cron expressions, IANA timezone names), and recommendations (prefer cron for time-sensitive schedules, set the timezone deliberately). - [N8N: On a Webhook Call Trigger](https://manueltgomes.com/reference/n8n-trigger-reference/n8n-on-a-webhook-call-trigger/): N8N Webhook Trigger node reference: covers adding the node (shown as 'On a webhook call'), the difference from the Respond to Webhook node, configuration (HTTP Method, Path with route parameters, Authentication types None/Basic Auth/Header Auth/JWT Auth, Respond modes Immediately/When Last Node Finishes/Using Respond to Webhook Node/Streaming, Response Data options, and Options like Allowed Origins/CORS, Binary Property, Ignore Bots, IP Whitelist, Raw Body, Response Headers), output fields (headers, params, query, body, webhookUrl, executionMode) and reading them with {{ $json.body.field }} expressions, non-intuitive behaviors (test vs production URLs, 120-second test listener, workflow must be active, single HTTP method by default), limitations (16MB payload cap and N8N_PAYLOAD_SIZE_MAX, 100-second Cloud response timeout with 524 error, test URL not for real traffic), troubleshooting (webhook not registered, 404 on path/method mismatch, IP whitelist behind a reverse proxy and N8N_PROXY_HOPS, duplicate path and method in use), and recommendations for securing and naming the endpoint. - [N8N: Trigger Manually](https://manueltgomes.com/reference/n8n-trigger-reference/n8n-trigger-manually/): N8N Manual Trigger Node Reference: Complete guide to the Manual Trigger (labeled "When clicking 'Execute workflow'", formerly "When clicking 'Test workflow'") covering where to find it, its lack of credentials and parameters, the single empty item ({}) it emits and how to read data downstream with {{ $json.fieldName }} expressions, non-intuitive behaviors (empty-item emission so the next node still runs once, version-dependent button label, only one Manual Trigger allowed per workflow), limitations (cannot activate a workflow for production, editor-only with no external URL, carries no incoming data), troubleshooting common errors (the "Workflow has no node to start the workflow, at least one trigger, poller or webhook node is required" activation error, empty downstream fields), and recommendations for pairing with an Edit Fields node and swapping in a real trigger before going live. - [New Power Automate now requires connection references](https://manueltgomes.com/microsoft/power-platform/powerautomate/new-power-automate-now-requires-connection-references/): Power Automate how-to: fixing the "New designer can't be used for this flow yet" message caused by a solution flow using a connection instead of a connection reference. Covers the timeline behind the change (connection references preview in September 2020, solution checker ALM rules in May 2022, new cloud flows designer GA in November 2023, classic designer now in maintenance mode with the New designer toggle greyed out), why connection references beat direct connections (avoiding a graveyard of invalid connections spread across many actions, mapping a single reference on solution import and export), and the step by step conversion: creating a connection reference from New > More > Connection Reference inside the solution, waiting for propagation, using the Flow Checker "Remove the connections" action when the reference does not appear, reauthenticating an Invalid Connection, and saving to re-enable the new designer. - [Parse JSON Action](https://manueltgomes.com/microsoft/power-platform/powerautomate/power-automate-action-reference/parse-json-action/): Power Automate Parse JSON Action Reference: Complete guide covering the Content and Schema fields, the "Generate from sample" schema generator (called "Use sample payload to generate schema" in Logic Apps and the Request trigger), and using parsed output as dynamic content. Documents non-intuitive behaviors: strict schema validation; null handling, where the type-array fix ["string","null"] silently removes the property from the dynamic content picker while an empty property schema {} accepts nulls and keeps it; extra properties being ignored only until additionalProperties false is present; the action typing rather than transforming data, so undeclared properties stay reachable via expressions; JSON strings versus JSON objects, requiring the json() function when the upstream Content-Type is text/plain; the $schema trap, since only JSON Schema drafts 3, 4 and 6 are supported; no type coercion; integer versus number; and nested object picker limits. Covers limitations: no partial parsing; pattern and patternProperties blocked outright, producing ActionSchemaNotSupported; which JSON Schema keywords actually enforce (minimum, maximum, enum, minLength, maxLength, minItems, maxItems, uniqueItems, multipleOf) versus format validating nothing and oneOf/anyOf/allOf validating at runtime but generating no dynamic content; external $ref being unsupported while internal $ref works; the 100 MB message size cap with no chunking support and the doubled content throughput cost; and every execution consuming a Power Platform request against the 6,000 or 40,000 daily allowance, including failed runs. Troubleshooting exact errors: "Invalid type. Expected String but got Null"; "Required property 'content' expects a value but got null" (an InvalidTemplate error that fires before schema validation, so editing the schema cannot help); "ValidationFailed. The schema validation failed" (which since 2024 often omits the failing property name); ActionSchemaNotSupported; and dynamic content not showing expected fields. Plus recommendations on editing generated schemas, debugging with the Compose action, skipping Parse JSON for simple cases to conserve requests, naming, commenting, and error handling. - [Power Automate mobile apps, the Excel add-in and personal accounts are going away](https://manueltgomes.com/general/quick-take/power-automate-mobile-apps-the-excel-add-in-and-personal-accounts-are-going-away/): Power Automate deprecations round-up covering four retirements. The Power Automate mobile app for iOS and Android is deprecated August 31, 2026 and removed from the Apple App Store and Google Play Store; existing automated, scheduled and instant cloud flows keep running, the 'Send me a mobile notification' action still executes but delivers nothing, and status checks and manual triggering move to Power Apps, Teams and the web interface. The Power Automate for Excel add-in from AppSource is replaced by the native Automate tab in Excel. Personal Microsoft service accounts were deprecated between May 27 and July 26, 2025: sign-in to the portal and mobile app with gmail.com or outlook.com addresses is blocked, cloud flows tied to those accounts were permanently deleted, Power Automate for desktop is unaffected, and the replacement path is the free Power Apps Developer Plan, which requires an Azure account and a Microsoft Entra tenant and caps usage at 750 flow runs per month and 2 GB of database with no add-ons and no production licensing. Three further deprecations are covered: Visio BPMN diagram export to Power Automate ending July 14, 2026; Test Engine retiring April 2026 in favor of Power Platform Playwright samples; and Format Data by Examples removed in August 2025, replaced by the expression assistant in the expression editor. Includes the author's assessment of the licensing pressure created by the Developer Plan capacity caps. - [Power Automate: Access an Excel with a dynamic path](https://manueltgomes.com/microsoft/power-platform/powerautomate/how-to-access-dynamic-path-excel/): Tutorial for accessing an Excel file from a dynamic (runtime-built) file path in Power Automate: explains the Excel Online (Business) connector limitation where dynamic paths were rejected; the 2026 update adding a fourth file option (a drive-relative path entered via Enter custom value, and accepting a file id directly); the Get file metadata using path action for retrieving a file id; and the classic workaround using a Send an HTTP request to SharePoint call (GetFileByServerRelativeUrl) to fetch the file id, then feeding it to Excel actions like Get a row and List rows present in a table; covers the Table dropdown not resolving for dynamic files (use Get tables or Enter custom value), a downloadable template, and a link to the part II follow-up. - [Power Automate: Add attachment to e-mail dynamically](https://manueltgomes.com/microsoft/power-platform/powerautomate/power-automate-add-attachment-to-e-mail-dynamically/): Power Automate tutorial on adding a dynamic number of email attachments: using the advanced mode of the Send an email (V2) action (called Switch to input entire array in the new designer), the JSON array syntax with Name and ContentBytes keys, why ContentBytes takes the raw file output with no base64 conversion despite the designer labelling the field Content, and a worked OneDrive example using Initialize variable, List files in folder, Apply to each, Get file content using path, and Append to array variable. Also covers Office 365 Outlook connector and Exchange Online limits: 49 MB of content per email, 500 MB of mail content per five minutes per connection, 2,000 MB across all actions, 250 attachments per message, 300 API calls per connection every 60 seconds, and the lack of support for item attachments (.eml, .msg, .ics). - [Power Automate: Forms Get Response Details Action](https://manueltgomes.com/microsoft/power-platform/powerautomate/power-automate-action-reference/forms-get-response-details-action/): Power Automate Forms 'Get response details' Action Reference: complete guide covering the Form Id and Response Id fields, locating the action under the Standard connector list or via search, non-intuitive behaviors (answers over 255 characters in single-line text questions causing intermittent Flow failures, the responder field only populating when the Form is restricted to the organization and the Record name setting is on, file upload answers returning a string that must be run through Parse JSON with Generate from sample), limitations (all values returned as strings including arrays and dates, fields keyed by question ID rather than question name, 300 API calls per connection per 60 seconds throttling, organizational accounts only with no personal Microsoft account support, group Forms requiring the FormId to be copied from the URL and entered as a custom value, and Form ceilings of 5,000,000 responses, 200 questions, and 200,000 characters), troubleshooting common errors (duplicate Forms appearing from the recycle bin, a colleague's Form missing from the picker, corrupted attachments caused by the base64 function), and recommendations on never generating IDs, storing converted data in SharePoint or Dataverse instead of relying on Forms for long-term storage, naming and commenting the action, and error handling. - [Power Automate: HTML to Text Action](https://manueltgomes.com/microsoft/power-platform/powerautomate/power-automate-action-reference/html-to-text-action/): Power Automate HTML to Text action reference (Content Conversion connector): covers where to find the action, its single Content input, and the full conversion rules (80-character line wrapping, text[link] link formatting, uppercased headers and table heading cells, trimmed empty lines, asterisk-prefixed unordered lists, 3-space table columns, ignored href='#' anchors, collapsed newlines and stray blank spaces), the by-design stripping of formatting and hyperlinks with the string-functions workaround, size and structure limits (5 MB content cap and maximum HTML DOM tree depth of 70), regional availability (no longer offered for new flows in US Government GCC/GCC High or China cloud), and best practices for naming, commenting, and error handling. - [Power Automate: Manually Trigger a Flow Trigger](https://manueltgomes.com/reference/power-automate-trigger-reference/manually-trigger-a-flow-trigger/): Reference guide for Power Automate's Manually Trigger a Flow trigger (an instant cloud flow trigger): covering the six input parameter types (text, yes/no, file, email, number, date), drop-down and multi-select options, optional inputs and the empty-field gotcha fixed with the ?[] safe-navigation operator, the triggerBody() output schema with positional internal keys (text, text_1, text_2) and the file object (name, contentBytes), non-intuitive behaviors (deleting or reordering inputs breaks dynamic-content references, and how it differs from the For a selected item trigger by carrying no SharePoint or Teams context), running it from the portal, mobile app, or as a child flow, and limitations (same-solution requirement for Run a Child Flow, Respond to a Power App or flow, embedded connections, 120-second response timeout, and the 100 MB base64 payload cap for file inputs). - [Power Automate: Office 365 Outlook - Export email Action](https://manueltgomes.com/microsoft/power-platform/powerautomate/power-automate-action-reference/power-automate-office-365-outlook-export-email-action/): Power Automate Office 365 Outlook Export email (V2) Action Reference: Complete guide covering the Message Id and Original Mailbox Address parameters, the binary EML output and how to save it with the SharePoint or OneDrive Create File actions, non-intuitive behaviors (attachments are embedded in the EML but invisible in SharePoint and OneDrive browser previews, EML format only and never MSG, the output is the file itself rather than an object to navigate, Message Id changes when an email moves folders), limitations (shared mailbox needs both Original Mailbox Address and permissions, email subjects containing characters invalid in filenames, message size limits on large attachments, no search or filter capability), common errors and fixes (not-found errors from stale Message Ids or a missing Original Mailbox Address, saved files that will not open due to a missing .eml extension, Create File failures from invalid filename characters, attachments appearing missing in preview), and best practices for defensive file naming with concat, replace, and formatDateTime, exporting before moving, and error handling. - [Power Automate: Office 365 Outlook - Get emails Action](https://manueltgomes.com/microsoft/power-platform/powerautomate/power-automate-action-reference/power-automate-office-365-outlook-get-emails-action/): Power Automate Office 365 Outlook Get emails (V3) Action Reference: complete guide to retrieving a batch of emails from a mailbox folder, covering the Folder parameter and the advanced filter parameters (To, CC, To or CC, From, Importance, Only with Attachments, Subject Filter, Fetch Only Unread Messages, Original Mailbox Address), the Search Query parameter using the Graph $search engine, Top, and Include Attachments; the returned value array and its fields (Id, Subject, From, To, Body, Body Preview, Importance, Has Attachment, Is Read, Received Date Time, Attachments); non-intuitive behaviors (emails nested inside the value property, reading does not mark messages as read, the action is stateless between runs, filtering and searching use two different engines); limitations (filter fields evaluate only the first 250 emails, the Top count is best-effort rather than guaranteed despite a documented maximum of 1000, shared mailboxes require permissions, attachments inflate the payload); troubleshooting for missing emails, null or empty expressions, forbidden errors on shared mailboxes, and throttling; and the Graph /messages HTTP alternative for reliable pagination. - [Power Automate: Running PowerShell Scripts](https://manueltgomes.com/microsoft/power-platform/powerautomate/running-powershell-scripts/): Tutorial for running PowerShell scripts from Power Automate via the Azure Automation connector: finding the Create job action, the premium connector licensing requirement, prerequisites (Automation account, Runtime Environments, PowerShell 7.4 and its 10 November 2026 end of support, creating/writing/testing/publishing a runbook), authenticating with a managed identity (Connect-AzAccount -Identity, Run As accounts retired, system-assigned vs user-assigned, granting the identity a role), connector constraints (only three actions: Create job, Get job output, Get status of job, no triggers, default-tenant-only, no guest users), retrieving runbook output (Wait for Job toggle, Get job output, binary output handling with Compose), alternatives (Azure Functions PowerShell, Power Automate Desktop Run PowerShell script action), non-intuitive behaviors (three-hour fair-share job stop, extension-based vs retired agent-based Hybrid Runbook Workers, sandbox caps of 400 MB memory / 1 GB disk / 1,000 sockets with no executables or WMI, ten jobs per shared sandbox, 1 MB job stream cap, modules pinned per runtime version, string-only parameters), limitations (512 KB and 50-parameter caps, 30,000-character total parameter length, concurrent job limits of 50/10/5 by subscription type, connector throttling at 1,200 calls per 60 seconds, firewall 403s against Storage/Key Vault/SQL), troubleshooting common errors (this.Client.SubscriptionId cannot be null, Connect-AzAccount is not recognized, the job was tried three times but it failed, jobs stuck in Queued), and best practices for naming, comments, and error handling. - [Power Automate: SharePoint - List folder Action](https://manueltgomes.com/microsoft/power-platform/powerautomate/power-automate-action-reference/sharepoint-list-folder-action/): Power Automate SharePoint List folder Action Reference: covers where to find the action, the Site Address and File Identifier parameters (the field is labeled File Identifier but expects the folder's unique identifier, not its path, obtained via Get folder metadata using path), the ten BlobMetadata output fields (Id, Name, DisplayName, Path, LastModified, Size, MediaType, IsFolder, ETag, FileLocator), non-intuitive behaviors (folders are returned alongside files and flagged by IsFolder, only one level deep with no include-subfolders switch and a Condition-based recursion workaround, BlobMetadata versus SPBlobMetadataResponse and the missing ItemId required by Get file properties and Update file properties, no last modified by field), limitations (does not reach OneDrive, no paging with no Top Count parameter and no continuation token unlike the OneDrive equivalent's nextLink, 600 API calls per connection every 60 seconds throttling, generic lists and libraries only), troubleshooting empty site and folder dropdowns (35 second dropdown timeout, guest user accounts, conditional access policies, Enter custom value workaround), and recommendations on avoiding static IDs, naming, comments, and error handling. - [Power Automate: Teams - When a new chat message is added Trigger](https://manueltgomes.com/reference/power-automate-trigger-reference/power-automate-teams-when-a-new-chat-message-is-added-trigger/): Power Automate Teams 'When a new chat message is added' trigger reference: covers the WebhookChatMessageTrigger operation, which has no parameters and fires on every chat the connected user participates in. Documents the ChatMessageWebhookResponseSchema output (value array, conversationId, messageId, linkToMessage), why the payload carries no message text, sender, or timestamp, the Apply to each loop the array forces, and the Get message details round trip needed to retrieve body.content, from.user.id, importance, mentions, and attachments. Explains trigger conditions limited to conversationId filtering, non-intuitive behaviors (no content in payload, chats only and never channels, the flow's own posts re-firing the trigger, community reports of the webhook subscription going quiet after about an hour), limitations (one user per flow, no scoping at the source, 100 API calls per connection per 60 seconds), and recommendations covering the scoped 'When a new message is added to a chat or channel' alternative, loop guards, HTML to text conversion, and service account use. - [Power Automate: addDays Function](https://manueltgomes.com/microsoft/power-platform/powerautomate/powerautomate-function-reference/flow-adddays-function/): Power Automate addDays Function Reference: complete guide covering the timestamp, days, and format parameters, the default 'o' round-trip format (yyyy-MM-ddTHH:mm:ss.fffffffK), non-intuitive behaviors (integer-only second parameter, no fractional days, 24-hour rather than DST-aware arithmetic, timezone-less input returning timezone-less output, colon as the culture time separator rather than a literal), limitations (0001-01-01 to 9999-12-31 date range, no locale parameter, days as the only unit, string return type, 8192-character expression limit), common errors and fixes (The provided value is of type 'Float' solved with int(), String was not recognized as a valid DateTime from SharePoint calculated columns, empty OData filter results), real-world examples including due dates, rolling 30-day filter queries, and advance reminders, and comparisons with addToTime, addHours, addMinutes, addSeconds, getFutureTime, formatDateTime, startOfDay, ticks, and dateDifference. - [Power Automate: convertFromUtc function](https://manueltgomes.com/microsoft/power-platform/powerautomate/powerautomate-function-reference/power-automate-convertfromutc-function/): Power Automate convertFromUtc Function Reference: Complete guide to converting a UTC timestamp into a destination time zone, covering the timestamp, destinationTimeZone, and optional format parameters, Windows time zone names (GMT Standard Time, Pacific Standard Time) versus unsupported IANA names and abbreviations, default 'o' ISO 8601 output and standard/custom format strings, the percent sign requirement for single-character custom formats, non-intuitive behaviors (the result drops the Z marker and any UTC offset, the input is always assumed to be UTC, automatic daylight saving handling), the double-conversion trap when storing the result in SharePoint or Dataverse date fields, common errors and fixes (invalid time zone, timestamp could not be parsed, off-by-one-hour results), and best practices including converting late for display only, always passing a format string, and using the Convert time zone action as an alternative. - [Power Automate: convertTimeZone function](https://manueltgomes.com/microsoft/power-platform/powerautomate/powerautomate-function-reference/power-automate-converttimezone-function/): Power Automate convertTimeZone Function Reference: Complete guide to converting a timestamp from any time zone to any other in a single expression, covering the timestamp, sourceTimeZone, destinationTimeZone, and optional format parameters, the default o format specifier and custom patterns, dynamic content with triggerBody() and safe navigation, and two-zone conversions that convertFromUtc and convertToUtc cannot do in one call. Documents non-intuitive behaviors (the output loses its Z or offset marker so downstream systems re-read it as UTC, Standard Time in a Windows zone id does not mean standard time in the result because daylight saving is applied for the date given, the source zone parameter must match the incoming timestamp or values shift silently, and the result is a string rather than a date). Covers limitations (Windows time zone ids only with IANA names and abbreviations like PST, CET, and BST rejected, no arbitrary offset support, and the 8,192 character expression ceiling) and common errors with fixes (the function expects its fourth parameter to be a string that contains a date time format, Invalid time zone id, the date time string must match ISO8601 format, results an hour out for part of the year, and values that look right in run history but wrong in SharePoint). Includes best practices: convert at the edges, store UTC and display local, hold zone names in a variable, and test against both January and July dates. - [Power Automate: convertToUtc function](https://manueltgomes.com/microsoft/power-platform/powerautomate/powerautomate-function-reference/power-automate-converttoutc-function/): Power Automate convertToUtc function reference: complete guide to converting a local timestamp into UTC, covering the timestamp, sourceTimeZone, and optional format parameters, the default 'o' (ISO 8601) output and custom format specifiers like 'D', Windows time zone names (not IANA or abbreviations like PST or CET), automatic daylight saving handling, non-intuitive behaviors (the value is treated as being in the source time zone regardless of any Z suffix, and the string result cannot be used in maths directly), common errors and fixes (invalid sourceTimeZone value, InvalidTemplate could not be parsed), the 8,192 character expression limit, and best practices including storing dates in UTC, using the Convert time zone action to find exact zone names, ticks for numeric comparisons, and debugging with Compose actions. - [Power Automate: dateDifference function](https://manueltgomes.com/microsoft/power-platform/powerautomate/powerautomate-function-reference/datedifference-function/): Power Automate dateDifference Function Reference: returns the difference between two timestamps as a string in days.hours:minutes:seconds format (fractional seconds, and the days component, omitted for sub-day spans), covering syntax and parameters, parsing the output with the split, length, if, and contains functions, extracting the day and time parts safely, negative results when the end date precedes the start, timezone and daylight saving pitfalls, the ticks() alternative for reliable whole-day counts, and troubleshooting common errors (InvalidTemplate on non-ISO input, off-by-hours from mismatched Z/UTC suffixes). - [Power Automate: dayOfWeek Function](https://manueltgomes.com/microsoft/power-platform/powerautomate/powerautomate-function-reference/flow-dayofweek-function/): Power Automate dayOfWeek Function Reference: complete guide covering the single timestamp parameter and ISO 8601 input formats, the 0 (Sunday) to 6 (Saturday) integer return, edge cases (Sunday is 0, so a "greater than 5" weekend check silently misses Sunday; the function does no timezone math, so dayOfWeek(utcNow()) returns the UTC day rather than the local day; Windows timezone names rather than IANA names), limitations (no format, locale, or timezone parameter, and the first day of the week is not configurable, unlike the 1-based Power Fx Weekday function), real-world examples (skipping weekends with a Recurrence trigger condition, sending a report only on Mondays, filtering an array down to weekdays), troubleshooting common errors (the datetime string must match ISO 8601 format, InvalidTemplate at save time versus ExpressionEvaluationFailed at run time, empty SharePoint date columns arriving as empty strings where coalesce fails and empty is needed), and recommendations including converting to local time with convertFromUtc or the Convert Time Zone action and using formatDateTime with 'dddd' to get the day name directly. - [base64ToBinary function](https://manueltgomes.com/microsoft/power-platform/powerautomate/powerautomate-function-reference/base64tobinary-function/): Power Automate base64ToBinary Function Reference: Complete guide to converting a base64-encoded string into binary file content, covering the single required value parameter, where the function is used (Compose, Initialize variable, and the File Content box of SharePoint Create File and OneDrive Create file), the difference from base64 and base64ToString, feeding values from triggerBody() and outputs() with safe navigation, reading base64 back out of a binary value via ?['body']?['$content'], real-world examples (saving an email attachment to SharePoint, writing a file returned by an HTTP API, stripping a data URI prefix with split and last), non-intuitive behaviors (the run history output still shows the original base64 because only $content-type changes, the designer visually swallowing the function while the definition stays intact, Power Automate performing base64 conversion implicitly, and validation of the encoding rather than the file), limitations (no repair of broken input, no way to set a MIME type, no null handling, and the 8192 character expression ceiling), common errors and fixes (value cannot be decoded from base64 representation, template language function invoked with a parameter that is not valid, corrupt saved files from double conversion, expressions disappearing after saving), and best practices for converting at the point of use and cleaning input in a separate action. - [What is a connection reference in Power Automate?](https://manueltgomes.com/microsoft/power-platform/powerautomate/power-automate-common-questions/what-is-a-connection-reference-in-power-automate/): Power Automate connection reference explainer: distinguishes connector, connection, and connection reference, using a phone-contact analogy for the pointer relationship; covers why the extra layer exists (solution portability when exporting and importing between environments, changing an account in one place across hundreds of actions, avoiding an unmanaged layer on a managed solution, no limit on how many flows or actions share one reference); explains which binding a flow uses (flows outside a solution bind to connections directly, solution flows bind to connection references, and legacy flows dragged into a solution keep using plain connections until converted); and documents common failures including ConnectionAuthorizationFailed when activating a flow, sharing connections with the 'Can use' permission, OAuth connections only being shareable with a user representing a service principal, an invalid connection reference caused by a bad underlying connection, and custom connector references breaking after a copy environment operation. - [SharePoint: YEAR function](https://manueltgomes.com/reference/sharepoint-list-function-reference/sharepoint-year-function/): SharePoint YEAR Function Reference: Complete guide to extracting the year from a date in SharePoint list calculated columns and column validation, covering syntax (=YEAR([StartDate])), accepted inputs (column references, date text, the DATE function, Excel-style serial numbers), real-world formulas (renewal dates with DATE(YEAR()+3,MONTH(),DAY()), grouping items by year with TEXT(YEAR(),"0"), counting calendar years between two dates), non-intuitive behaviors (thousands separator displaying 2,026, volatile functions like TODAY rejected, always returns the Gregorian year, empty dates returning 1899 via serial number 0), limitations (1900 to 9999 range, no lookup, person, or multi-select choice columns), troubleshooting common errors (#NUM!, #VALUE!, syntax error from semicolon argument separators in regional settings), and recommendations for formatting results and error handling. - [Power Automate: parseDateTime function](https://manueltgomes.com/microsoft/power-platform/powerautomate/powerautomate-function-reference/power-automate-parsedatetime-function/): Power Automate parseDateTime Function Reference: complete guide covering the timestamp, locale, and format parameters, the o format return value (yyyy-MM-ddTHH:mm:ss.fffffffK), locale-driven parsing of month and day names, explicit format patterns and backslash escaping, non-intuitive behaviors (format describes the input not the output, ambiguous dates failing silently, multi-format parsing when format is omitted, en-us as the default locale, single-character formats read as standard specifiers requiring a % prefix, AM/PM requiring hh instead of HH, two-digit year century windows, and results carrying no time zone), limitations (no control over output format, string rather than date return type, invalid locale errors, the 8192 character expression limit), common errors (The datetime string must match ISO 8601 format, The provided locale is not valid, first parameter must be of type string, and silently swapped month and day), and best practices for parsing once at the flow edge. - [The site is 7 years today](https://manueltgomes.com/general/announcements/the-site-is-7-years-today/): Announcement post marking seven years of manueltgomes.com, covering the move off WordPress to self-hosting, the launch of a monthly newsletter sent via Lettermint with an RSS feed, new N8N Trigger and Excel Function reference areas, revived SharePoint List Function and Power Apps Function reference sections, the recommendations area, and an ongoing refresh of older articles including a privacy-preserving vote button readers can use to request updates. ## Pages - [About](https://manueltgomes.com/about/): About page introducing Manuel T Gomes, a software engineer and Power Platform automation specialist, covering his background, expertise, and professional focus. - [Automation](https://manueltgomes.com/services/automation/): Service page offering Power Automate flows, scheduled tasks, and end-to-end process automation to eliminate repetitive manual work. - [Blog](https://manueltgomes.com/blog/): Blog hub with 500+ practical tutorials on Power Automate, Power Apps, SharePoint, Microsoft 365, automation, and productivity for all skill levels. - [Contact](https://manueltgomes.com/contact/): Contact page for reaching Manuel T Gomes about business inquiries, Power Platform consulting, SharePoint development, and collaboration opportunities. - [Cookie Policy](https://manueltgomes.com/cookie-policy/): Legal page explaining how manueltgomes.com uses cookies, the types set, their purpose, and how visitors can manage or clear their cookie preferences. - [Custom Development](https://manueltgomes.com/services/custom-development/): Service page offering custom connectors, integrations, APIs, and internal tools built to fit specific business workflows. - [Expressions Cookbook](https://manueltgomes.com/expressions-cookbook/): Collection of copy-ready Power Automate expression snippets and examples for dates, strings, arrays, math, and other common flow scenarios. - [Find My Locale](https://manueltgomes.com/tools/find-my-locale/): Browser tool that detects your locale code, such as en-US or pt-PT, for Power Automate formatting functions. - [Home](https://manueltgomes.com/): Homepage of Manuel T Gomes, offering Power Platform automation, custom development, and project management services plus 500+ free tutorials. - [N8N Triggers](https://manueltgomes.com/reference/n8n-triggers/): Reference index page for N8N triggers, organized by category including schedule, data operation, and integration triggers that start workflows. - [Power Apps Functions](https://manueltgomes.com/reference/power-apps-functions/): Reference index page for Power Apps Power Fx functions, organized by type such as string, date, math, and table, with clear examples for canvas apps. - [Power Automate Actions](https://manueltgomes.com/reference/power-automate-actions/): Browsable index of Power Automate connector actions organized by service, each linking to a detailed reference article. - [Power Automate Cookbook](https://manueltgomes.com/power-automate-cookbook/): Collection of ready-to-use Power Automate templates and flow recipes covering notifications, data handling, approvals, and other common automation tasks. - [Power Automate Functions](https://manueltgomes.com/reference/power-automate-functions/): Browsable index of Power Automate expression functions organized by type, each linking to a detailed reference article with examples. - [Power Automate Triggers](https://manueltgomes.com/reference/power-automate-triggers/): Browsable index of Power Automate triggers organized by category, each linking to a detailed reference article. - [Privacy Policy](https://manueltgomes.com/privacy-policy/): Legal page detailing how manueltgomes.com collects, uses, stores, and protects personal data, and the rights visitors have over their information. - [Project Management](https://manueltgomes.com/services/project-management/): Service page offering project planning, team coordination, and process design backed by over twenty years of IT project management. - [Reference](https://manueltgomes.com/reference/): Reference hub landing page linking to organized Power Automate, Power Apps, and SharePoint documentation for functions, actions, and triggers. - [Request an Estimation](https://manueltgomes.com/estimation/): Service page for requesting a free, no-commitment project estimate covering automation, custom development, and project management on the Power Platform. - [Search](https://manueltgomes.com/search/): On-site search page for finding Manuel T Gomes tutorials, reference articles, and guides across Power Automate, Power Apps, and SharePoint. - [Security Policy](https://manueltgomes.com/security-policy/): Responsible disclosure policy for manueltgomes.com, covering scope, reporting contact, response timelines, and researcher acknowledgements. - [SharePoint List Functions](https://manueltgomes.com/reference/sharepoint-list-functions/): Browsable index of SharePoint list and calculated-column functions organized by category, each linking to a detailed reference article. - [Tools](https://manueltgomes.com/tools/): Hub of free, browser-based tools for Power Automate users and developers, with no sign-up, uploads, or tracking. - [Manuel](https://manueltgomes.com/author/manuel-t-gomes/): Over the last 20 years, I have been employed to work with big and small companies. My main focus has been on IT project management and improving the productivity of teams of all sizes thanks to optimizing the usage of Software. My drive is that, thanks to my help, people can focus on their job, save time and avoid frustration. I am specialized in Power Automate, and through my personal website – ManuelTGomes.com – I’ve been able to help hundreds of thousands of people over the last few years. This has made me decide to turn my passion into my job. I started my own company – Skillful Sardine – helping people and companies fix problems by teaching about and optimizing the usage of Power Automate and dozens of other Office 365 tools. ## Optional - [AI](https://manueltgomes.com/tag/ai/): Opinion essays by Manuel T Gomes on artificial intelligence, covering AI agents, everyday use, and why the technology rewards knowing more, not less. - [Ads](https://manueltgomes.com/tag/ads/): Manuel T Gomes explains why manueltgomes.com runs no advertising and how staying ad-free shapes the site's content. - [Automatic Documentation](https://manueltgomes.com/tag/automatic-documentation/): Templates and Power Automate strategies from Manuel T Gomes for auto-generating documentation across professional and personal workflows. - [Automation](https://manueltgomes.com/tag/automation/): Automation tutorials and examples from Manuel T Gomes showing how to save time with Power Automate, N8N, and Microsoft 365 across everyday tasks. - [Best Practices](https://manueltgomes.com/tag/best-practices/): Best-practice guidance from Manuel T Gomes on naming conventions, consistency, and maintainable patterns for building Power Platform solutions. - [Comedy](https://manueltgomes.com/tag/comedy/): Comedy book and podcast recommendations from Manuel T Gomes, offering a light break from the site's technical Power Platform content. - [Common Questions](https://manueltgomes.com/tag/common-questions/): FAQ-style articles from Manuel T Gomes answering common Power Automate, SharePoint, Power Apps, and Excel questions with concrete fixes. - [Corporate Champion](https://manueltgomes.com/tag/corporate-champion/): Articles from Manuel T Gomes on becoming a workplace champion for automation, spreading good practices, and driving tool adoption in organizations. - [Design](https://manueltgomes.com/tag/design/): Design principles and tools from Manuel T Gomes focused on making apps, reports, and interfaces simple and usable rather than merely pretty. - [Development](https://manueltgomes.com/tag/development/): Development articles, tools, and tutorials from Manuel T Gomes covering core coding concepts that help low-code and Power Platform builders improve. - [Fiction](https://manueltgomes.com/tag/fiction/): Fiction book and podcast recommendations from Manuel T Gomes, a lighter counterpart to the site's technical Power Platform writing. - [Function Day](https://manueltgomes.com/tag/functionday/): Function Day is Manuel T Gomes's recurring series exploring individual Power Automate, SharePoint, Power Apps, and Excel functions in depth. - [Fundamentals](https://manueltgomes.com/tag/fundamentals/): Foundational concepts, tutorials, and explanations from Manuel T Gomes covering the core building blocks of Microsoft's Power Platform. - [Ignite](https://manueltgomes.com/tag/ignite/): Coverage from Manuel T Gomes of Microsoft Ignite announcements and sessions, focused on new concepts and how they apply to the Power Platform. - [Into The Weeds](https://manueltgomes.com/tag/into-the-weeds/): Into the Weeds is Manuel T Gomes's series of advanced, in-depth articles on complex Power Platform topics, edge cases, and tricky fixes. - [Investigative journalism](https://manueltgomes.com/tag/investigative-journalism/): Investigative journalism podcast and book recommendations from Manuel T Gomes, chosen to spark different thinking alongside the site's technical content. - [Music](https://manueltgomes.com/tag/music/): Music recommendations from Manuel T Gomes, including podcasts and lesser known artists that pair with the site's technology topics. - [New Feature](https://manueltgomes.com/tag/new-feature/): Coverage of newly released features across Microsoft 365 and the Power Platform, chosen for practical everyday value. - [New Habit](https://manueltgomes.com/tag/newhabit/): A recurring series documenting habits Manuel T Gomes forms, such as daily reading, with practical notes on how he sustains them. - [News](https://manueltgomes.com/tag/news/): Sporadic news and commentary on Microsoft, Power Platform, privacy, and related tech, published when noteworthy updates appear. - [Overview](https://manueltgomes.com/tag/overview/): High-level overviews of broad topics, written to convey the core idea in an approachable way without heavy technical depth. - [Personal Development](https://manueltgomes.com/tag/personal-development/): Books, podcasts, tools, and reflections on growing your skills, knowledge, and mindset as a professional and a person. - [Privacy](https://manueltgomes.com/tag/privacy/): Articles on protecting your privacy online, how it gets abused for profit, and practical choices you can make about your data. - [Problem Solved](https://manueltgomes.com/tag/problemsolved/): Concrete fixes and workarounds to real Power Platform and automation problems Manuel T Gomes ran into and solved. - [Productivity](https://manueltgomes.com/tag/productivity/): Tips, tools, automations, and habits for improving personal and team productivity, focused on doing better work rather than more. - [Security](https://manueltgomes.com/tag/security/): Practical security tips, tools, and risk awareness to help you keep your data safe online, alongside the site's Power Platform focus. - [Single Source of Truth](https://manueltgomes.com/tag/single-source-of-truth/): The Single Source of Truth concept, keeping one authoritative place for reusable data like keys and templates to avoid duplicated work. - [Technology](https://manueltgomes.com/tag/technology/): Manuel T Gomes on the tools, apps, and technology trends he finds useful, beyond the Microsoft ecosystem, with no affiliations. - [Templates](https://manueltgomes.com/tag/templates/): Reusable templates for Power Automate flows and other tools like Things 3, WordPress, and Hazel, adapted to be generic and shareable. - [Tiny Tip](https://manueltgomes.com/tag/tinytip/): Bite-sized quick tips and common mistakes across Power Automate, macOS, and other tools, kept short and easy to apply. - [Tutorial](https://manueltgomes.com/tag/tutorial/): Step-by-step tutorials and how-to guides that walk through a specific problem or topic for both beginners and advanced users. - [Writing](https://manueltgomes.com/tag/writing/): Tips on technical writing, blogging, and content creation, with the tools and techniques that make complex ideas approachable.