<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-36339128</id><updated>2026-06-12T23:56:26.955+03:00</updated><category term="sharepoint"/><category term="project management"/><category term="service delivery"/><category term="quality"/><category term="sharepoint 2010"/><category term="developer"/><category term="MOSS 2007"/><category term="web development"/><category term="master page"/><category term="working environment"/><category term="asp.net"/><category term="look and feel"/><category term="migration"/><category term="search"/><category term="skill shortage"/><category term="ajax"/><category term="application.master"/><category term="designer"/><category term="maturity"/><category term="retaining staff"/><category term="PPI"/><category term="PowerAutomate"/><category term="best practice"/><category term="employment"/><category term="outsourcing"/><category term="pitfalls"/><category term="2011"/><category term="2012"/><category term="Aiim"/><category term="BETA"/><category term="CMM"/><category term="Citizen Developer"/><category term="Data Table"/><category term="Digital Transformation"/><category term="ECM3"/><category term="Excel"/><category term="JS Links"/><category term="JavaScript"/><category term="Low Code Development"/><category term="Microsoft Power Platform"/><category term="No Code Solutions"/><category term="O365"/><category term="O365 intranet"/><category term="OData Filter Query"/><category term="Patch Function Examples"/><category term="PowerApps Tips"/><category term="PowerAutomate Advanced"/><category term="PowerAutomate Filter Query"/><category term="SPMM"/><category term="SharePoint 15"/><category term="SharePoint 2013"/><category term="SharePoint Architect"/><category term="SharePoint Column Filtering"/><category term="SharePoint Get Items"/><category term="SharePoint HTTP Request"/><category term="SharePoint REST API"/><category term="auto provision"/><category term="azure function"/><category term="best practice good consultancy company"/><category term="blockchain"/><category term="chatbot"/><category term="demonstration"/><category term="developer .net kinect gesture"/><category term="document writing"/><category term="error"/><category term="file sharing"/><category term="future"/><category term="home page"/><category term="iPad"/><category term="iPhone"/><category term="intranet"/><category term="large company"/><category term="mobile"/><category term="mobile friendly"/><category term="paperless office"/><category term="presentation"/><category term="rapid"/><category term="review"/><category term="sharepoint saturday"/><category term="small company"/><category term="stress"/><category term="transpose"/><category term="trends"/><category term="validateUpdateListItem"/><category term="vhd"/><category term="webDAV"/><title type='text'>That O365 Guru from Cape Town (#NadirKamdar)</title><subtitle type='html'>My focus on SharePoint, life and everything in between</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>54</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-36339128.post-8169292648610015042</id><published>2025-08-21T18:11:00.000+03:00</published><updated>2025-08-21T18:11:01.002+03:00</updated><title type='text'>Mastering Excel Office Scripts from Beginner to Expert: Creating a Well-Designed Excel Report</title><content type='html'>&lt;p&gt;Excel Office Scripts allow you to automate and format Excel workbooks through code, similar to macros, but designed for the cloud. In this step-by-step guide, we’ll start from the basics of creating and recording an Office Script, then integrate scripts with Power Automate to generate a well-designed Excel document stored in SharePoint. By the end, you’ll know how to go from a simple recorded script to an advanced workflow that creates dynamic Excel reports with ease.&lt;/p&gt; &lt;h2&gt;What are Office Scripts and Why Use Them?&lt;/h2&gt; &lt;p&gt;Office Scripts in Excel are a powerful automation feature that let you record or write scripts (in TypeScript/JavaScript) to perform repetitive tasks. They operate much like traditional Excel macros, but work in the cloud (Excel for Web and modern Excel desktop):contentReference[oaicite:0]{index=0}. This means your Excel files can live in SharePoint or OneDrive and still run automated scripts, enabling new scenarios that VBA macros (which only run in desktop Excel) cannot:contentReference[oaicite:1]{index=1}. Office Scripts are especially useful for integrating Excel with other services via Power Automate flows, bridging gaps that built-in Power Automate Excel actions can’t cover:contentReference[oaicite:2]{index=2}:contentReference[oaicite:3]{index=3}.&lt;/p&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCP4fAeoAugzy23L78ZqTrqLDO2rFEhbGbED9pOyClgSLE8SEUQUVa-6HzIwI0cvSAX6mUKK3-RGq0uN5GsAq2-PS4rBbGf2bUDSpy2gmP0HiQgB0Yn0BFg97P9cY7QiOIaSQlGUjm-3LkhXPTDIPx5nxQRi16uWaYls3D5q2Wc1c6TUpmdWa0/s1536/ChatGPT%20Image%20Aug%2021,%202025,%2005_09_30%20PM.png&quot; style=&quot;display: block; padding: 1em 0; text-align: center; &quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; width=&quot;320&quot; data-original-height=&quot;1024&quot; data-original-width=&quot;1536&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCP4fAeoAugzy23L78ZqTrqLDO2rFEhbGbED9pOyClgSLE8SEUQUVa-6HzIwI0cvSAX6mUKK3-RGq0uN5GsAq2-PS4rBbGf2bUDSpy2gmP0HiQgB0Yn0BFg97P9cY7QiOIaSQlGUjm-3LkhXPTDIPx5nxQRi16uWaYls3D5q2Wc1c6TUpmdWa0/s320/ChatGPT%20Image%20Aug%2021,%202025,%2005_09_30%20PM.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Prerequisites:&lt;/strong&gt; To use Office Scripts, you need a Microsoft 365 commercial or educational subscription (they are not available for consumer plans):contentReference[oaicite:4]{index=4}. Ensure you have the &lt;em&gt;Automate&lt;/em&gt; tab visible in Excel (it’s enabled by default for eligible users; if not, check under &lt;em&gt;File &amp;gt; Options &amp;gt; Customize Ribbon&lt;/em&gt; to enable the Automate tab). Also, for running scripts through Power Automate, a Microsoft 365 work or school account with the appropriate license (such as Office 365 E3/E5 or equivalent) is required:contentReference[oaicite:5]{index=5}.&lt;/p&gt; &lt;h2&gt;Beginner: Recording and Writing Your First Office Script&lt;/h2&gt; &lt;p&gt;Getting started with Office Scripts is easy – you can use the Action Recorder to capture your steps without writing code, or write a simple script yourself. Let’s create a basic script and get familiar with the environment:&lt;/p&gt; &lt;p&gt;:contentReference[oaicite:6]{index=6} *Excel’s &lt;strong&gt;Automate&lt;/strong&gt; tab in the ribbon, highlighting the &lt;em&gt;Scripting Tools&lt;/em&gt; group with &lt;strong&gt;Record Actions&lt;/strong&gt; and &lt;strong&gt;New Script&lt;/strong&gt; (Office Scripts):contentReference[oaicite:7]{index=7}.*&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Open the Automate tab:&lt;/strong&gt; In an Excel workbook (Excel for Web or latest Excel desktop for Microsoft 365), go to the &lt;em&gt;Automate&lt;/em&gt; tab on the ribbon. In the &lt;em&gt;Scripting Tools&lt;/em&gt; group, you’ll see options for &lt;strong&gt;Record Actions&lt;/strong&gt; and &lt;strong&gt;New Script&lt;/strong&gt;:contentReference[oaicite:8]{index=8}. If you click &lt;strong&gt;Record Actions&lt;/strong&gt;, Excel will begin recording your actions (entering data, formatting cells, creating tables, etc.) and generate a script from those steps:contentReference[oaicite:9]{index=9}.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Use the Action Recorder (optional):&lt;/strong&gt; For a first script, try recording a simple task. For example, enter some sample data, convert it into a table, add a Total row, or apply formatting. The Action Recorder will list each step in a pane as you perform them:contentReference[oaicite:10]{index=10}. Click the &lt;strong&gt;Stop&lt;/strong&gt; button when done, and the recorded TypeScript code will appear in the Code Editor pane:contentReference[oaicite:11]{index=11}. You don’t need coding experience to do this – it’s a great way to generate a script that you can later edit if needed:contentReference[oaicite:12]{index=12}.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Create a New Script (Code Editor):&lt;/strong&gt; Alternatively, click &lt;strong&gt;New Script&lt;/strong&gt; to open the Code Editor with a blank script. A default template appears with a function &lt;code&gt;main(workbook: ExcelScript.Workbook)&lt;/code&gt;. This is where you write your code. For instance, to sum values in two columns into a third column, you might write a loop or use Excel formulas via script. Here’s a very simple example of an Office Script that writes a value to cell A1:&lt;/li&gt; &lt;/ol&gt; &lt;pre&gt;&lt;code class=&quot;language-typescript&quot;&gt;function main(workbook: ExcelScript.Workbook) { let sheet = workbook.getActiveWorksheet(); sheet.getRange(&quot;A1&quot;).setValue(&quot;Hello, Office Scripts!&quot;); }&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;This script gets the active worksheet and sets cell A1’s value. You can run the script by clicking the &lt;strong&gt;Run&lt;/strong&gt; button in the Code Editor. After running, you should see the text appear in the worksheet. (If you recorded a script instead, clicking &lt;strong&gt;Run&lt;/strong&gt; will replay all the recorded steps on the workbook.)&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Save and Name the Script:&lt;/strong&gt; Click the Save button in the Code Editor. By default, scripts are named “Script 1”, “Script 2”, etc., but you can rename it to something meaningful (click the script name in the gallery or the ... menu and choose Rename):contentReference[oaicite:13]{index=13}. The script is saved as an &lt;code&gt;.osts&lt;/code&gt; file in your OneDrive under &lt;code&gt;Documents/Office Scripts/&lt;/code&gt; by default:contentReference[oaicite:14]{index=14}. (You can verify this by checking your OneDrive; scripts are stored here automatically.)&lt;/p&gt; &lt;p&gt;At this point, you’ve created a basic Office Script. You can run it anytime from the Automate tab’s script gallery. Now, let’s move on to integrating this with Power Automate to run the script in a flow.&lt;/p&gt; &lt;h2&gt;Intermediate: Running Office Scripts with Power Automate&lt;/h2&gt; &lt;p&gt;Power Automate allows you to trigger your Office Scripts as part of automated workflows. For example, you could run a script on a schedule or in response to an event (like a new email or form submission), then take further actions (such as emailing results). The Excel Online (Business) connector in Power Automate provides two actions to run scripts:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Run script&lt;/strong&gt; – for scripts stored in your own OneDrive (default location):contentReference[oaicite:15]{index=15}.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Run script from SharePoint library&lt;/strong&gt; – for scripts stored in a SharePoint site (for team or shared scenarios):contentReference[oaicite:16]{index=16}.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;We’ll first use the basic &lt;strong&gt;Run script&lt;/strong&gt; action (OneDrive). Suppose you have an Excel file on OneDrive and a script (like our “Hello, Office Scripts” or any other script) saved in your Office Scripts folder. Here’s how to set up a simple flow:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Create a Power Automate Flow:&lt;/strong&gt; Go to Power Automate (flow.microsoft.com) and create a new flow (e.g., an &lt;em&gt;Instant cloud flow&lt;/em&gt; for testing, triggered manually or on a schedule). Add a new step and select the **Excel Online (Business)** connector.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Add &quot;Run script&quot; Action:&lt;/strong&gt; Choose the &lt;em&gt;Run script&lt;/em&gt; action. You’ll be prompted to select: &lt;ul&gt; &lt;li&gt;&lt;em&gt;Location&lt;/em&gt;: e.g., OneDrive for Business.&lt;/li&gt; &lt;li&gt;&lt;em&gt;Document Library&lt;/em&gt;: usually “OneDrive”.&lt;/li&gt; &lt;li&gt;&lt;em&gt;File&lt;/em&gt;: browse to the Excel workbook on OneDrive that you want the script to run on (e.g., a template report workbook).&lt;/li&gt; &lt;li&gt;&lt;em&gt;Script&lt;/em&gt;: choose the script by name from the list (Power Automate will list the scripts available in that workbook or in your OneDrive Office Scripts folder):contentReference[oaicite:17]{index=17}:contentReference[oaicite:18]{index=18}.&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;strong&gt;(Optional) Provide Script Parameters:&lt;/strong&gt; If your script’s &lt;code&gt;main&lt;/code&gt; function has parameters (besides the workbook), the action will show additional input fields for each parameter so you can pass data from the flow to the script:contentReference[oaicite:19]{index=19}. For example, if we modified our earlier script to &lt;code&gt;main(workbook, text: string)&lt;/code&gt; and use &lt;code&gt;setValue(text)&lt;/code&gt;, a field for “text” would appear in the Power Automate action where we could enter a value or dynamic content.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Run the Flow:&lt;/strong&gt; Save and test the flow. The flow will open the Excel file and execute the Office Script. For instance, if the script adds “Hello” to cell A1, after the flow runs, you should see that value in the Excel file:contentReference[oaicite:20]{index=20}. You can then continue the flow (e.g., send an email with the workbook attached or move the file, etc.) based on your needs.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;:contentReference[oaicite:21]{index=21} *Configuring the Power Automate &lt;strong&gt;Run script&lt;/strong&gt; action to run an Office Script on a OneDrive-hosted Excel file:contentReference[oaicite:22]{index=22}.*&lt;/p&gt; &lt;p&gt;This basic integration shows how Power Automate can run your script on an existing Excel file. Now, let’s take it to the next level: storing scripts in SharePoint for team use, and creating new Excel files and populating them via scripts – an advanced scenario ideal for generating reports.&lt;/p&gt; &lt;h2&gt;Expert: Advanced Automation – Generating Excel Reports via SharePoint and Office Scripts&lt;/h2&gt; &lt;p&gt;In an advanced workflow, you might want to query data from a system, create a new Excel report file, insert and format the data, and distribute the file – all automatically. Office Scripts can be stored in a SharePoint library (so they can be shared across your team) and run on newly created workbooks. Let’s break down how to achieve a full automation, similar to the Power Automate workflow provided in the question:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;1. Store Office Scripts in SharePoint for Team Use:&lt;/strong&gt; By moving your &lt;code&gt;.osts&lt;/code&gt; script file to a SharePoint site (or saving it there to begin with), the script becomes accessible to others with site access:contentReference[oaicite:23]{index=23}. You can move a script from your OneDrive to SharePoint by editing the script and using the &lt;em&gt;Move&lt;/em&gt; command, or using &lt;em&gt;Save as&lt;/em&gt; to copy it to a SharePoint document library:contentReference[oaicite:24]{index=24}. Once in SharePoint, the script will appear in the &lt;em&gt;All Scripts&lt;/em&gt; list under Automate for users who have access, and can be run via the &lt;em&gt;Run script from SharePoint library&lt;/em&gt; action in Power Automate:contentReference[oaicite:25]{index=25}:contentReference[oaicite:26]{index=26}. (Note: At the time of writing, running scripts from SharePoint in Power Automate is a relatively new feature and may be labeled as “Preview”.)&lt;/p&gt; &lt;p&gt;&lt;strong&gt;2. Designing an Office Script for Reporting:&lt;/strong&gt; Instead of a simple script that writes one cell, your script can be more complex – for example, take a dataset and format it into a report. You might design a script that accepts parameters for things like: &lt;ul&gt; &lt;li&gt;A data table (e.g., an array of arrays representing rows and columns)&lt;/li&gt; &lt;li&gt;A header or title for the report&lt;/li&gt; &lt;li&gt;Metadata like report date range or filters used&lt;/li&gt; &lt;li&gt;Options like whether to format the data as an Excel Table, include a header row, etc.&lt;/li&gt; &lt;/ul&gt; This script (written in TypeScript) would create a new sheet or use a template sheet, insert the title, maybe some metadata info (like “Start Date: X, End Date: Y” in cells), then write the data table into the sheet. It could then format that range as a Table, apply styles or formulas (e.g., autosum, formatting of columns), and do any other polishing (freeze panes, adjust column widths, etc.). By encapsulating all these steps in one Office Script, you centralize the report formatting logic.&lt;/p&gt; &lt;p&gt;&lt;em&gt;Example:&lt;/em&gt; The advanced script provided (referenced in the JSON code) likely had a function signature like:&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-typescript&quot;&gt;function main(workbook: ExcelScript.Workbook, includesHeader: boolean, formatAsTable: boolean, sheetName: string, headerTitle: string, Metadata: string[][], worksheetData: (string | number)[][]) { // 1. Create or clear target worksheet // 2. Write the header title at top (e.g., merge cells A1:D1, set value to headerTitle) // 3. Write metadata (each entry of Metadata array) in subsequent rows (e.g., &quot;Start Date: &quot;, &quot;End Date: &quot;, etc.) // 4. If includesHeader is true, treat first row of worksheetData as column headers. // 5. Write the worksheetData into the sheet (e.g., starting from A5). // 6. If formatAsTable is true, format the inserted range as an Excel Table for easy filtering. // 7. Apply any additional formatting (column widths, date formats, bold headers, etc.). }&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;This approach separates the data (passed in via parameters) from the presentation (handled by the script). It makes the flow of data cleaner: Power Automate gathers data and calls the script, and the script handles how the Excel file looks.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;3. Building the Power Automate Flow:&lt;/strong&gt; Now, to create a flow that uses this script for report generation, here are the steps you would implement (similar to the advanced example given):&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Trigger &amp; Data Retrieval:&lt;/strong&gt; Define how the flow is triggered – it could be manual, on a schedule (e.g., monthly report), or based on some event. Then add actions to gather the data for the report. In the provided example, a Power BI dataset query was used to retrieve data (using a DAX query):contentReference[oaicite:27]{index=27}, but you could use any data source (SQL query, SharePoint list, etc.). The result is a set of records that will go into Excel.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Compose Data for Excel:&lt;/strong&gt; Use data operations in Power Automate to prepare the data for Excel. In the example, they created an array for the header row (column names) and an array of arrays for the data rows (using the &lt;em&gt;Select&lt;/em&gt; action to shape the query output) – then combined them using &lt;code&gt;union()&lt;/code&gt;:contentReference[oaicite:28]{index=28}:contentReference[oaicite:29]{index=29}. Essentially, you want a two-dimensional array representing the table (including header as first row). They also created an array of “metadata” (like Start Date, End Date, etc.) to pass to the script:contentReference[oaicite:30]{index=30}.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Create a New Excel File:&lt;/strong&gt; If the goal is to have a new Excel file report every time, you can use a SharePoint or OneDrive connector action to create a file. For example, the flow might generate a unique filename (like &lt;code&gt;Report_20250821.xlsx&lt;/code&gt;) using the current timestamp:contentReference[oaicite:31]{index=31}, then call a SharePoint &lt;em&gt;Create File&lt;/em&gt; (or in the code, they used a SharePoint HTTP request to add the file in a document library) to create an empty Excel file:contentReference[oaicite:32]{index=32}. This file will serve as the output report.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Run Script on the New File:&lt;/strong&gt; Next, use the &lt;strong&gt;Run script from SharePoint library&lt;/strong&gt; action (Excel Online (Business) connector):contentReference[oaicite:33]{index=33}. In this action, you specify: &lt;ul&gt; &lt;li&gt;&lt;em&gt;Workbook Location:&lt;/em&gt; URL of the SharePoint site (e.g., &lt;code&gt;https://&amp;lt;yourtenant&amp;gt;.sharepoint.com/sites/&amp;lt;SiteName&amp;gt;&lt;/code&gt;).&lt;/li&gt; &lt;li&gt;&lt;em&gt;Workbook Library:&lt;/em&gt; Document library name (e.g., Documents).&lt;/li&gt; &lt;li&gt;&lt;em&gt;Workbook:&lt;/em&gt; The path to the Excel file (e.g., &lt;code&gt;/Reports/Report_20250821.xlsx&lt;/code&gt;).&lt;/li&gt; &lt;li&gt;&lt;em&gt;Script Location:&lt;/em&gt; (if different site, specify the site URL where script is stored, otherwise same as workbook site).&lt;/li&gt; &lt;li&gt;&lt;em&gt;Script Library:&lt;/em&gt; The library containing the &lt;code&gt;.osts&lt;/code&gt; script file (e.g., Documents or a specific scripts library).&lt;/li&gt; &lt;li&gt;&lt;em&gt;Script:&lt;/em&gt; The path to the script file (e.g., &lt;code&gt;/Reports/MyReportScript.osts&lt;/code&gt; or simply select the script name if it’s in the same library):contentReference[oaicite:34]{index=34}.&lt;/li&gt; &lt;li&gt;Once you select the script, Power Automate will show fields for the script parameters. Here is where you pass in the data prepared in previous steps: &lt;ul&gt; &lt;li&gt;&lt;em&gt;includesHeader:&lt;/em&gt; a boolean (e.g., true, since our first row of data is headers).&lt;/li&gt; &lt;li&gt;&lt;em&gt;formatAsTable:&lt;/em&gt; boolean for formatting as Table (true/false as desired).&lt;/li&gt; &lt;li&gt;&lt;em&gt;sheetName:&lt;/em&gt; a string for the worksheet name (e.g., “Sheet1” or “Report”).&lt;/li&gt; &lt;li&gt;&lt;em&gt;headerTitle:&lt;/em&gt; the report title (e.g., “Sales Report – All Data”).&lt;/li&gt; &lt;li&gt;&lt;em&gt;Metadata:&lt;/em&gt; the array of metadata (e.g., an array of [Key, Value] pairs like [[&quot;Start Date&quot;, &quot;2025-08-01&quot;], [&quot;End Date&quot;, &quot;2025-08-21&quot;], [&quot;Status&quot;, &quot;All&quot;]] which you composed earlier).&lt;/li&gt; &lt;li&gt;&lt;em&gt;worksheetData:&lt;/em&gt; the 2D array of the actual table data (including header row) that you prepared.&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;li&gt;&lt;strong&gt;Send or Use the Report:&lt;/strong&gt; After the script runs, your Excel file is populated and formatted. You can add steps to utilize this file – for example, attach it in an email to the requester or stakeholders:contentReference[oaicite:35]{index=35}, or simply notify someone that the file is ready. In the provided workflow, if an email was requested, they constructed an email with a nicely formatted HTML body (including some of the input details) and a link to download the report:contentReference[oaicite:36]{index=36}. You could also upload it to a specific SharePoint folder for record-keeping.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;:contentReference[oaicite:37]{index=37} *Power Automate’s &lt;strong&gt;Run script from SharePoint library&lt;/strong&gt; action, configured with workbook and script locations on SharePoint (Note: script file &lt;code&gt;Colour current cell Yellow.osts&lt;/code&gt; selected as an example):contentReference[oaicite:38]{index=38}.*&lt;/p&gt; &lt;p&gt;Once this flow is set up, generating a report is as easy as triggering the flow – it will pull fresh data, create a workbook, run the Office Script to format everything, and deliver the output. This is a **fully automated solution** for producing consistent Excel reports.&lt;/p&gt; &lt;h2&gt;Tips for Success and Best Practices&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Plan Your Script’s Inputs and Outputs:&lt;/strong&gt; When writing an advanced Office Script, think about what data it needs (inputs) and what it produces. For instance, your script might not need to return anything to Power Automate if the goal is just to produce a file. But if needed, you can have your script return values back to the flow (the Excel connector will capture the return value). Keep the parameter list logical and only as complex as necessary:contentReference[oaicite:39]{index=39}:contentReference[oaicite:40]{index=40}.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Error Handling:&lt;/strong&gt; Consider what happens if the data is empty or too large, or if the script runs into an unexpected condition. While Office Scripts might not have advanced error handling like try/catch (currently), you can use conditional logic and checks in your TypeScript code to handle known potential issues (e.g., “if no rows returned, set a cell to ‘No data found’”). In Power Automate, you can also add parallel branches or additional checks (like verifying the file was created, etc.).&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Testing:&lt;/strong&gt; Test your Office Script independently in Excel first with sample data. Then test the Power Automate flow step by step. Use small datasets to ensure the flow runs quickly and the script does what you expect. Once it works, you can try larger data and see if any performance tweaks are needed (for example, writing values to a range in one go is faster than cell-by-cell). The example advanced script makes use of formatting the entire dataset as a table at once, which is efficient.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Office Scripts vs Traditional VBA:&lt;/strong&gt; If you’re coming from a VBA background, remember Office Scripts run in a cloud context. They cannot do certain things like access local resources or make web requests (with some exceptions):contentReference[oaicite:41]{index=41}. They also require internet connectivity since they run on the server side. But the advantage is they can be triggered by cloud events and run on files stored online, enabling automation end-to-end without manual intervention.&lt;/li&gt; &lt;/ul&gt; &lt;h2&gt;Conclusion&lt;/h2&gt; &lt;p&gt;By progressing from recording a simple script to deploying an advanced Power Automate flow, you’ve seen how Office Scripts can elevate your Excel automation to a new level. We started with basic action recordings (no coding needed) and moved to writing custom TypeScript code for more flexibility. We then integrated these scripts into Power Automate, first in a straightforward way and finally in a sophisticated scenario where data is dynamically collected and a polished Excel report is generated and delivered.&lt;/p&gt; &lt;p&gt;Office Scripts, combined with Power Automate and SharePoint/OneDrive, provide a robust platform for building automation around Excel. This means no more repetitive manual report updates – your “expert-level” solution can create a well-designed Excel document at the click of a button or on a schedule. With practice, you can extend this approach to many other use cases (data audits, dashboards, etc.), empowering your team to focus on insights rather than tedious Excel tasks.&lt;/p&gt; &lt;p&gt;Happy scripting and automating!&lt;/p&gt; &lt;hr&gt; &lt;p&gt;&lt;em&gt;References:&lt;/em&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Microsoft Learn – &lt;a href=&quot;https://learn.microsoft.com/en-us/office/dev/scripts/develop/power-automate-integration&quot; target=&quot;_blank&quot;&gt;Run Office Scripts with Power Automate&lt;/a&gt;:contentReference[oaicite:42]{index=42}:contentReference[oaicite:43]{index=43}&lt;/li&gt; &lt;li&gt;Microsoft Learn – &lt;a href=&quot;https://learn.microsoft.com/en-us/office/dev/scripts/overview/script-storage&quot; target=&quot;_blank&quot;&gt;Office Scripts file storage and ownership&lt;/a&gt;:contentReference[oaicite:44]{index=44}:contentReference[oaicite:45]{index=45}&lt;/li&gt; &lt;li&gt;Microsoft Support – &lt;a href=&quot;https://support.microsoft.com/office/record-your-actions-as-office-scripts-453ab58d-708f-40a9-ab87-99a743bfa69a&quot; target=&quot;_blank&quot;&gt;Record your actions as Office Scripts&lt;/a&gt;:contentReference[oaicite:46]{index=46}:contentReference[oaicite:47]{index=47}&lt;/li&gt; &lt;li&gt;Digital Mill Blog – &lt;a href=&quot;https://digitalmill.net/2024/01/17/sending-values-from-power-automate-to-excel-with-office-scripts/&quot; target=&quot;_blank&quot;&gt;Sending values from Power Automate to Excel with Office Scripts&lt;/a&gt;:contentReference[oaicite:48]{index=48}:contentReference[oaicite:49]{index=49}&lt;/li&gt; &lt;li&gt;SharePains Blog – &lt;a href=&quot;https://sharepains.com/2025/08/20/actions-run-script-excel-power-automate/&quot; target=&quot;_blank&quot;&gt;2 Actions to run script in Excel from Power Automate flows&lt;/a&gt;:contentReference[oaicite:50]{index=50}:contentReference[oaicite:51]{index=51}&lt;/li&gt; &lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/8169292648610015042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/8169292648610015042' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/8169292648610015042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/8169292648610015042'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2025/08/mastering-excel-office-scripts-from.html' title='Mastering Excel Office Scripts from Beginner to Expert: Creating a Well-Designed Excel Report'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCP4fAeoAugzy23L78ZqTrqLDO2rFEhbGbED9pOyClgSLE8SEUQUVa-6HzIwI0cvSAX6mUKK3-RGq0uN5GsAq2-PS4rBbGf2bUDSpy2gmP0HiQgB0Yn0BFg97P9cY7QiOIaSQlGUjm-3LkhXPTDIPx5nxQRi16uWaYls3D5q2Wc1c6TUpmdWa0/s72-c/ChatGPT%20Image%20Aug%2021,%202025,%2005_09_30%20PM.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-2636202177915165368</id><published>2025-08-18T20:29:00.004+03:00</published><updated>2025-08-18T21:04:37.047+03:00</updated><title type='text'>Using SVG Images in PowerApps: Scalable Icons, Dynamic Data, and Animations</title><content type='html'>
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
	&lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=utf-8&quot;/&gt;
	&lt;title&gt;&lt;/title&gt;
	&lt;meta name=&quot;generator&quot; content=&quot;LibreOffice 24.8.1.2 (Linux)&quot;/&gt;
	&lt;meta name=&quot;author&quot; content=&quot;Nadir Kamdar&quot;/&gt;
	&lt;meta name=&quot;created&quot; content=&quot;2025-08-18T17:59:00&quot;/&gt;
	&lt;meta name=&quot;changedby&quot; content=&quot;Nadir Kamdar&quot;/&gt;
	&lt;meta name=&quot;changed&quot; content=&quot;2025-08-18T17:59:00&quot;/&gt;
	&lt;meta name=&quot;AppVersion&quot; content=&quot;16.0000&quot;/&gt;
	&lt;meta name=&quot;generator&quot; content=&quot;ChatGPT Deep Research&quot;/&gt;
	&lt;meta name=&quot;sdfootnote&quot; content=&quot;;;;;C&quot;&gt;
	&lt;style type=&quot;text/css&quot;&gt;
		@page { size: 8.5in 11in; margin: 1in }
		p { text-align: left; orphans: 2; widows: 2; margin-top: 0.13in; margin-bottom: 0.13in; direction: ltr; background: transparent }
		h1 { color: #0f4761; text-align: left; page-break-inside: avoid; orphans: 2; widows: 2; margin-top: 0.25in; margin-bottom: 0.06in; direction: ltr; background: transparent; page-break-after: avoid }
		h1.western { font-family: &quot;Aptos Display&quot;, serif; font-size: 20pt }
		h1.cjk { font-family: ; font-size: 20pt }
		h1.ctl { font-family: ; font-size: 20pt }
		h2 { color: #0f4761; text-align: left; page-break-inside: avoid; orphans: 2; widows: 2; margin-top: 0.11in; margin-bottom: 0.06in; direction: ltr; background: transparent; page-break-after: avoid }
		h2.western { font-family: &quot;Aptos Display&quot;, serif; font-size: 16pt }
		h2.cjk { font-family: ; font-size: 16pt }
		h2.ctl { font-family: ; font-size: 16pt }
		p.compact { margin-top: 0.03in; margin-bottom: 0.03in }
		a:link { color: #156082 }
	&lt;/style&gt;
&lt;/head&gt;
&lt;body lang=&quot;en-US&quot; link=&quot;#156082&quot; vlink=&quot;#800000&quot; dir=&quot;ltr&quot;&gt;
&lt;h2 class=&quot;western&quot;&gt;&lt;a name=&quot;why-consider-svg-in-powerapps&quot;&gt;&lt;/a&gt;Why
Consider SVG in PowerApps?&lt;/h2&gt;
&lt;p class=&quot;first-paragraph&quot;&gt;SVG (Scalable Vector Graphics) images
offer several advantages over standard image formats like PNG or
JPEG, making them ideal for PowerApps:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;p class=&quot;compact&quot;&gt;&lt;b&gt;Infinite Scalability:&lt;/b&gt; SVGs are
	vector-based, so they remain crisp at any size. You can resize an
	icon or graphic without any loss of quality – no more blurry
	images on high-resolution displays&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=,the%20picture%20to%20become%20blurry&quot;&gt;[1]&lt;/a&gt;&lt;/font&gt;.
	This is perfect for apps that need to look good on everything from
	phones to large monitors.&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;p class=&quot;compact&quot;&gt;&lt;b&gt;Small File Sizes:&lt;/b&gt; SVGs are essentially
	XML instructions for drawing shapes, not pixel-by-pixel data. This
	typically leads to smaller file sizes and faster load times compared
	to bitmap images&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=%2A%20File,every%20pixel%20in%20the%20image&quot;&gt;[2]&lt;/a&gt;&lt;/font&gt;.
	A lighter app means better performance for your users.&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;p class=&quot;compact&quot;&gt;&lt;b&gt;Transparency and Styling:&lt;/b&gt; SVG supports
	transparent backgrounds (unlike JPEG)&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=in%20the%20image&quot;&gt;[3]&lt;/a&gt;&lt;/font&gt;,
	so your icons can blend seamlessly with any theme or color.
	Moreover, because SVGs are code, you can edit their colors or shapes
	via that code – even dynamically in PowerApps formulas.&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;p class=&quot;compact&quot;&gt;&lt;b&gt;Interactivity &amp;amp; Animation:&lt;/b&gt; Unlike
	static images, SVGs can be &lt;b&gt;animated or made interactive&lt;/b&gt;,
	which opens up creative possibilities. You can add hover effects,
	smooth transitions, or other dynamic changes to SVG icons to enhance
	user experience&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://blogs.perficient.com/2023/07/25/enhancing-powerapps-with-svg-icons/#:~:text=resolutions%2C%20ensuring%20a%20consistent%20visual,your%20application%E2%80%99s%20branding%20and%20design&quot;&gt;[4]&lt;/a&gt;&lt;/font&gt;.
	We’ll explore how to leverage this in PowerApps, from color
	changes on hover to animated charts.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
  &lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghYAYG4C7GQmxWmbY68UHKpmKLTszJ7ZLgePdLBaavpW65GuT6zYeLdwY8rrvjKeU8HwZ9nBRb1spwDyfG2JCYc1eAUJJDy26XhDl0_k7F6r7UMwxtYZUusSX6NEQf8RgCRy3itrbvoYS8VLMDL0JLAN50IyeBUZwy5vUgxV2lMVyqDTQbclLw/s1536/ChatGPT%20Image%20Aug%2018,%202025,%2007_18_19%20PM.png&quot; style=&quot;display: block; padding: 1em 0; text-align: center; &quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; width=&quot;320&quot; data-original-height=&quot;1024&quot; data-original-width=&quot;1536&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghYAYG4C7GQmxWmbY68UHKpmKLTszJ7ZLgePdLBaavpW65GuT6zYeLdwY8rrvjKeU8HwZ9nBRb1spwDyfG2JCYc1eAUJJDy26XhDl0_k7F6r7UMwxtYZUusSX6NEQf8RgCRy3itrbvoYS8VLMDL0JLAN50IyeBUZwy5vUgxV2lMVyqDTQbclLw/s320/ChatGPT%20Image%20Aug%2018,%202025,%2007_18_19%20PM.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p class=&quot;first-paragraph&quot;&gt;In short, SVG images are &lt;b&gt;flexible,
high-quality, and dynamic&lt;/b&gt; – a perfect combo for creating
modern, responsive PowerApps UI.&lt;/p&gt;
&lt;h2 class=&quot;western&quot;&gt;&lt;a name=&quot;Xf9479a5dc05b6b0fc24f921d59625b24b0bf7fb&quot;&gt;&lt;/a&gt;
Embedding SVGs in PowerApps (Image Control vs. HTML)&lt;/h2&gt;
&lt;p class=&quot;first-paragraph&quot;&gt;To use an SVG in PowerApps, you won&#39;t
simply upload the &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;.svg&lt;/font&gt;&lt;/font&gt;
file as an image. Instead, you&#39;ll &lt;b&gt;embed the SVG code&lt;/b&gt; as a data
URI. The most common method is using an &lt;b&gt;Image control&lt;/b&gt; with a
special formula:&lt;/p&gt;
&lt;ol&gt;
	&lt;li value=&quot;1&quot;&gt;&lt;p class=&quot;compact&quot;&gt;&lt;b&gt;Add an Image control&lt;/b&gt; to your
	app (this will serve as a container for the SVG).&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;p class=&quot;compact&quot;&gt;&lt;b&gt;Copy the SVG&#39;s XML code&lt;/b&gt; – you can
	get this by downloading the SVG file and opening it in a text
	editor, or by using your browser’s Inspect Tool if the icon is on
	a webpage. (For example, right-click an SVG image file and “Open
	with Notepad” to see the markup&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=Right,open%20it%20with%20Notepad&quot;&gt;[5]&lt;/a&gt;&lt;/font&gt;.)&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;p class=&quot;compact&quot;&gt;&lt;b&gt;Set the Image control’s&lt;/b&gt; &lt;b&gt;Image
	property&lt;/b&gt; to a string that contains the SVG code. This string
	must start with the SVG MIME type and be URL-encoded. A typical
	formula looks like:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;Image.Image
= &lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;quot;data:image/svg+xml;utf8,&amp;quot;
&amp;amp; EncodeUrl(&amp;quot;&amp;lt;svg ...&amp;gt; ... &amp;lt;/svg&amp;gt;&amp;quot;)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;p class=&quot;compact&quot;&gt;Begin with &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;quot;data:image/svg+xml;utf8,&amp;quot;&lt;/font&gt;&lt;/font&gt;
	to tell PowerApps this is SVG content&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=,%E2%80%98&quot;&gt;[6]&lt;/a&gt;&lt;/font&gt;.&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;p class=&quot;compact&quot;&gt;Wrap the raw SVG markup inside an &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;EncodeUrl()&lt;/font&gt;&lt;/font&gt;
	function. This encodes special characters properly so the SVG
	renders. For example:&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;

	&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;quot;data:image/svg+xml;utf8,&amp;quot;
	&amp;amp; EncodeUrl(&amp;quot;&amp;lt;svg xmlns=&#39;http://www.w3.org/2000/svg&#39;
	width=&#39;16&#39; height=&#39;16&#39; ...&amp;gt; ... &amp;lt;/svg&amp;gt;&amp;quot;)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;p class=&quot;compact&quot;&gt;Make sure to replace any double quotes &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;
	inside the SVG code with single quotes &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&#39;&lt;/font&gt;&lt;/font&gt;
	to avoid breaking the string&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=,%E2%80%98&quot;&gt;[6]&lt;/a&gt;&lt;/font&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;Once set, the
	SVG image will appear in the app&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=,2z%27%2F%3E%20%3C%2Fsvg%3E&quot;&gt;[7]&lt;/a&gt;&lt;/font&gt;.&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;&lt;b&gt;(Optional)
	Use an HTML Text control:&lt;/b&gt; In older versions, creators sometimes
	used an HTML Text control to directly embed &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;svg&amp;gt;&lt;/font&gt;&lt;/font&gt;
	markup. However, recent updates stopped rendering raw &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;svg&amp;gt;&lt;/font&gt;&lt;/font&gt;
	tags in HTML controls&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/PowerApps/comments/1hyylfc/svgs_inside_htmltext_controls/#:~:text=It%20seems%20to%20be%20no,Don%27t%20show%20in%20Canvas%20app&quot;&gt;[8]&lt;/a&gt;&lt;/font&gt;.
	The workaround is essentially the same as the Image control: embed
	the SVG via an &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;img&amp;gt;&lt;/font&gt;&lt;/font&gt;
	tag with a data URI source&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/PowerApps/comments/1hyylfc/svgs_inside_htmltext_controls/#:~:text=While%20its%20a%20little%20more,img%3E%20tags&quot;&gt;[9]&lt;/a&gt;&lt;/font&gt;.
	For example:&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;

	&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;HtmlText
	= &amp;quot;&amp;lt;img src=&#39;data:image/svg+xml;charset=utf-8,&amp;quot; &amp;amp;
	EncodeUrl(&amp;quot;&amp;lt;svg ...&amp;lt;/svg&amp;gt;&amp;quot;) &amp;amp; &amp;quot;&#39; /&amp;gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;This will
	display the SVG in the HTML frame&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/PowerApps/comments/1hyylfc/svgs_inside_htmltext_controls/#:~:text=While%20its%20a%20little%20more,img%3E%20tags&quot;&gt;[9]&lt;/a&gt;&lt;/font&gt;.
	In general, using the Image control is simpler and more performant
	for SVGs, especially since the Image control supports features like
	hover fill and is more flexible with animations.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;first-paragraph&quot;&gt;&lt;b&gt;Tip:&lt;/b&gt; If hand-coding the data URI
sounds tedious, there are tools to help. For instance, the PowerApps
SVG converter by Charles Sexton allows you to paste SVG code and it
generates the &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;data:image/svg+xml;...EncodeUrl(&amp;quot;...&amp;quot;)&lt;/font&gt;&lt;/font&gt;
format for you&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/PowerApps/comments/1gbbky3/how_to_load_an_svg_file_into_power_apps_and_then/#:~:text=2,will%20get%20something%20like%20this&quot;&gt;[10]&lt;/a&gt;&lt;/font&gt;.
This saves time in preparing the SVG string.&lt;/p&gt;
&lt;p&gt;With the SVG embedded, you can move/resize the Image control as
needed. It behaves like any image in PowerApps – but now you have
the power to modify the SVG via formulas!&lt;/p&gt;
&lt;h2 class=&quot;western&quot;&gt;&lt;a name=&quot;where-to-find-svg-icons-and-images&quot;&gt;&lt;/a&gt;Where
to Find SVG Icons and Images&lt;/h2&gt;
&lt;p class=&quot;first-paragraph&quot;&gt;One of the great things about SVGs is the
vast amount of icons and graphics available online. Here are some
excellent sources:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;p class=&quot;compact&quot;&gt;&lt;b&gt;Microsoft Fluent UI Icons:&lt;/b&gt; Microsoft’s
	own icon set (formerly Office UI Fabric icons) is available in SVG
	format&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=The%20most%20popular%20SVG%20icon,sets%20are&quot;&gt;[11]&lt;/a&gt;&lt;/font&gt;.
	These can help your app feel native to the Office/Teams ecosystem.&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;p class=&quot;compact&quot;&gt;&lt;b&gt;Font Awesome and Material Design Icons:&lt;/b&gt;
	Popular icon libraries that offer free SVG downloads&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=,Bootstrap&quot;&gt;[12]&lt;/a&gt;&lt;/font&gt;.
	Font Awesome, for example, has thousands of icons. Material Design
	by Google is another huge collection.&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;p class=&quot;compact&quot;&gt;&lt;b&gt;Bootstrap Icons:&lt;/b&gt; A rich set of
	open-source icons in SVG form&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=For%20this%20example%20we%20will,fill%20icon&quot;&gt;[13]&lt;/a&gt;&lt;/font&gt;
	(Matthew Devaney’s blog uses a Bootstrap icon in his SVG example).&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;p class=&quot;compact&quot;&gt;&lt;b&gt;Flaticon, IconFinder, Noun Project:&lt;/b&gt;
	These platforms aggregate icons (some free, some paid). You can
	often filter for SVG format.&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;p class=&quot;compact&quot;&gt;&lt;b&gt;SVGBox or SVGRepo:&lt;/b&gt; Online repositories
	of SVG graphics and illustrations.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;first-paragraph&quot;&gt;&lt;b&gt;Creattie.com – My Go-To Library:&lt;/b&gt;
Personally, I use &lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://creattie.com/&quot;&gt;Creattie&lt;/a&gt;&lt;/font&gt;
as a source for high-quality SVG icons and even Lottie animations.
Creattie offers a curated library of static and animated icons in SVG
(and Lottie JSON) format. It’s a premium resource, but they do have
some free assets as well&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://creattie.com/icons/item/free#:~:text=Download%20Free%20Icon%20in%20SVG,SVG%2C%20JSON%20%26%20Lottie%20formats&quot;&gt;[14]&lt;/a&gt;&lt;a href=&quot;https://creattie.com/lottie-animated-icons/all#:~:text=Curated%20animated%20icons%20,JSON%2C%20GIF%20and%20MP4%20formats&quot;&gt;[15]&lt;/a&gt;&lt;/font&gt;.
&lt;i&gt;Insider tip:&lt;/i&gt; try to catch their lifetime membership deal
around Black Friday – I did, and I love it! Having unlimited access
to thousands of icons and animations has been a game-changer for
quickly spicing up my apps.&lt;/p&gt;
&lt;p&gt;When you find an icon you like, download the SVG (or copy its XML
code if provided). Many sites have a “Copy SVG” button or let you
tweak the icon color before downloading. Once you have the SVG code,
you can incorporate it into PowerApps using the method described
above.&lt;/p&gt;
&lt;h2 class=&quot;western&quot;&gt;&lt;a name=&quot;Xfe43112c29f2df869d91202ff155161a0836a37&quot;&gt;&lt;/a&gt;
Example: SVG Icon (Creattie) with a Hover Color Change&lt;/h2&gt;
&lt;p class=&quot;first-paragraph&quot;&gt;Let’s walk through a simple example:
adding an SVG icon from Creattie and changing its color on hover in
the app.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;1. Get the SVG Icon Code:&lt;/b&gt; Suppose we want to use a &amp;quot;heart&amp;quot;
icon from Creattie. After finding the icon on Creattie, download it
as an SVG or copy its code via the browser’s dev tools (some icon
sites provide the raw code directly). For this example, assume we
have the SVG markup for a heart icon.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;2. Embed the SVG in an Image control:&lt;/b&gt; Add an Image control
in PowerApps and set its Image property using the data URI formula.
For example:&lt;/p&gt;
&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;ImageHeart.Image
= &lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;quot;data:image/svg+xml;utf8,&amp;quot;
&amp;amp; EncodeUrl(&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
  &amp;quot;&amp;lt;svg xmlns=&#39;http://www.w3.org/2000/svg&#39; width=&#39;64&#39;
height=&#39;64&#39; viewBox=&#39;0 0 24 24&#39;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
     &amp;lt;path fill=&#39;#FF0000&#39; d=&#39;M12 21.35l-1.45-1.32C5...Z&#39; /&amp;gt; &lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
   &amp;lt;/svg&amp;gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=&quot;first-paragraph&quot;&gt;This would render a red heart icon (the
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;fill=&#39;#FF0000&#39;&lt;/font&gt;&lt;/font&gt;
in the path sets it to red). In practice, you&#39;d paste the full &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;path
d=&#39;...&#39;/&amp;gt;&lt;/font&gt;&lt;/font&gt; from the icon.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;3. Implement a Hover color change:&lt;/b&gt; Out of the box, the SVG
itself cannot directly have CSS &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;:hover&lt;/font&gt;&lt;/font&gt;
effects inside an Image control – PowerApps only allows inline
SVG/CSS, and pseudo-classes like &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;:hover&lt;/font&gt;&lt;/font&gt;
are not supported in that context&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=SVG%20code%20cannot%20be%20used,is%20no%20workaround%20for%20this&quot;&gt;[16]&lt;/a&gt;&lt;/font&gt;.
However, we can achieve a hover effect through PowerApps controls.
Here are two approaches:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;p class=&quot;compact&quot;&gt;&lt;b&gt;Overlay a transparent control:&lt;/b&gt; Place a
	transparent Button or Label over the image (or group them in a
	container). That overlay can use its HoverFill or HoverColor
	properties to create a visual effect. For example, you could set the
	overlay Label’s &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;HoverFill&lt;/font&gt;&lt;/font&gt;
	to a semi-transparent white, giving the icon a &amp;quot;highlight&amp;quot;
	glow on hover&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=The%20next,the%20HoverFill%20property%20shown%20below&quot;&gt;[17]&lt;/a&gt;&lt;/font&gt;.
	This doesn&#39;t change the icon&#39;s color itself, but can simulate a
	highlighted icon (e.g. making a dark icon appear lighter when
	hovered)&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=Image&quot;&gt;[18]&lt;/a&gt;&lt;/font&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;first-paragraph&quot;&gt;&lt;i&gt;Hover effect achieved by overlaying a
transparent label: when the user hovers, the label&#39;s HoverFill makes
the icon appear highlighted (lightened).&lt;/i&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=The%20next,the%20HoverFill%20property%20shown%20below&quot;&gt;[17]&lt;/a&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=Image&quot;&gt;[18]&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;&lt;b&gt;Swap or
	modify the SVG via variables:&lt;/b&gt; If you want the icon &lt;i&gt;color&lt;/i&gt;
	to change on hover (say from red to blue), one simple trick is to
	use two Image controls – one with the default color, one with the
	hover color – and toggle their visibility based on a context
	variable. For example, on the overlay control’s OnHover, set a
	variable &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;varHover=true&lt;/font&gt;&lt;/font&gt;
	and OnUnHover set &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;varHover=false&lt;/font&gt;&lt;/font&gt;,
	then show/hide the appropriate colored icon. This is a bit clunky
	but effective for small cases.&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;&lt;b&gt;Advanced –
	Invert the SVG for HoverFill:&lt;/b&gt; A clever solution is to
	pre-process the SVG icon to create an &lt;b&gt;inverted mask&lt;/b&gt; of the
	icon, as detailed by PowerApps experts&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://thechriskent.com/2021/05/27/custom-icon-buttons-in-power-apps-with-hover-color/#:~:text=Image&quot;&gt;[19]&lt;/a&gt;&lt;/font&gt;.
	Essentially, you make an SVG where the icon shape is cut out of a
	solid background. Then you use the Image control’s &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;Fill&lt;/font&gt;&lt;/font&gt;
	and &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;HoverFill&lt;/font&gt;&lt;/font&gt;
	properties to control color. The icon’s shape will appear in the
	Fill color (because the shape itself is transparent in the SVG). On
	hover, the HoverFill color kicks in, and since the background
	changes, the icon appears to change color&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://thechriskent.com/2021/05/27/custom-icon-buttons-in-power-apps-with-hover-color/#:~:text=Image&quot;&gt;[19]&lt;/a&gt;&lt;/font&gt;.
	This approach requires editing the SVG (e.g. using a tool like
	Inkscape to subtract the shape from a rectangle), but it lets you
	achieve true icon color swap on hover using a single Image control
	with no overlay.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;first-paragraph&quot;&gt;In our heart icon example, the simpler
overlay method might suffice: you could overlay a label that on hover
displays a different colored heart behind the original, or just gives
a glow. The key point is that while SVG code alone can&#39;t do &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;:hover&lt;/font&gt;&lt;/font&gt;
in PowerApps, we &lt;i&gt;can&lt;/i&gt; combine SVG with PowerFX logic to get the
interactivity we want.&lt;/p&gt;
&lt;h2 class=&quot;western&quot;&gt;&lt;a name=&quot;binding-dynamic-data-to-svgs&quot;&gt;&lt;/a&gt;Binding
Dynamic Data to SVGs&lt;/h2&gt;
&lt;p class=&quot;first-paragraph&quot;&gt;One of the &lt;b&gt;superpowers&lt;/b&gt; of using
SVGs in PowerApps is that you can inject dynamic data into the SVG
code. Since the SVG is just a text string, you can concatenate Power
FX formulas and variables right into it. This allows your graphics to
respond to app data in real-time.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Changing properties via variables:&lt;/b&gt; For example, say you
have an SVG icon and you want its color to reflect a user-selected
theme color. You might have a Color variable (e.g. &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;varIconColor&lt;/font&gt;&lt;/font&gt;).
In the SVG string, set the fill attribute to that variable. You can
do this by breaking the string and concatenating the variable’s
value. One technique is converting the color to a hex string. A
Reddit solution suggests using the &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;JSON()&lt;/font&gt;&lt;/font&gt;
function to get a color in hex form and then slicing it, for
instance: &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;fill=&#39;&amp;quot;
&amp;amp; Mid(JSON(varIconColor), 2, 7) &amp;amp; &amp;quot;&#39;&amp;quot;&lt;a href=&quot;https://www.reddit.com/r/PowerApps/comments/1gbbky3/how_to_load_an_svg_file_into_power_apps_and_then/#:~:text=Finally%2C%20if%20you%20want%20to,you%20are%20setting%20in%20powerapps&quot;&gt;[20]&lt;/a&gt;.
This inserts a color like&lt;/font&gt;&lt;/font&gt;#FF5733` into the SVG code at
runtime. As the variable changes (say the user picks a different
color), the SVG will update to that new color.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Dynamic sizes and coordinates:&lt;/b&gt; You can also drive
dimensions or positions from data. For example, if you are displaying
a value as a bar length, you could insert the numeric value into the
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;width&lt;/font&gt;&lt;/font&gt;
of a &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;rect&amp;gt;&lt;/font&gt;&lt;/font&gt;
element. If &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;varValue
= 75&lt;/font&gt;&lt;/font&gt;, your SVG string could include &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;width=&#39;&amp;quot;
&amp;amp; varValue &amp;amp; &amp;quot;&#39;&lt;/font&gt;&lt;/font&gt; (assuming some scale) so
the bar renders 75 units long. Whenever &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;varValue&lt;/font&gt;&lt;/font&gt;
updates, the bar length updates.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Generating multiple SVG elements from data:&lt;/b&gt; Power FX allows
you to construct strings by iterating over tables or collections.
Using functions like &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;Concat()&lt;/font&gt;&lt;/font&gt;
or &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;ForAll()&lt;/font&gt;&lt;/font&gt;,
you can dynamically create multiple SVG elements. For instance,
imagine a simple bar chart with a collection of scores. You could do
something like:&lt;/p&gt;
&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;quot;data:image/svg+xml;utf8,&amp;quot;
&amp;amp; EncodeUrl(&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
&amp;quot;&amp;lt;svg width=&#39;100%&#39; height=&#39;120&#39;
xmlns=&#39;http://www.w3.org/2000/svg&#39;&amp;gt;&amp;quot; &amp;amp; &lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
  Concat(&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
    colScores, &lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
    &amp;quot;&amp;lt;rect x=&#39;10&#39; y=&#39;&amp;quot; &amp;amp;  (10 + 30 * ID) &amp;amp; &amp;quot;&#39;
width=&#39;&amp;quot; &amp;amp; Score &amp;amp; &amp;quot;&#39; height=&#39;20&#39; fill=&#39;#4caf50&#39;
/&amp;gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
  ) &amp;amp;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
&amp;quot;&amp;lt;/svg&amp;gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=&quot;first-paragraph&quot;&gt;Here &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;colScores&lt;/font&gt;&lt;/font&gt;
might be a collection with fields &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;ID&lt;/font&gt;&lt;/font&gt;
(index 0,1,2,...) and &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;Score&lt;/font&gt;&lt;/font&gt;.
The formula concatenates a &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;rect&amp;gt;&lt;/font&gt;&lt;/font&gt;
for each item, spacing them vertically by 30 and setting width based
on the Score value. The result is an SVG with multiple bars rendered.
This technique was used by a PowerApps maker to dynamically draw a
grid of rectangles (like a mini chart or warehouse map) inside a
gallery – they used nested &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;Concat(
Sequence(...) )&lt;/font&gt;&lt;/font&gt; calls to generate dozens of &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;rect&amp;gt;&lt;/font&gt;&lt;/font&gt;
elements based on their item’s data&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/PowerApps/comments/1hmqz57/dynamic_chart_inside_gallery_finally_figured_out/#:~:text=,Concat&quot;&gt;[21]&lt;/a&gt;&lt;a href=&quot;https://www.reddit.com/r/PowerApps/comments/1hmqz57/dynamic_chart_inside_gallery_finally_figured_out/#:~:text=%22%3Crect%20x%3D%27%22%20%26%20%28%28ColumnIndex%20,6b28dea6%22%2C%20If&quot;&gt;[22]&lt;/a&gt;&lt;/font&gt;.&lt;/p&gt;
&lt;p&gt;Because the SVG is re-rendered on-the-fly, it can reflect whatever
data is passed in. You can get creative: dynamically highlight
certain parts of an SVG (by changing their fill via conditions),
display text by inserting it into &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;text&amp;gt;&lt;/font&gt;&lt;/font&gt;
elements, etc. If you can compute it in PowerApps, you can inject it
into the SVG.&lt;/p&gt;
&lt;p&gt;For example, consider a &lt;b&gt;progress percentage&lt;/b&gt; displayed
visually. We could have an SVG circular progress graphic where a
variable &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;varProgress&lt;/font&gt;&lt;/font&gt;
(0–100) controls the arc length and text. In the SVG string, we
insert &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;varProgress&lt;/font&gt;&lt;/font&gt;
in a couple of places – once for the text content (e.g. &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;quot;&amp;amp;
varProgress &amp;amp;&amp;quot;%&lt;/font&gt;&lt;/font&gt;) and once in a shape attribute
(perhaps stroke-dasharray for the circle&#39;s fill). This is exactly
what an animated progress circle example does: it defines an SVG with
a text node showing &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;varProgress&lt;/font&gt;&lt;/font&gt;
and a circle whose stroke is partially filled based on
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;varProgress&lt;/font&gt;&lt;/font&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.nanditdhania.com/blog-3-1/add-a-touch-of-magic-to-your-power-apps-with-animated-svgs-copy#:~:text=,%26%20%22%20%3C%2Ftspan&quot;&gt;[23]&lt;/a&gt;&lt;/font&gt;.
As that variable changes (when a user clicks +10% for instance), the
graphic updates to show the new percentage.&lt;/p&gt;
&lt;p&gt;The ability to &lt;b&gt;bind SVGs to data&lt;/b&gt; means you’re not limited
to static icons. You can create data-driven visuals – gauges,
charts, indicators – all within an image control, without relying
on external chart controls. This gives you a lot of flexibility to
craft custom visuals that match your app’s needs and style.&lt;/p&gt;
&lt;h2 class=&quot;western&quot;&gt;&lt;a name=&quot;adding-animations-to-svgs-in-powerapps&quot;&gt;&lt;/a&gt;
Adding Animations to SVGs in PowerApps&lt;/h2&gt;
&lt;p class=&quot;first-paragraph&quot;&gt;Static SVGs are great, but adding
animation can make your app feel more alive and responsive. There are
a couple of ways to animate SVG content:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;&lt;b&gt;SMIL
	Animations (SVG &lt;/b&gt;&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&lt;b&gt;&amp;lt;animate&amp;gt;&lt;/b&gt;&lt;/font&gt;&lt;/font&gt;&lt;b&gt;
	tags):&lt;/b&gt; SVG has a built-in animation capability via &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;animate&amp;gt;&lt;/font&gt;&lt;/font&gt;
	and related elements. You can animate attributes of SVG elements
	(like a rectangle’s width or a circle’s radius) over a duration.
	For example, to animate a bar growing from zero to full width, you
	might include:&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;

	&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;rect
	width=&amp;quot;0&amp;quot; ...&amp;gt; &lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
	 &amp;lt;animate attributeName=&amp;quot;width&amp;quot; from=&amp;quot;0&amp;quot;
	to=&amp;quot;100&amp;quot; dur=&amp;quot;1s&amp;quot; fill=&amp;quot;freeze&amp;quot;
	/&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;/rect&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;This snippet
	would smoothly increase the &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;rect&amp;gt;&lt;/font&gt;&lt;/font&gt;’s
	width from 0 to 100 over 1 second&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://stackoverflow.com/questions/11815207/how-do-i-make-a-bar-chart-in-svg-have-animated-bars-growing-upwards#:~:text=%3Canimate%20attributeName%3D,animate%3E%20%3C%2Frect&quot;&gt;[24]&lt;/a&gt;&lt;a href=&quot;https://stackoverflow.com/questions/11815207/how-do-i-make-a-bar-chart-in-svg-have-animated-bars-growing-upwards#:~:text=%3Canimate%20attributeName%3D,gradient&quot;&gt;[25]&lt;/a&gt;&lt;/font&gt;.
	The &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;fill=&amp;quot;freeze&amp;quot;&lt;/font&gt;&lt;/font&gt;
	keeps the final state. (Note: In a vertical bar scenario, you might
	animate the &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;height&lt;/font&gt;&lt;/font&gt;
	and adjust the &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;y&lt;/font&gt;&lt;/font&gt;
	position to make it grow upward.) SMIL animations run automatically
	once the SVG loads, so they can be great for entrance effects or
	loading animations.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;&lt;b&gt;CSS
	Animations within SVG:&lt;/b&gt; You can embed CSS inside an SVG’s
	&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;style&amp;gt;&lt;/font&gt;&lt;/font&gt;
	tag and define &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;@keyframes&lt;/font&gt;&lt;/font&gt;
	animations or transitions. When the SVG is rendered, those
	animations will play. The advantage of CSS animations is you can get
	more complex easing functions and even trigger animations on state
	changes. In PowerApps, the SVG is re-rendered when variables change,
	which can retrigger CSS animations if they are defined accordingly.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;first-paragraph&quot;&gt;For example, the animated progress circle
we mentioned uses a CSS keyframe to animate the stroke of a circle
from 0% to the target percentage&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.nanditdhania.com/blog-3-1/add-a-touch-of-magic-to-your-power-apps-with-animated-svgs-copy#:~:text=%7D%20%40keyframes%20progressbar%20,&quot;&gt;[26]&lt;/a&gt;&lt;/font&gt;.
The SVG’s &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;style&amp;gt;&lt;/font&gt;&lt;/font&gt;
includes: &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;@keyframes
progressbar { from { stroke-dasharray: 0,100; } to {
stroke-dasharray: varProgress, 100 - varProgress; } }&lt;/font&gt;&lt;/font&gt;
and the circle has &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;animation:
progressbar 2s;&lt;/font&gt;&lt;/font&gt; applied&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.nanditdhania.com/blog-3-1/add-a-touch-of-magic-to-your-power-apps-with-animated-svgs-copy#:~:text=stroke,name&quot;&gt;[27]&lt;/a&gt;&lt;a href=&quot;https://www.nanditdhania.com/blog-3-1/add-a-touch-of-magic-to-your-power-apps-with-animated-svgs-copy#:~:text=%7D%20%40keyframes%20progressbar%20,&quot;&gt;[26]&lt;/a&gt;&lt;/font&gt;.
When the app updates &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;varProgress&lt;/font&gt;&lt;/font&gt;
and effectively reloads that SVG, the circle animates to the new
value. This approach yields a smooth tweening of the arc with a
predefined duration (2 seconds here).&lt;/p&gt;
&lt;p&gt;You can also use CSS &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;animation-timing-function&lt;/font&gt;&lt;/font&gt;
(e.g. ease-in-out, cubic-bezier curves) to control the easing of
these animations for a polished feel. Tools like &lt;b&gt;EasingWizard&lt;/b&gt;
can help you generate keyframes or bezier curves for custom easing –
you can then plug those into the CSS inside your SVG to get, say, a
bouncing or elastic effect as an animation plays.&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;p class=&quot;compact&quot;&gt;&lt;b&gt;Animated SVG Icons (pre-made):&lt;/b&gt; Some
	libraries (like Lottie or Animated SVG icon sets) offer icons that
	are already animated (e.g., a loading spinner or a heart that
	pulses). If they are pure SVG (or Lottie JSON via a web viewer), you
	could integrate them. Creattie, for instance, provides Lottie
	animations – while not directly SVG, they can be used in PowerApps
	via the HTML control or as video/GIF. However, sticking to SVG, you
	might find animated SVG files (which use the above techniques under
	the hood). Embedding those would also work in the Image control,
	since the image control will honor the SVG’s internal animation
	directives.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;first-paragraph&quot;&gt;When adding animations, be mindful of
performance – but simple SVG animations (tweens, rotations, etc.)
are usually very lightweight. They run on the client side and do not
require any PowerApps timer or repeated updates, which is a huge
plus. The animations defined in SVG/CSS run independent of the
PowerApps logic once triggered, resulting in smooth visual effects
without taxing PowerApps’ processing.&lt;/p&gt;
&lt;h2 class=&quot;western&quot;&gt;&lt;a name=&quot;X7785a26c73dd5def440a33f1b92cf51c0e4b8ff&quot;&gt;&lt;/a&gt;
Example: Dynamically Animated Bar Chart with Easing&lt;/h2&gt;
&lt;p class=&quot;first-paragraph&quot;&gt;To bring it all together, let&#39;s consider a
final example: a &lt;b&gt;dynamic bar chart&lt;/b&gt; whose bars animate into
view with an easing effect. This showcases dynamic SVG generation,
data binding, and animation:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;&lt;b&gt;Scenario:&lt;/b&gt;
	Suppose we have a list of sales figures for different products, and
	we want to display a horizontal bar chart of their values when the
	screen opens. Instead of bars just appearing at full length, we want
	them to slide in from zero width with a nice easing (like an
	&amp;quot;ease-out&amp;quot; so they decelerate).&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;&lt;b&gt;SVG
	Construction:&lt;/b&gt; We use an Image control and set its Image property
	to an SVG string. We &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;Concat&lt;/font&gt;&lt;/font&gt;
	through our data (e.g., a collection of products) to output a &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;rect&amp;gt;&lt;/font&gt;&lt;/font&gt;
	for each bar. The width of each &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;rect&amp;gt;&lt;/font&gt;&lt;/font&gt;
	will be based on the sales value (perhaps scaled down to fit, e.g.,
	value * 5 pixels per unit).&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;&lt;b&gt;Animation
	via CSS:&lt;/b&gt; In the SVG’s &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;style&amp;gt;&lt;/font&gt;&lt;/font&gt;,
	we define a keyframe animation for the bars. For instance:&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;

	&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;@keyframes
	growWidth { from { width: 0; } to { width: VAR_WIDTH; } }&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;.bar
	{ animation: growWidth 1s ease-out forwards; }&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;We can
	dynamically insert the target width (&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;VAR_WIDTH&lt;/font&gt;&lt;/font&gt;)
	for each bar if needed, or more simply, use CSS transitions.
	Alternatively, we might not even need separate keyframes per bar –
	we can set each &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;rect&amp;gt;&lt;/font&gt;&lt;/font&gt;
	with a &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;width=&amp;quot;0&amp;quot;&lt;/font&gt;&lt;/font&gt;
	initially and then use a single keyframe that grows to 100% width,
	if we set each rect&#39;s width as a percentage of its target. However,
	for clarity, let&#39;s say we use individual animations.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;&lt;b&gt;Animation
	via SMIL:&lt;/b&gt; As another approach, we could attach an &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;animate&amp;gt;&lt;/font&gt;&lt;/font&gt;
	element to each rect:&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;

	&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;rect
	width=&amp;quot;0&amp;quot; x=&amp;quot;0&amp;quot; y=&amp;quot;...&amp;quot;
	fill=&amp;quot;#4caf50&amp;quot;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
	 &amp;lt;animate attributeName=&amp;quot;width&amp;quot; from=&amp;quot;0&amp;quot;
	to=&amp;quot;200&amp;quot; dur=&amp;quot;1.2s&amp;quot; fill=&amp;quot;freeze&amp;quot;
	calcMode=&amp;quot;spline&amp;quot; keyTimes=&amp;quot;0;1&amp;quot;
	keySplines=&amp;quot;0.25 0.1 0.25 1&amp;quot; /&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;/rect&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;In this
	example, the &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;calcMode=&amp;quot;spline&amp;quot;&lt;/font&gt;&lt;/font&gt;
	with &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;keySplines=&amp;quot;0.25
	0.1 0.25 1&amp;quot;&lt;/font&gt;&lt;/font&gt; is an ease-in-out cubic-bezier (this
	is an example of using a custom easing curve similar to CSS
	ease-out). Each bar’s &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;lt;animate&amp;gt;&lt;/font&gt;&lt;/font&gt;
	can have the &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;to&lt;/font&gt;&lt;/font&gt;
	value set to that bar’s target width. The result: when the SVG
	loads, each bar grows from 0 to its full length in 1.2 seconds with
	a smooth easing. Using &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;fill=&amp;quot;freeze&amp;quot;&lt;/font&gt;&lt;/font&gt;
	makes sure the bars stay at their final width after the
	animation&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://stackoverflow.com/questions/11815207/how-do-i-make-a-bar-chart-in-svg-have-animated-bars-growing-upwards#:~:text=%3Canimate%20attributeName%3D,gradient&quot;&gt;[25]&lt;/a&gt;&lt;/font&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;first-paragraph&quot;&gt;The dynamic part comes if these values can
change (say the user filters data and the chart should update). If
the &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;width&lt;/font&gt;&lt;/font&gt;
values or the number of bars is tied to variables or collections, the
Image control will get a new SVG string on change, and the animations
will replay for the new data. This means whenever the data updates,
the bars animate to their new widths automatically – a very slick
effect for data that might fluctuate.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Putting it in PowerApps:&lt;/b&gt; You might have something like:&lt;/p&gt;
&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;&amp;quot;data:image/svg+xml;utf8,&amp;quot;
&amp;amp; EncodeUrl(&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
&amp;quot;&amp;lt;svg xmlns=&#39;http://www.w3.org/2000/svg&#39; width=&#39;100%&#39;
height=&#39;200&#39;&amp;gt;&amp;quot; &amp;amp;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
&amp;quot;&amp;lt;style&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
   .bar { fill:#4caf50; }&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
   .bar.animate { animation: grow 0.8s ease-out forwards; }&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
   @keyframes grow { from { width:0; } to { width:100%; } }&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
 &amp;lt;/style&amp;gt;&amp;quot; &amp;amp;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
Concat(colSales, &lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
   &amp;quot;&amp;lt;g transform=&#39;translate(0,&amp;quot; &amp;amp;  (10 + 30 * Index)
&amp;amp; &amp;quot;)&#39;&amp;gt;&amp;quot; &amp;amp;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
     &amp;quot;&amp;lt;rect class=&#39;bar&#39; width=&#39;0&#39; height=&#39;20&#39;&amp;gt;&amp;lt;/rect&amp;gt;&amp;quot;
&amp;amp; &lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
     &amp;quot;&amp;lt;text x=&#39;5&#39; y=&#39;15&#39; fill=&#39;#000&#39;&amp;gt;&amp;quot; &amp;amp;
ProductName &amp;amp; &amp;quot;&amp;lt;/text&amp;gt;&amp;quot; &amp;amp;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
     &amp;quot;&amp;lt;rect class=&#39;bar animate&#39; width=&#39;&amp;quot; &amp;amp; (Sales*5)
&amp;amp; &amp;quot;&#39; height=&#39;20&#39;&amp;gt;&amp;lt;/rect&amp;gt;&amp;quot; &amp;amp;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
   &amp;quot;&amp;lt;/g&amp;gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
) &amp;amp;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;
&amp;quot;&amp;lt;/svg&amp;gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;
&lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=&quot;first-paragraph&quot;&gt;In this pseudo-code, each data item
produces two rects: one static (0 width) and one with class &#39;animate&#39;
and full target width. The CSS &lt;font face=&quot;Consolas&quot;&gt;&lt;font size=&quot;2&quot; style=&quot;font-size: 11pt&quot;&gt;.bar.animate&lt;/font&gt;&lt;/font&gt;
animation grows from 0 to 100% of that rect’s specified width. The
result is each bar (the green rectangle) animates from nothing to its
full length. (We also included a text label for the product name on
each bar for clarity.)&lt;/p&gt;
&lt;p&gt;While the exact implementation can vary, the takeaway is that
&lt;b&gt;PowerApps + SVG allows complex visuals with animations&lt;/b&gt; that
would otherwise require external chart controls or JavaScript
libraries. And all of this is done with just a single Image control
in a canvas app!&lt;/p&gt;
&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;&lt;img src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAnAAAAACCAYAAADYZuFAAAAAPklEQVRYhe3OwQ2AQAhFQfFE6IP+G4MrMSbu3xI86uFNBWOZ+VTVeQAAAOD3JMncfXX3HRFffwAAAPBiZq4NKQ0RABXmtbMAAAAASUVORK5CYII=&quot; name=&quot;Shape1&quot; alt=&quot;Shape1&quot; align=&quot;bottom&quot; width=&quot;624&quot; height=&quot;2&quot;/&gt;
&lt;/p&gt;
&lt;p class=&quot;first-paragraph&quot;&gt;By considering SVG images in your
PowerApps, you unlock a world of customizable, high-resolution, and
even animated visuals. We covered why SVG is worth it (quality,
performance, flexibility), how to get them into PowerApps, where to
find great SVG assets (don’t forget to check out Creattie and other
libraries), and how to push them further with dynamic data and
animations. With modern Power FX formula capabilities and responsive
containers, these techniques integrate smoothly into your app
designs. So go ahead – experiment with SVG icons for your buttons,
create that animated progress indicator, or build a dynamic chart.
Your apps will not only look sharper, but also feel more interactive
and alive, all thanks to the power of SVG in PowerApps!&lt;/p&gt;
&lt;p style=&quot;margin-top: 0in; margin-bottom: 0.14in&quot;&gt;&lt;img src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAnAAAAACCAYAAADYZuFAAAAAPklEQVRYhe3OwQ2AQAhFQfFE6IP+G4MrMSbu3xI86uFNBWOZ+VTVeQAAAOD3JMncfXX3HRFffwAAAPBiZq4NKQ0RABXmtbMAAAAASUVORK5CYII=&quot; name=&quot;Shape2&quot; alt=&quot;Shape2&quot; align=&quot;bottom&quot; width=&quot;624&quot; height=&quot;2&quot;/&gt;
&lt;/p&gt;
&lt;p class=&quot;first-paragraph&quot;&gt;&lt;a name=&quot;citations&quot;&gt;&lt;/a&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=,the%20picture%20to%20become%20blurry&quot;&gt;[1]&lt;/a&gt;&lt;/font&gt;
&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=%2A%20File,every%20pixel%20in%20the%20image&quot;&gt;[2]&lt;/a&gt;&lt;/font&gt;
&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=in%20the%20image&quot;&gt;[3]&lt;/a&gt;&lt;/font&gt;
&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=Right,open%20it%20with%20Notepad&quot;&gt;[5]&lt;/a&gt;&lt;/font&gt;
&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=,%E2%80%98&quot;&gt;[6]&lt;/a&gt;&lt;/font&gt;
&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=,2z%27%2F%3E%20%3C%2Fsvg%3E&quot;&gt;[7]&lt;/a&gt;&lt;/font&gt;
&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=The%20most%20popular%20SVG%20icon,sets%20are&quot;&gt;[11]&lt;/a&gt;&lt;/font&gt;
&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=,Bootstrap&quot;&gt;[12]&lt;/a&gt;&lt;/font&gt;
&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=For%20this%20example%20we%20will,fill%20icon&quot;&gt;[13]&lt;/a&gt;&lt;/font&gt;
&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=SVG%20code%20cannot%20be%20used,is%20no%20workaround%20for%20this&quot;&gt;[16]&lt;/a&gt;&lt;/font&gt;
&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=The%20next,the%20HoverFill%20property%20shown%20below&quot;&gt;[17]&lt;/a&gt;&lt;/font&gt;
&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/#:~:text=Image&quot;&gt;[18]&lt;/a&gt;&lt;/font&gt;
SVG Images in Power Apps - Matthew Devaney&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.matthewdevaney.com/svg-images-in-power-apps/&quot;&gt;https://www.matthewdevaney.com/svg-images-in-power-apps/&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://blogs.perficient.com/2023/07/25/enhancing-powerapps-with-svg-icons/#:~:text=resolutions%2C%20ensuring%20a%20consistent%20visual,your%20application%E2%80%99s%20branding%20and%20design&quot;&gt;[4]&lt;/a&gt;&lt;/font&gt;
Enhancing PowerApps with SVG Icons / Blogs / Perficient&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://blogs.perficient.com/2023/07/25/enhancing-powerapps-with-svg-icons/&quot;&gt;https://blogs.perficient.com/2023/07/25/enhancing-powerapps-with-svg-icons/&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/PowerApps/comments/1hyylfc/svgs_inside_htmltext_controls/#:~:text=It%20seems%20to%20be%20no,Don%27t%20show%20in%20Canvas%20app&quot;&gt;[8]&lt;/a&gt;&lt;/font&gt;
&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/PowerApps/comments/1hyylfc/svgs_inside_htmltext_controls/#:~:text=While%20its%20a%20little%20more,img%3E%20tags&quot;&gt;[9]&lt;/a&gt;&lt;/font&gt;
SVG&#39;s inside HTMLtext controls : r/PowerApps&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/PowerApps/comments/1hyylfc/svgs_inside_htmltext_controls/&quot;&gt;https://www.reddit.com/r/PowerApps/comments/1hyylfc/svgs_inside_htmltext_controls/&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/PowerApps/comments/1gbbky3/how_to_load_an_svg_file_into_power_apps_and_then/#:~:text=2,will%20get%20something%20like%20this&quot;&gt;[10]&lt;/a&gt;&lt;/font&gt;
&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/PowerApps/comments/1gbbky3/how_to_load_an_svg_file_into_power_apps_and_then/#:~:text=Finally%2C%20if%20you%20want%20to,you%20are%20setting%20in%20powerapps&quot;&gt;[20]&lt;/a&gt;&lt;/font&gt;
How to load an SVG file into power apps and then color the individual
shapes in the SVG file based on data? : r/PowerApps&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/PowerApps/comments/1gbbky3/how_to_load_an_svg_file_into_power_apps_and_then/&quot;&gt;https://www.reddit.com/r/PowerApps/comments/1gbbky3/how_to_load_an_svg_file_into_power_apps_and_then/&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://creattie.com/icons/item/free#:~:text=Download%20Free%20Icon%20in%20SVG,SVG%2C%20JSON%20%26%20Lottie%20formats&quot;&gt;[14]&lt;/a&gt;&lt;/font&gt;
Download Free Icon in SVG &amp;amp; PNG - Creattie&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://creattie.com/icons/item/free&quot;&gt;https://creattie.com/icons/item/free&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://creattie.com/lottie-animated-icons/all#:~:text=Curated%20animated%20icons%20,JSON%2C%20GIF%20and%20MP4%20formats&quot;&gt;[15]&lt;/a&gt;&lt;/font&gt;
Curated animated icons - download in Lottie, JSON, GIF &amp;amp; MP4&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://creattie.com/lottie-animated-icons/all&quot;&gt;https://creattie.com/lottie-animated-icons/all&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://thechriskent.com/2021/05/27/custom-icon-buttons-in-power-apps-with-hover-color/#:~:text=Image&quot;&gt;[19]&lt;/a&gt;&lt;/font&gt;
Custom Icon Buttons in Power Apps with Hover Color | The Chris Kent&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://thechriskent.com/2021/05/27/custom-icon-buttons-in-power-apps-with-hover-color/&quot;&gt;https://thechriskent.com/2021/05/27/custom-icon-buttons-in-power-apps-with-hover-color/&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/PowerApps/comments/1hmqz57/dynamic_chart_inside_gallery_finally_figured_out/#:~:text=,Concat&quot;&gt;[21]&lt;/a&gt;&lt;/font&gt;
&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/PowerApps/comments/1hmqz57/dynamic_chart_inside_gallery_finally_figured_out/#:~:text=%22%3Crect%20x%3D%27%22%20%26%20%28%28ColumnIndex%20,6b28dea6%22%2C%20If&quot;&gt;[22]&lt;/a&gt;&lt;/font&gt;
Dynamic Chart Inside Gallery - Finally Figured Out How to Use SVG for
a Graphic in Power Apps! : r/PowerApps&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/PowerApps/comments/1hmqz57/dynamic_chart_inside_gallery_finally_figured_out/&quot;&gt;https://www.reddit.com/r/PowerApps/comments/1hmqz57/dynamic_chart_inside_gallery_finally_figured_out/&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.nanditdhania.com/blog-3-1/add-a-touch-of-magic-to-your-power-apps-with-animated-svgs-copy#:~:text=,%26%20%22%20%3C%2Ftspan&quot;&gt;[23]&lt;/a&gt;&lt;/font&gt;
&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.nanditdhania.com/blog-3-1/add-a-touch-of-magic-to-your-power-apps-with-animated-svgs-copy#:~:text=%7D%20%40keyframes%20progressbar%20,&quot;&gt;[26]&lt;/a&gt;&lt;/font&gt;
&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.nanditdhania.com/blog-3-1/add-a-touch-of-magic-to-your-power-apps-with-animated-svgs-copy#:~:text=stroke,name&quot;&gt;[27]&lt;/a&gt;&lt;/font&gt;
Using SVG animation in Power Apps with Image Control — ND&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://www.nanditdhania.com/blog-3-1/add-a-touch-of-magic-to-your-power-apps-with-animated-svgs-copy&quot;&gt;https://www.nanditdhania.com/blog-3-1/add-a-touch-of-magic-to-your-power-apps-with-animated-svgs-copy&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://stackoverflow.com/questions/11815207/how-do-i-make-a-bar-chart-in-svg-have-animated-bars-growing-upwards#:~:text=%3Canimate%20attributeName%3D,animate%3E%20%3C%2Frect&quot;&gt;[24]&lt;/a&gt;&lt;/font&gt;
&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://stackoverflow.com/questions/11815207/how-do-i-make-a-bar-chart-in-svg-have-animated-bars-growing-upwards#:~:text=%3Canimate%20attributeName%3D,gradient&quot;&gt;[25]&lt;/a&gt;&lt;/font&gt;
How do I make a bar-chart in SVG have animated bars growing upwards?
- Stack Overflow&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#156082&quot;&gt;&lt;a href=&quot;https://stackoverflow.com/questions/11815207/how-do-i-make-a-bar-chart-in-svg-have-animated-bars-growing-upwards&quot;&gt;https://stackoverflow.com/questions/11815207/how-do-i-make-a-bar-chart-in-svg-have-animated-bars-growing-upwards&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/2636202177915165368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/2636202177915165368' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/2636202177915165368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/2636202177915165368'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2025/08/using-svg-images-in-powerapps-scalable.html' title='Using SVG Images in PowerApps: Scalable Icons, Dynamic Data, and Animations'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghYAYG4C7GQmxWmbY68UHKpmKLTszJ7ZLgePdLBaavpW65GuT6zYeLdwY8rrvjKeU8HwZ9nBRb1spwDyfG2JCYc1eAUJJDy26XhDl0_k7F6r7UMwxtYZUusSX6NEQf8RgCRy3itrbvoYS8VLMDL0JLAN50IyeBUZwy5vUgxV2lMVyqDTQbclLw/s72-c/ChatGPT%20Image%20Aug%2018,%202025,%2007_18_19%20PM.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-5232169842121921803</id><published>2025-07-16T09:26:00.001+03:00</published><updated>2025-07-16T09:27:55.624+03:00</updated><title type='text'>My Journey to Lesotho – Afriski: A Snowy Adventure to Remember</title><content type='html'>&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Fifteen hours. That’s how long it takes to drive from Cape Town to Afriski in Lesotho. We split the drive over two days: 10 hours to Bloemfontein, then another 5 hours to Afriski. Add about 3 hours for bathroom breaks and lunch, and you&#39;ve got yourself a serious road trip.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;As we approached the snow-capped peaks, our excitement peaked too. By 4 p.m., we were just 10 kilometers away from Afriski. Snow blanketed everything around us, turning the world into a winter postcard. Suddenly, my car lit up the dashboard like a Christmas tree. Warning lights I&#39;d never seen before started flashing — one even showing a road with a snowflake on it, warning that the road was slippery. &quot;Yes, I know its slippery, I&#39;m driving and I can feel it too!&quot; I muttered, half amused and half nervous.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;Then, we saw it: a long queue of vehicles. A massive truck had gotten stuck, blocking the road. The snow was too deep and too icy; cars couldn&#39;t gain traction to pass. People were already turning back, warning us that unless we were prepared to wait indefinitely, we should do the same. But we had already crossed the border and had nowhere else to go.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;So we waited.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;An hour and a half passed. The sun dipped below the horizon. Darkness fell. Snow started falling again, thicker this time. The temperature plummeted. We were cold, hungry, and, worst of all, my wife was getting desperate for a bathroom.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;Another two hours passed. It was now pitch black outside, and icicles were forming on the windshield. Still no movement. But then, finally, some good news: Afriski had sent a tractor to tow stranded vehicles. We could see it making its way down the line toward us. Relief washed over us—until I tried to start the car. Nothing.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;Turns out, all the short intervals of turning the engine on and off to keep warm had drained the battery. Worse, the electronic gear selector was locked in Park. No power, no shifting. No shifting, no towing.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;The tractor driver moved on to help others while I tried to figure it out. Normally, this is where I’d pull out my phone and Google the problem. But I had crossed the border. No roaming. No signal. No help.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;So I did what every IT guy eventually does: try turning it off and on again.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;I got out into the snowfall, popped the hood, and looked for the battery. Nothing. Where the hell is it? I&#39;ve had this car for over a year. How could I not know where the battery is? I climbed back in, tried to warm up, and opened the user manual. No help. Then I remembered—some cars have their batteries in the back.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiD89TImpl600NQC7_A7SXG8Eja5f_Bisv_pcvNTJKYCDjF3FFjEcNo83yinZUSPpI7GPJhDEAXPF8UF_a4YErH6aMyxgiY_Rr8O_W_ybeAZb1TMfI8eyWUOeFqSKjggd1k5krcrGqh5s-unO8xsJCNQaTVklt4MmIUyVxuCh1ya6DeLqGXuf8Y/s1536/ChatGPT%20Image%20Jul%2016,%202025,%2008_24_11%20AM.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1536&quot; data-original-width=&quot;1024&quot; height=&quot;496&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiD89TImpl600NQC7_A7SXG8Eja5f_Bisv_pcvNTJKYCDjF3FFjEcNo83yinZUSPpI7GPJhDEAXPF8UF_a4YErH6aMyxgiY_Rr8O_W_ybeAZb1TMfI8eyWUOeFqSKjggd1k5krcrGqh5s-unO8xsJCNQaTVklt4MmIUyVxuCh1ya6DeLqGXuf8Y/w330-h496/ChatGPT%20Image%20Jul%2016,%202025,%2008_24_11%20AM.png&quot; width=&quot;330&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;So I unloaded a week’s worth of luggage into the snow, digging through layers to access the rear compartment. After some trial and error, there it was: the elusive battery, tucked away in the bottom right corner. But I didn’t have a spanner to disconnect it.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;Just when I thought we were completely stuck, the tractor returned. They offered to jump-start the car instead. Cables connected, engines humming—and boom, the car roared to life. I shifted out of Park. Hope had returned.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjytYvqCM7-47_7iNZTRzxbM0sl28YdBBYKVaNT9PTAsJVeGufTAmlAc9BbUi_kr51e1RFOi7nk2JOJYQlL4QQ809mLRFCPcYAR8zgs1NM1E5wwtFV0rY-F8k7rPjO2CzHSmVpGkev57Lab1kRo7PxzOSa3RwcbiY55jGOjXhIUC9C4ON1MWF4Q/s4032/20250706_203635.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;2268&quot; data-original-width=&quot;4032&quot; height=&quot;316&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjytYvqCM7-47_7iNZTRzxbM0sl28YdBBYKVaNT9PTAsJVeGufTAmlAc9BbUi_kr51e1RFOi7nk2JOJYQlL4QQ809mLRFCPcYAR8zgs1NM1E5wwtFV0rY-F8k7rPjO2CzHSmVpGkev57Lab1kRo7PxzOSa3RwcbiY55jGOjXhIUC9C4ON1MWF4Q/w561-h316/20250706_203635.jpg&quot; width=&quot;561&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;My wife was now visibly in pain, needing a bathroom more desperately than ever. We followed the tractor through a particularly treacherous stretch of road. Eventually, they waved us on, saying the rest of the road should be manageable.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;We managed to move forward a few kilometers, but then traction failed. I reversed, edged forward again, only to slip once more. It was like a snowy Sisyphean task. Then, the inevitable happened.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;My wife, who runs cold under normal conditions, couldn’t take it anymore. She jumped out of the car, ran into the darkness behind a snowbank, dropped her pants and all the layers beneath, and made yellow snow. It was desperation, survival, and human vulnerability all at once. I was worried this level of cold could actually hurt her, but thankfully she made it back safely.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;Just then, the tractor returned like a knight in snowy armor, pulled us over the final icy patch, and led us straight into Afriski.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;We made it. Exhausted, frozen, and a little humbled—but we made it. And that, dear reader, is how our snowy adventure became a story we&#39;ll tell for a lifetime.&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/5232169842121921803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/5232169842121921803' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/5232169842121921803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/5232169842121921803'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2025/07/my-journey-to-lesotho-afriski-snowy.html' title='My Journey to Lesotho – Afriski: A Snowy Adventure to Remember'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiD89TImpl600NQC7_A7SXG8Eja5f_Bisv_pcvNTJKYCDjF3FFjEcNo83yinZUSPpI7GPJhDEAXPF8UF_a4YErH6aMyxgiY_Rr8O_W_ybeAZb1TMfI8eyWUOeFqSKjggd1k5krcrGqh5s-unO8xsJCNQaTVklt4MmIUyVxuCh1ya6DeLqGXuf8Y/s72-w330-h496-c/ChatGPT%20Image%20Jul%2016,%202025,%2008_24_11%20AM.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-2489312177793011798</id><published>2025-06-29T15:46:00.003+03:00</published><updated>2025-06-29T16:16:45.449+03:00</updated><title type='text'>Tipping for Takeaways: A Counter-Intuitive Trend in a Customer-Focused Era</title><content type='html'>

  &lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;My Uber Eats Wake-Up Call&lt;/span&gt;&lt;/h2&gt;
  &lt;p&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;I recently had a jarring experience that highlighted a new and uncomfortable trend in the food service industry. I ordered breakfast via Uber Eats and, which is common in this case, I was prompted to &lt;strong&gt;add a tip at the time of ordering&lt;/strong&gt; – before the food was even prepared or delivered. Wanting to be generous, I &lt;strong&gt;preemptively added a 15% tip&lt;/strong&gt; to the order. Unfortunately, when my breakfast arrived, I discovered that during transit, half of my coffee had spilled so I was provided with a half-filled cup. The delivery itself was a flop, yet the driver had already pocketed a tip for service that turned out to be subpar.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Sure, I could theoretically go through the hassle of reversing or adjusting the tip after the fact, but the &lt;/span&gt;&lt;strong style=&quot;font-family: arial;&quot;&gt;process to cancel it is cumbersome&lt;/strong&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;. In frustration, I found myself thinking: &lt;/span&gt;&lt;em style=&quot;font-family: arial;&quot;&gt;Did that delivery really deserve a tip?&lt;/em&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; Probably not. The whole ordeal left such a bad taste that I swore off using that delivery service for a while.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This incident opened my eyes to a larger issue: &lt;strong data-end=&quot;1128&quot; data-start=&quot;1064&quot;&gt;Why are we being asked to tip &lt;em data-end=&quot;1104&quot; data-start=&quot;1096&quot;&gt;before&lt;/em&gt; service is delivered?&lt;/strong&gt; Traditionally, a tip is a reward for good service – a way to show gratitude &lt;em data-end=&quot;1212&quot; data-start=&quot;1205&quot;&gt;after&lt;/em&gt; the service meets or exceeds expectations. Tipping used to be the final touch on a dining experience, not a down payment on one. But as I discovered, things are changing, and not necessarily for the better.&lt;/span&gt;&lt;/p&gt;

  &lt;h2&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The New Norm of Upfront Tipping (and Why It Feels Wrong)&lt;/span&gt;&lt;/h2&gt;
  &lt;p&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;It’s not just delivery apps. Lately, I’ve noticed the &lt;strong&gt;same tipping expectation creeping into ordinary takeaway experiences&lt;/strong&gt;. For example, when I phone in a takeout order or send a WhatsApp message to a local restaurant and then go to pick it up, I’m often confronted with an awkward moment at the register. As I’m about to pay for my takeout, the cashier will hand me the point-of-sale device and &lt;strong&gt;ask if I’d like to add a tip&lt;/strong&gt;, usually with preset buttons for 10%, 15%, or more. This happens &lt;strong&gt;before&lt;/strong&gt; I even receive my food, before I know if the order is correct, on time, or tasty. The only thing the establishment has accomplished so far is taking my money – yet I’m expected to &lt;em&gt;reward&lt;/em&gt; them already?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_-h4OM1JcOG34wFeBq_pis64vZagy4LtEHhbos16d6bz7cv4LosOkDi6FD87U1fEp6T3lBoqnLEMRRWSChx_ok_TQigie0qTeGh7VjobYQMsCfZfIjK3sPTqpYxp3PTKC6gq8Nz0pbHRPVRdR_3VHNx7sgGxgktu9caJh0WHCrIDjLMmISFrr/s1536/ChatGPT%20Image%20Jun%2029,%202025,%2002_39_27%20PM.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1536&quot; data-original-width=&quot;1024&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_-h4OM1JcOG34wFeBq_pis64vZagy4LtEHhbos16d6bz7cv4LosOkDi6FD87U1fEp6T3lBoqnLEMRRWSChx_ok_TQigie0qTeGh7VjobYQMsCfZfIjK3sPTqpYxp3PTKC6gq8Nz0pbHRPVRdR_3VHNx7sgGxgktu9caJh0WHCrIDjLMmISFrr/s320/ChatGPT%20Image%20Jun%2029,%202025,%2002_39_27%20PM.png&quot; width=&quot;213&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;

  &lt;p&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Contrast this with the classic restaurant experience&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;. When you dine in, you enjoy the ambiance, use the restaurant’s dishes, and receive attentive service throughout your meal. Only at the end, once you’ve gauged the quality of that experience, does the bill come with a subtle line inviting a gratuity. You have the freedom to tip after enjoying (or enduring) the service, calibrating the amount to match the experience. &lt;b&gt;That’s how tipping is supposed to work – as a reflection of service quality, not a blind leap of faith&lt;/b&gt;. In fact, surveys show that for an overwhelming majority of people, the quality of service is the major factor in deciding whether and how much to tip&amp;nbsp;&lt;span style=&quot;font-size: xx-small;&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;a href=&quot;https://www.pewresearch.org/2023/11/09/tipping-culture-in-america-public-sees-a-changed-landscape/#:~:text=,of%20the%20other%20factors%20we&quot;&gt;pewresearch.org&lt;/a&gt;),&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;We tip more when service is great, and we tip less (or not at all) when it’s poor. It’s a simple, intuitive exchange.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Now, consider how &lt;b&gt;counter-intuitive upfront tipping is&lt;/b&gt; in light of that. By asking for a tip in advance, the system ignores the very principle &lt;i&gt;that tips are earned through good service&lt;/i&gt;. It puts customers in a bind: &lt;b&gt;tip blindly or risk seeming stingy&lt;/b&gt;. And let’s be honest, &lt;b&gt;the “ask” is hardly subtle&lt;/b&gt;. A device thrust in your face with pre-loaded tip percentages, while the staff looks on, can feel like a pressure tactic. I’ve even had cashiers stand there expectantly, virtually &lt;b&gt;guilting me in real time &lt;/b&gt;as I decide whether to tap “No Tip” on the screen.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;It’s an uncomfortable scene for a takeout transaction that used to be purely about paying for the food. From the customer’s perspective, this trend feels wrong. Takeout staff typically aren’t doing the kind of service a waitstaff does – they take your order, hand you your food, and you’re on your way. As one frustrated commenter aptly put it, “&lt;i&gt;the front desk person does almost nothing in a take-away order… why do people think they deserve to be tipped for that?&lt;/i&gt;” They’re simply doing the job they’re already paid to do, with minimal interaction &lt;span style=&quot;font-size: xx-small;&quot;&gt;(&lt;a href=&quot;https://www.reddit.com/r/southafrica/comments/1egwhbm/whats_going_on_with_tipping/#:~:text=seeing%20lately%20though%20drives%20me,immediately%20once%20they%20realised%20they&quot;&gt;reddit.com&lt;/a&gt;).&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Historically, tipping for carry-out was not expected. In fact, a survey in 2014 found that only 14% of people said they tipped for takeout orders (&lt;/span&gt;&lt;a href=&quot;https://pos.toasttab.com/blog/on-the-line/should-you-tip-for-takeout?srsltid=AfmBOorL142YvPGjRDQllZ-wFKaJJHrUnncdqj7R60cycyqWvN5Hf_KJ#:~:text=In%20fact%2C%20according%20to%20a,said%20they%20tipped%20for%20takeout&quot; style=&quot;font-family: arial; font-size: x-small;&quot;&gt;pos.toasttab.com&lt;/a&gt;).&amp;nbsp;&lt;span style=&quot;font-family: arial;&quot;&gt;&amp;nbsp;The vast majority did not tip when picking up their own food – which makes sense, since there’s no table service involved. While things have evolved since then, it underlines that tipping in these contexts is a relatively new expectation, not some long-standing norm.&lt;/span&gt;&lt;/p&gt;

  &lt;h2&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Tipflation: Tipping Creeps Into More Places&lt;/span&gt;&lt;/h2&gt;
  &lt;p&gt;&lt;em&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Most Americans (72%) report that tipping is expected in more places today than five years ago. &lt;span style=&quot;font-size: xx-small;&quot;&gt;(&lt;a href=&quot;https://www.pewresearch.org/2023/11/09/tipping-culture-in-america-public-sees-a-changed-landscape/#:~:text=A%20broad%20majority%20of%20Americans,%E2%80%9D&quot;&gt;pewreaearch.org&lt;/a&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;

  &lt;p&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;It’s not just you – the feeling that “everyone is asking for a tip now” is very real. The phenomenon has even earned a nickname: &lt;strong&gt;“tipflation”&lt;/strong&gt;, referring to the explosion of tipping requests in situations where we never encountered them before.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Digital payment technology has accelerated this shift. Coffee shops, takeout counters, food trucks – you name it – many have added touchscreen payment systems that automatically prompt for a gratuity, even for a simple muffin or a bottled water.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

  &lt;h2&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;When Tipping Hurts the Customer Experience&lt;/span&gt;&lt;/h2&gt;
  &lt;p&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;For businesses, this rise of pre-service tipping prompts presents a &lt;strong&gt;serious question: Is that extra 10–15% being squeezed out of customers worth the damage it may be doing to customer goodwill?&amp;nbsp;&amp;nbsp;&lt;/strong&gt;We live in an era when companies preach about being “customer-centric” and delivering the best experience possible. Every little detail of the customer journey is scrutinized to maximize satisfaction. And yet, here we are introducing a practice that many customers find off-putting. It’s a baffling contradiction – almost a self-inflicted wound in the realm of customer experience.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;b&gt;So much of customer experience comes down to how you make your customers feel&lt;/b&gt;. If you make customers feel valued, respected, and comfortable, they’re likely to come back. But if your checkout process leaves them feeling awkward or pressured, &lt;b&gt;you’ve ended the interaction on a sour note&lt;/b&gt;, even if everything prior went well. It puts the customer on the spot and can make them feel “super-uncomfortable” pressing “No Tip” with the staff’s eyes on them.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;In essence, it’s a “buzzkill” way to conclude an otherwise pleasant transaction.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;We’ve all been in that position: perhaps the coffee was good and the cashier was friendly, but the moment of being &lt;b&gt;guilted at the payment screen&lt;/b&gt; sticks with you more than the taste of the latte. That discomfort isn’t just a fleeting annoyance – it can shape our future choices. If a customer leaves feeling nickel-and-dimed or judged, they may think twice about coming back. In my case, the frustrating pre-tip on a botched delivery led me to stop using that app, at least for a while. I’m not alone. There are countless anecdotes of people actively avoiding certain cafés or choosing not to order takeout as often, simply to escape the constant tip pressure. As one observer quipped, being &quot;peppered to give more for less (e.g. 20% for takeout or counter service) is annoying and detracts from the customer experience. It can also make your customers opt to spend less with you in the future.” &lt;span style=&quot;font-size: xx-small;&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;a href=&quot;https://www.linkedin.com/pulse/my-hot-take-why-tipping-terrible-customer-experience-brittany-hodak#:~:text=If%20you%E2%80%99re%20anything%20like%20me%2C,with%20you%20in%20the%20future&quot;&gt;linkedin.com&lt;/a&gt;)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;In other words, pushy tipping policies might earn a few extra Rands today but could cost you many Rands down the line when the customer decides not to return.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;From a customer-centric perspective, this trend feels like a misstep. Businesses might think they are helping their employees earn a little more, but if the customer walks away feeling worse for having interacted with you, was it really a win? A fundamental of hospitality is that the customer should leave happier than when they arrived&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;. If the last impression you give is essentially “&lt;i&gt;Pay more now (and don’t disappoint us)&lt;/i&gt;”, you’re not exactly sending people off with warm, fuzzy feelings. Over time, that can erode your brand reputation. No detail is too small in shaping customer loyalty, and that includes how (and when) you ask for tips.&lt;/span&gt;&lt;/p&gt;

  &lt;h2&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Putting Service Before Tips: How to Fix It&lt;/span&gt;&lt;/h2&gt;&lt;div&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Is there a better way? I believe so. If we truly care about customer experience (as we claim to), we need to rethink how tipping is integrated into takeaway and delivery transactions. Here are a few ideas and recommendations that could maintain fairness to workers without alienating customers:&lt;/span&gt;&lt;/div&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong&gt;Make Tipping Truly Optional and After-Service:&lt;/strong&gt;&amp;nbsp;The timing of the tip matters. Restaurants and apps could allow tips after the service is rendered – once the food is delivered or the takeout meal is in the customer’s hands and verified correct. Some food delivery platforms already offer the option to tip after delivery (or to adjust the tip within a short window). This should be the norm. If I had the chance to tip after my Uber Eats driver handed me a coffee-drenched bag, you can bet I would have adjusted my 15% accordingly. By letting the tip occur post-service, you ensure it’s a reward for quality, not a blind bet. And if something goes wrong, customers don’t feel cheated because they haven’t prepaid a gratuity.&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong&gt;Remove the Social Pressure:&amp;nbsp;&lt;/strong&gt;If you do present a tip prompt, do it in a way that minimizes social pressure. For example, some businesses turn the payment screen around to face the customer privately, and train staff to look away or busy themselves while the customer chooses a tip option. No hovering, no expectant stares. The message should be: “&lt;i&gt;Tip if you wish – we won’t think less of you if you don’t.&lt;/i&gt;”&amp;nbsp;it’s wise for businesses to tone down how they prompt for tips. A discreet approach can preserve the customer’s dignity and comfort.&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong&gt;Use Subtle Reminders or Delayed Options:&lt;/strong&gt;&amp;nbsp;One creative solution I’d love to see gain traction is &lt;b&gt;shifting the tip request away from the immediate payment moment&lt;/b&gt;. For instance, a restaurant could print a QR code on the receipt or takeaway bag that customers can scan to leave a tip later if they feel inclined. In some regions (like here in South Africa), apps like SnapScan is popular enough and allows exactly this – you scan a code and tip whenever you want, without a person watching your every move. This way, the tip becomes a separate act of gratitude, not an automatic expectation. It also gives the customer time to experience the food and service quality. If their meal was great or the staff went above and beyond, they’re free to show appreciation after the fact. If not, no harm done. Similarly, digital delivery platforms could send a push notification after delivery: “&lt;i&gt;How was your order? Tip your driver here if you’d like.&lt;/i&gt;” The key is &lt;b&gt;giving control back to the customer&lt;/b&gt; and decoupling the tip from the heat of the payment moment.&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong&gt;Focus on Service, Not Guilt:&lt;/strong&gt;&amp;nbsp;This one’s more cultural. Businesses should double down on &lt;b&gt;training employees to deliver excellent service &lt;/b&gt;– friendly interactions, accurate orders, timeliness – without making the tip the centerpiece of the encounter. If a customer has a pleasant pickup experience, they’re naturally more likely to leave a little something in the tip jar or come back next week. But if the first thing an employee does is shove a card machine asking for 15% &lt;i&gt;before &lt;/i&gt;even saying “Here’s your order, hope you have a great day,” the priorities feel skewed. Encourage staff to earn the tip through great service, not to assume it. This mindset shift can go a long way.&amp;nbsp;&amp;nbsp;– so concentrate on delivering quality, and trust that tips (and customer loyalty) will follow.&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong&gt;Consider Transparent Pricing or Fair Wages:&lt;/strong&gt;&amp;nbsp;Stepping back, there’s a broader industry discussion here. One reason tipping has spiraled is because workers often depend on tips due to low wages, especially in food service. Many customers now feel like they’re subsidizing wages via tips.&amp;nbsp;&amp;nbsp;Perhaps it’s time for some restaurants to experiment with service-inclusive pricing – pay staff a living wage and bake the true cost of service into menu prices. This can remove the awkward tip dance entirely. A few places have tried “no tipping, higher prices” models. While it’s not an overnight fix (and it has its own challenges), it’s worth considering in the long run. The goal should be to &lt;b&gt;ensure employees are taken care of without making every customer feel like they’re being shaken down for extra cash at every turn&lt;/b&gt;. When employees are paid decently, any tip truly becomes a token of appreciation – &lt;i&gt;which is what it was meant to be in the first place&lt;/i&gt;. And as a bonus, well-paid, happy employees tend to provide better service, creating a virtuous cycle of genuinely good customer experiences that people want to reward.&lt;/span&gt;&lt;/li&gt;
  &lt;/ul&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcOSI9I54JXOvgEfgvHwdCdBxvfjB0squ20gUknLMlsagcHikdU3Wafs8uFcmGPM2bnQVKseYiJ5zS9pnCy3N1G4AUVgxbRWUK3sFyH49Ak-BDtOTbsfBpOeDw3U7ZYqROsLB5SNZq8hvc9NWVAjMWEPheaME7PD27t5RPq4hxZl4gF-o4_W57/s1536/ChatGPT%20Image%20Jun%2029,%202025,%2002_45_34%20PM.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1536&quot; data-original-width=&quot;1024&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcOSI9I54JXOvgEfgvHwdCdBxvfjB0squ20gUknLMlsagcHikdU3Wafs8uFcmGPM2bnQVKseYiJ5zS9pnCy3N1G4AUVgxbRWUK3sFyH49Ak-BDtOTbsfBpOeDw3U7ZYqROsLB5SNZq8hvc9NWVAjMWEPheaME7PD27t5RPq4hxZl4gF-o4_W57/s320/ChatGPT%20Image%20Jun%2029,%202025,%2002_45_34%20PM.png&quot; width=&quot;213&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;

  &lt;h2&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Conclusion: Let Gratitude Follow Service&lt;/span&gt;&lt;/h2&gt;
  &lt;p&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Tipping is ultimately about &lt;strong&gt;gratitude&lt;/strong&gt; – a “thank you” from a customer for a job well done. By putting the thank you before the job, we’ve managed to make the whole practice feel forced and transactional, undermining the goodwill it’s supposed to foster. This new trend of tipping for takeaways (especially tipping &lt;em data-end=&quot;16802&quot; data-start=&quot;16794&quot;&gt;before&lt;/em&gt; the service is delivered) is, in my view, &lt;strong data-end=&quot;16902&quot; data-start=&quot;16845&quot;&gt;a step in the wrong direction for customer experience&lt;/strong&gt;. It’s counter-intuitive to the customer-focused values that businesses claim to uphold.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;As both a professional in the customer service field and a consumer, my plea is simple: &lt;b&gt;let’s restore some sanity to tipping culture&lt;/b&gt;. Reserve the tip for when it makes sense – after the service – and present it as an option, not a demand. If we truly value our customers, we won’t put them in the uncomfortable position of paying extra before we’ve delivered on our promise. Instead, we’ll focus on delivering great food, on time, with a smile. We’ll let the service speak for itself. If it’s good, many of us &lt;i&gt;will&lt;/i&gt; happily tip – and do so with a smile of our own. If not, that feedback is valuable too. Either way, the customer leaves feeling like they were in control and respected, not shaken down.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;In the long run, &lt;strong data-end=&quot;17833&quot; data-start=&quot;17725&quot;&gt;putting customers first will pay off far more than a few guilt-induced rands at the register.&lt;/strong&gt; A satisfied customer is likely to return, tip in the future, or recommend the business to others – outcomes far more valuable than a coerced 10% on one transaction. By &lt;strong data-end=&quot;18041&quot; data-start=&quot;18002&quot;&gt;fixing how and when we ask for tips&lt;/strong&gt;, we can ensure that gratitude flows naturally again, as a genuine exchange between customer and service provider. Let’s not mess this up by letting a short-sighted trend tarnish the very relationships we’re trying to build. In an age where customer experience is king, it’s time to remember the simple truth: &lt;strong data-end=&quot;18384&quot; data-start=&quot;18351&quot;&gt;earn the tip, don’t impose it&lt;/strong&gt;. The loyalty and goodwill we gain will be the real tip we earn for treating customers right.&lt;/span&gt;&lt;/p&gt;

  &lt;p&gt;&lt;em&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Let’s not mess this up by letting a short-sighted trend tarnish the very relationships we’re trying to build. In an age where customer experience is king, it’s time to remember the simple truth: &lt;strong&gt;earn the tip, don’t impose it&lt;/strong&gt;.&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;

</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/2489312177793011798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/2489312177793011798' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/2489312177793011798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/2489312177793011798'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2025/06/tipping-for-takeaways-counter-intuitive.html' title='Tipping for Takeaways: A Counter-Intuitive Trend in a Customer-Focused Era'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_-h4OM1JcOG34wFeBq_pis64vZagy4LtEHhbos16d6bz7cv4LosOkDi6FD87U1fEp6T3lBoqnLEMRRWSChx_ok_TQigie0qTeGh7VjobYQMsCfZfIjK3sPTqpYxp3PTKC6gq8Nz0pbHRPVRdR_3VHNx7sgGxgktu9caJh0WHCrIDjLMmISFrr/s72-c/ChatGPT%20Image%20Jun%2029,%202025,%2002_39_27%20PM.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-3464842645990091204</id><published>2025-06-19T15:31:00.008+03:00</published><updated>2025-06-29T16:08:49.462+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="OData Filter Query"/><category scheme="http://www.blogger.com/atom/ns#" term="PowerAutomate"/><category scheme="http://www.blogger.com/atom/ns#" term="PowerAutomate Filter Query"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Column Filtering"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Get Items"/><title type='text'>Power Automate OData Filter Query 101: Filtering SharePoint Columns for Beginners</title><content type='html'>&lt;div class=&quot;@container/thread flex min-w-0 flex-col gap-4 px-12 py-8&quot;&gt;&lt;div class=&quot;flex max-w-full flex-col grow&quot;&gt;&lt;div class=&quot;flex flex-col gap-4&quot;&gt;&lt;div class=&quot;min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;amp;]:mt-5&quot; data-message-author-role=&quot;assistant&quot; data-message-id=&quot;ed01364b-5cfb-4f5e-aa2e-09ff3de1cd3f&quot; dir=&quot;auto&quot;&gt;&lt;div class=&quot;flex w-full flex-col gap-1 empty:hidden first:pt-[3px]&quot;&gt;&lt;div class=&quot;markdown prose dark:prose-invert w-full break-words dark deep-research-result&quot;&gt;
&lt;p data-end=&quot;1412&quot; data-start=&quot;85&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;When building Power Automate flows with SharePoint, you often need to get list items or files that meet specific conditions – for example, “all completed tasks created after Jan 1”. Instead of retrieving &lt;em data-end=&quot;294&quot; data-start=&quot;289&quot;&gt;all&lt;/em&gt; items and then filtering in the flow (which is slow and inefficient), you can use the &lt;strong data-end=&quot;403&quot; data-start=&quot;381&quot;&gt;OData Filter Query&lt;/strong&gt; option on the &lt;strong data-end=&quot;431&quot; data-start=&quot;418&quot;&gt;Get items&lt;/strong&gt; (or &lt;strong data-end=&quot;467&quot; data-start=&quot;436&quot;&gt;Get files (properties only)&lt;/strong&gt;) action. This filter query allows you to &lt;strong data-end=&quot;545&quot; data-start=&quot;509&quot;&gt;retrieve only the items you need&lt;/strong&gt; by specifying conditions, leveraging SharePoint’s query engine for faster results [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2018/11/12/microsoft-flow-filter-queries-in-sharepoint-get-items/#:~:text=A%20filter%20query%20is%20a,speed%20up%20the%20process%20dramatically&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2018/11/12/microsoft-flow-filter-queries-in-sharepoint-get-items/#:~:text=A%20filter%20query%20is%20a,speed%20up%20the%20process%20dramatically&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=8,to%20filter%20the%20data%20further&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=8,to%20filter%20the%20data%20further&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. In this beginner-friendly guide, we’ll explain what OData filter queries are, why they’re useful, and provide &lt;strong data-end=&quot;871&quot; data-start=&quot;813&quot;&gt;examples for filtering various SharePoint column types&lt;/strong&gt;. We’ll cover Yes/No, Date, Currency, Lookup, Choice (single and multi-select), Person (single and multi-select), Hyperlink, and Managed Metadata columns. For each, we’ll describe the SharePoint column setup, show the &lt;strong data-end=&quot;1105&quot; data-start=&quot;1089&quot;&gt;Filter Query&lt;/strong&gt; syntax to use in Power Automate, and explain common issues (like case sensitivity, internal names, and SharePoint delegation/threshold limits). By the end, you should be comfortable crafting OData filter queries to get exactly the data you want – &lt;strong data-end=&quot;1364&quot; data-start=&quot;1353&quot;&gt;without&lt;/strong&gt; unnecessary loops or delays. Let’s get started!&lt;/span&gt;&lt;/p&gt;&lt;p data-end=&quot;1412&quot; data-start=&quot;85&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiB-YRoOLnlJSzvj4QZwDjf01bd0zg3Z61OpzDPBCDjyLLCnHKVP3EAvXqQomb5nTzXlpsR6dzRTLLkTMANLuuuGGGRJE9TCWsTC2-8KTGWOCsU7Cu0juiqEWe6YzAB7EM1zqwP7kVf2K13dNsVib0u6Xw4nLuP1WircTxTELuA4vq4CB07tK9v/s1536/ChatGPT%20Image%20Jun%2029,%202025,%2003_07_32%20PM.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1536&quot; data-original-width=&quot;1024&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiB-YRoOLnlJSzvj4QZwDjf01bd0zg3Z61OpzDPBCDjyLLCnHKVP3EAvXqQomb5nTzXlpsR6dzRTLLkTMANLuuuGGGRJE9TCWsTC2-8KTGWOCsU7Cu0juiqEWe6YzAB7EM1zqwP7kVf2K13dNsVib0u6Xw4nLuP1WircTxTELuA4vq4CB07tK9v/s320/ChatGPT%20Image%20Jun%2029,%202025,%2003_07_32%20PM.png&quot; width=&quot;213&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;h2 data-end=&quot;1464&quot; data-start=&quot;1414&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;What is an OData Filter Query (and Why Use It)?&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;2051&quot; data-start=&quot;1466&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;1475&quot; data-start=&quot;1466&quot;&gt;OData&lt;/strong&gt; (Open Data Protocol) is a standard query language for web APIs. In SharePoint’s REST API (which Power Automate uses under the hood), queries can be shaped with OData parameters like &lt;code data-end=&quot;1667&quot; data-start=&quot;1658&quot;&gt;$filter&lt;/code&gt; to select items matching certain criteria [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=1,Thumbnail&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=1,Thumbnail&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=%60,Thumbnail&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=%60,Thumbnail&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. The &lt;strong data-end=&quot;1805&quot; data-start=&quot;1789&quot;&gt;Filter Query&lt;/strong&gt; field in Power Automate’s SharePoint actions is essentially the &lt;code data-end=&quot;1879&quot; data-start=&quot;1870&quot;&gt;$filter&lt;/code&gt; portion of an OData query. By entering a filter query, you tell SharePoint to return &lt;em data-end=&quot;1971&quot; data-start=&quot;1965&quot;&gt;only&lt;/em&gt; items that meet the conditions, saving your flow from handling extraneous data.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;2740&quot; data-start=&quot;2053&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;2076&quot; data-start=&quot;2053&quot;&gt;Why is this useful?&lt;/strong&gt; Two big reasons: &lt;strong data-end=&quot;2109&quot; data-start=&quot;2094&quot;&gt;performance&lt;/strong&gt; and &lt;strong data-end=&quot;2128&quot; data-start=&quot;2114&quot;&gt;simplicity&lt;/strong&gt;. A well-crafted filter query dramatically reduces the data sent over the network and speeds up your flow [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2018/11/12/microsoft-flow-filter-queries-in-sharepoint-get-items/#:~:text=A%20filter%20query%20is%20a,speed%20up%20the%20process%20dramatically&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2018/11/12/microsoft-flow-filter-queries-in-sharepoint-get-items/#:~:text=A%20filter%20query%20is%20a,speed%20up%20the%20process%20dramatically&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. For example, pulling 5 items that meet a condition is much faster than pulling 5,000 and then filtering them in an &lt;strong data-end=&quot;2404&quot; data-start=&quot;2387&quot;&gt;Apply to each&lt;/strong&gt; loop. It also avoids extra loop logic or filter array steps in your flow – the query does the work for you. This is crucial for large lists: SharePoint has a 5,000 item list view threshold, and filtering server-side helps you stay within that limit by using indexed columns and avoiding non-delegable operations (more on that shortly).&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;3330&quot; data-start=&quot;2742&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;2767&quot; data-start=&quot;2742&quot;&gt;Where can you use it?&lt;/strong&gt; Primarily in the &lt;strong data-end=&quot;2798&quot; data-start=&quot;2785&quot;&gt;Get items&lt;/strong&gt; action for SharePoint lists, under &lt;em data-end=&quot;2848&quot; data-start=&quot;2834&quot;&gt;Filter Query&lt;/em&gt; in the action’s advanced options [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=retrieve%20items%20in%20sub,only%20contain%20the%20columns%20that&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=retrieve%20items%20in%20sub,only%20contain%20the%20columns%20that&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. The same syntax also works in similar actions like &lt;strong data-end=&quot;3002&quot; data-start=&quot;2971&quot;&gt;Get files (properties only)&lt;/strong&gt; for document libraries and any other SharePoint connector action that offers a filter query field – the logic is identical for files vs. list items. (Many other connectors, such as Dataverse, SQL Server, etc., also accept OData filters, though their field names and capabilities differ. In this post we’ll focus on SharePoint.)&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;3554&quot; data-start=&quot;3332&quot;&gt; &lt;span data-end=&quot;3554&quot; data-start=&quot;3370&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;i&gt;Above: The &lt;/i&gt;&lt;strong data-end=&quot;3395&quot; data-start=&quot;3382&quot; style=&quot;font-style: italic;&quot;&gt;Get items&lt;/strong&gt;&lt;i&gt; action in Power Automate, with the &lt;/i&gt;&lt;strong data-end=&quot;3447&quot; data-start=&quot;3431&quot; style=&quot;font-style: italic;&quot;&gt;Filter Query&lt;/strong&gt;&lt;i&gt; field (advanced options) where you can enter an OData filter string &lt;/i&gt;[&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=retrieve%20items%20in%20sub,only%20contain%20the%20columns%20that&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=retrieve%20items%20in%20sub,only%20contain%20the%20columns%20that&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;&lt;i&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-end=&quot;3600&quot; data-start=&quot;3556&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;OData Filter Query Basics (Syntax &amp;amp; Tips)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;3649&quot; data-start=&quot;3602&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;An OData filter query follows a basic pattern:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;3740&quot; data-start=&quot;3651&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;language-xml&quot;&gt;&lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;&lt;span class=&quot;hljs-name&quot;&gt;InternalFieldName&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&amp;gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;&lt;span class=&quot;hljs-name&quot;&gt;operator&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&amp;gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;&lt;span class=&quot;hljs-name&quot;&gt;value&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&amp;gt; [logical operator &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;&lt;span class=&quot;hljs-name&quot;&gt;second&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;condition&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&amp;gt; ...]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;3852&quot; data-start=&quot;3742&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;For example: &lt;code data-end=&quot;3778&quot; data-start=&quot;3755&quot;&gt;Status eq &#39;Completed&#39;&lt;/code&gt; or &lt;code data-end=&quot;3799&quot; data-start=&quot;3782&quot;&gt;Quantity le 100&lt;/code&gt;. Let’s break down the components and best practices:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-end=&quot;8126&quot; data-start=&quot;3854&quot;&gt;
&lt;li data-end=&quot;4382&quot; data-start=&quot;3854&quot;&gt;
&lt;p data-end=&quot;4382&quot; data-start=&quot;3856&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;3879&quot; data-start=&quot;3856&quot;&gt;Internal Field Name&lt;/strong&gt; – Use the field’s &lt;em data-end=&quot;3913&quot; data-start=&quot;3898&quot;&gt;internal name&lt;/em&gt; as seen by SharePoint, not the display name. Internal names often differ (e.g. a column labeled &lt;strong data-end=&quot;4028&quot; data-start=&quot;4010&quot;&gt;&quot;Project Name&quot;&lt;/strong&gt; might have internal name &lt;code data-end=&quot;4074&quot; data-start=&quot;4054&quot;&gt;Project_x0020_Name&lt;/code&gt;). You can find the internal name by going to the column settings in SharePoint – the URL will include &lt;code data-end=&quot;4191&quot; data-start=&quot;4177&quot;&gt;Field=&amp;lt;Name&amp;gt; [&lt;/code&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=4,Gabriel%20Mongefranco%27%20and%20UniqName%C2%A0eq%20%27mongefrg&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=4,Gabriel%20Mongefranco%27%20and%20UniqName%C2%A0eq%20%27mongefrg&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Always use that exact name (including any &lt;code data-end=&quot;4281&quot; data-start=&quot;4272&quot;&gt;_x0020_&lt;/code&gt; codes for spaces). Using the wrong name is a common mistake that leads to “column not found” errors.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;4693&quot; data-start=&quot;4383&quot;&gt;
&lt;p data-end=&quot;4693&quot; data-start=&quot;4385&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;4408&quot; data-start=&quot;4385&quot;&gt;Comparison Operator&lt;/strong&gt; – OData supports operators like &lt;code data-end=&quot;4445&quot; data-start=&quot;4441&quot;&gt;eq&lt;/code&gt; (equals), &lt;code data-end=&quot;4460&quot; data-start=&quot;4456&quot;&gt;ne&lt;/code&gt; (not equals), &lt;code data-end=&quot;4479&quot; data-start=&quot;4475&quot;&gt;lt&lt;/code&gt; (less than), &lt;code data-end=&quot;4497&quot; data-start=&quot;4493&quot;&gt;gt&lt;/code&gt; (greater than), &lt;code data-end=&quot;4518&quot; data-start=&quot;4514&quot;&gt;le&lt;/code&gt; (≤), &lt;code data-end=&quot;4528&quot; data-start=&quot;4524&quot;&gt;ge&lt;/code&gt; (≥). &lt;strong data-end=&quot;4564&quot; data-start=&quot;4534&quot;&gt;These must be in lowercase [&lt;/strong&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=3,Functions&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=3,Functions&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. For example, use &lt;code data-end=&quot;4624&quot; data-start=&quot;4620&quot;&gt;eq&lt;/code&gt; rather than &lt;code data-end=&quot;4641&quot; data-start=&quot;4637&quot;&gt;EQ&lt;/code&gt;. Logical operators &lt;code data-end=&quot;4666&quot; data-start=&quot;4661&quot;&gt;and&lt;/code&gt; / &lt;code data-end=&quot;4673&quot; data-start=&quot;4669&quot;&gt;or&lt;/code&gt; are also lowercase.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;5255&quot; data-start=&quot;4694&quot;&gt;
&lt;p data-end=&quot;5255&quot; data-start=&quot;4696&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;4705&quot; data-start=&quot;4696&quot;&gt;Value&lt;/strong&gt; – The value to compare against. For text or date/time, &lt;strong data-end=&quot;4800&quot; data-start=&quot;4761&quot;&gt;surround the value in single quotes&lt;/strong&gt;. For numbers and booleans, no quotes are needed (more on booleans soon). If comparing to an empty/null value, use &lt;code data-end=&quot;4921&quot; data-start=&quot;4915&quot;&gt;null&lt;/code&gt; (no quotes). &lt;strong data-end=&quot;4948&quot; data-start=&quot;4935&quot;&gt;Examples:&lt;/strong&gt; &lt;code data-end=&quot;4971&quot; data-start=&quot;4949&quot;&gt;Title eq &#39;Project A&#39;&lt;/code&gt; (Title is text), &lt;code data-end=&quot;5004&quot; data-start=&quot;4989&quot;&gt;Amount gt 500&lt;/code&gt; (Amount is numeric), &lt;code data-end=&quot;5043&quot; data-start=&quot;5026&quot;&gt;DueDate eq null&lt;/code&gt; (DueDate blank). For date/time values, use ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ) and prefix with the keyword &lt;code data-end=&quot;5164&quot; data-start=&quot;5154&quot;&gt;datetime&lt;/code&gt; – e.g. &lt;code data-end=&quot;5215&quot; data-start=&quot;5172&quot;&gt;Created ge datetime&#39;2023-01-01T00:00:00Z&#39; [&lt;/code&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepoint.stackexchange.com/questions/255543/filter-created-in-sp-rest-api/255555#255555#:~:text=1,2018%2F10%2F05&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepoint.stackexchange.com/questions/255543/filter-created-in-sp-rest-api/255555#255555#:~:text=1,2018%2F10%2F05&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepoint.stackexchange.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;5812&quot; data-start=&quot;5256&quot;&gt;
&lt;p data-end=&quot;5812&quot; data-start=&quot;5258&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;5291&quot; data-start=&quot;5258&quot;&gt;Combining Multiple Conditions&lt;/strong&gt; – You can chain conditions with &lt;code data-end=&quot;5329&quot; data-start=&quot;5324&quot;&gt;and&lt;/code&gt; / &lt;code data-end=&quot;5336&quot; data-start=&quot;5332&quot;&gt;or&lt;/code&gt;. &lt;strong data-end=&quot;5377&quot; data-start=&quot;5338&quot;&gt;Use parentheses to group conditions&lt;/strong&gt; when mixing &lt;code data-end=&quot;5395&quot; data-start=&quot;5390&quot;&gt;and&lt;/code&gt;/&lt;code data-end=&quot;5400&quot; data-start=&quot;5396&quot;&gt;or&lt;/code&gt; to avoid ambiguity. For example: &lt;code data-end=&quot;5549&quot; data-start=&quot;5434&quot;&gt;(Status eq &#39;Active&#39; and Priority eq &#39;High&#39;) or (Status eq &#39;Active&#39; and DueDate lt datetime&#39;2023-12-31T23:59:00Z&#39;)&lt;/code&gt;. It’s a good practice to put each clause in parentheses, especially if using &lt;strong data-end=&quot;5633&quot; data-start=&quot;5627&quot;&gt;or&lt;/strong&gt;, to ensure SharePoint evaluates it as intended [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2018/11/12/microsoft-flow-filter-queries-in-sharepoint-get-items/#:~:text=stringColumn%20eq%20%27string%27%20AND%20numberColumn,lt%20123&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2018/11/12/microsoft-flow-filter-queries-in-sharepoint-get-items/#:~:text=stringColumn%20eq%20%27string%27%20AND%20numberColumn,lt%20123&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. If all you have are &lt;code data-end=&quot;5746&quot; data-start=&quot;5741&quot;&gt;and&lt;/code&gt; conditions, parentheses are optional but can improve readability.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;6908&quot; data-start=&quot;5813&quot;&gt;
&lt;p data-end=&quot;5941&quot; data-start=&quot;5815&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;5838&quot; data-start=&quot;5815&quot;&gt;Function Operations&lt;/strong&gt; – OData provides functions for partial matches and date parts. Two commonly used string functions are:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-end=&quot;6908&quot; data-start=&quot;5944&quot;&gt;
&lt;li data-end=&quot;6138&quot; data-start=&quot;5944&quot;&gt;
&lt;p data-end=&quot;6138&quot; data-start=&quot;5946&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;code data-end=&quot;5978&quot; data-start=&quot;5946&quot;&gt;startswith(&amp;lt;Field&amp;gt;, &#39;&amp;lt;value&amp;gt;&#39;)&lt;/code&gt; – checks if the field value &lt;em data-end=&quot;6015&quot; data-start=&quot;6007&quot;&gt;begins&lt;/em&gt; with a substring. E.g. &lt;code data-end=&quot;6069&quot; data-start=&quot;6039&quot;&gt;startswith(Title, &#39;Project&#39;)&lt;/code&gt; is true for &quot;Project Alpha&quot; and &quot;Project123&quot;, but not &quot;New Project&quot;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;6908&quot; data-start=&quot;6141&quot;&gt;
&lt;p data-end=&quot;6908&quot; data-start=&quot;6143&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;code data-end=&quot;6176&quot; data-start=&quot;6143&quot;&gt;substringof(&#39;&amp;lt;value&amp;gt;&#39;, &amp;lt;Field&amp;gt;)&lt;/code&gt; – checks if the field value &lt;em data-end=&quot;6215&quot; data-start=&quot;6205&quot;&gt;contains&lt;/em&gt; a substring anywhere [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=4,day&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=4,day&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. &lt;strong data-end=&quot;6286&quot; data-start=&quot;6277&quot;&gt;Note:&lt;/strong&gt; the substring goes first, the field second (this trips people up). E.g. &lt;code data-end=&quot;6390&quot; data-start=&quot;6359&quot;&gt;substringof(&#39;Project&#39;, Title)&lt;/code&gt; is true for &quot;New Project Plan&quot; (because Title contains &quot;Project&quot;).&lt;br /&gt;
Both functions are case-sensitive in SharePoint OData. If casing is an issue, you might need to ensure consistent casing in your data or use a workaround (SharePoint’s REST API doesn’t support a &lt;code data-end=&quot;6667&quot; data-start=&quot;6656&quot;&gt;tolower()&lt;/code&gt; function in filters). There are also date functions like &lt;code data-end=&quot;6733&quot; data-start=&quot;6725&quot;&gt;year()&lt;/code&gt;, &lt;code data-end=&quot;6744&quot; data-start=&quot;6735&quot;&gt;month()&lt;/code&gt;, &lt;code data-end=&quot;6753&quot; data-start=&quot;6746&quot;&gt;day()&lt;/code&gt; that can extract parts of dates for filtering (e.g. &lt;code data-end=&quot;6829&quot; data-start=&quot;6806&quot;&gt;year(Created) eq 2025&lt;/code&gt;), but such functions can prevent the query from using indexes – use sparingly.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;7483&quot; data-start=&quot;6909&quot;&gt;
&lt;p data-end=&quot;7483&quot; data-start=&quot;6911&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;6931&quot; data-start=&quot;6911&quot;&gt;Case Sensitivity&lt;/strong&gt; – In OData syntax, the field names and operators are case-sensitive (as noted, use exact internal name and lowercase operators). The string &lt;em data-end=&quot;7080&quot; data-start=&quot;7072&quot;&gt;values&lt;/em&gt; in comparisons are usually case-insensitive for SharePoint text columns (SharePoint filtering of text is not case-sensitive by default in most cases). For example, &lt;code data-end=&quot;7267&quot; data-start=&quot;7245&quot;&gt;Title eq &#39;Project A&#39;&lt;/code&gt; should match &quot;project a&quot; in a Title field. However, functions like &lt;code data-end=&quot;7348&quot; data-start=&quot;7335&quot;&gt;substringof&lt;/code&gt; and &lt;code data-end=&quot;7365&quot; data-start=&quot;7353&quot;&gt;startswith&lt;/code&gt; are case-sensitive for the substring. It’s safest to match the exact case or use consistent casing when storing data.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;8126&quot; data-start=&quot;7484&quot;&gt;
&lt;p data-end=&quot;8126&quot; data-start=&quot;7486&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;7515&quot; data-start=&quot;7486&quot;&gt;Flow Expression Injection&lt;/strong&gt; – You can dynamically build filter queries using flow expressions. For instance, to filter by the current date or a value from a previous step, you might use an expression inside the quotes. Example: &lt;code data-end=&quot;7744&quot; data-start=&quot;7716&quot;&gt;StartDate ge &#39;@{utcNow()}&#39;&lt;/code&gt;. Be mindful of the quotes – when the flow runs, the expression will be replaced with a value. The resulting string still needs to be a valid OData query. Often you’ll see date expressions combined with the &lt;code data-end=&quot;7966&quot; data-start=&quot;7951&quot;&gt;datetime&#39;...&#39;&lt;/code&gt; wrapper, like: &lt;code data-end=&quot;8055&quot; data-start=&quot;7982&quot;&gt;Created ge datetime&#39;@{formatDateTime(utcNow(),&#39;yyyy-MM-ddTHH:00:00Z&#39;)}&#39;&lt;/code&gt;. Keep the syntax exact (the entire datetime literal in single quotes).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;9198&quot; data-start=&quot;8128&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;8163&quot; data-start=&quot;8128&quot;&gt;Delegation and List Thresholds:&lt;/strong&gt; A big “gotcha” when filtering SharePoint data is the list view threshold (5000 items). SharePoint can only efficiently filter by &lt;strong data-end=&quot;8312&quot; data-start=&quot;8293&quot;&gt;indexed columns&lt;/strong&gt; beyond 5000 items. If your filter uses a column that isn’t indexed and the list is very large, the query may fail or time out. To avoid this, &lt;strong data-end=&quot;8476&quot; data-start=&quot;8455&quot;&gt;index the columns&lt;/strong&gt; you plan to filter on (you can set this in List Settings &amp;gt; Indexing). Yes/No, Number, Date, Single-choice, and Lookup (single-value) columns can be indexed. &lt;strong data-end=&quot;8722&quot; data-start=&quot;8634&quot;&gt;Multi-value fields (like multi-choice, multi-person, multi-lookup, managed metadata)&lt;/strong&gt; cannot be indexed, so filtering on those in large lists will not work once the threshold is exceeded [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=data%2C%20use%20XPath%C2%A0functions%20and%2For%20Filter,specific%20value%20in%20Power%20Automate&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=data%2C%20use%20XPath%C2%A0functions%20and%2For%20Filter,specific%20value%20in%20Power%20Automate&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. In such cases, you might need to rethink your approach (filter on another indexed field first, or retrieve and post-filter in the flow). The filter queries themselves don’t have a “delegation limit” like in Power Apps, but they rely on SharePoint’s ability to handle the query, which is where indexing and supported operations matter.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;9393&quot; data-start=&quot;9200&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;With the general mechanics covered, let’s dive into examples for each column type. We’ll illustrate how to write the filter query and mention any quirks or pitfalls specific to that field type.&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-end=&quot;9433&quot; data-start=&quot;9395&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Filtering a Yes/No (Boolean) Column&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;9699&quot; data-start=&quot;9435&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;9463&quot; data-start=&quot;9435&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; A Yes/No column is a boolean (True/False) field (rendered as a checkbox in SharePoint). Let’s say we have a &lt;strong data-end=&quot;9584&quot; data-start=&quot;9572&quot;&gt;“Active”&lt;/strong&gt; column (Yes for active items, No for inactive). Internally, SharePoint stores Yes as &lt;strong data-end=&quot;9678&quot; data-start=&quot;9670&quot;&gt;true&lt;/strong&gt; and No as &lt;strong data-end=&quot;9698&quot; data-start=&quot;9689&quot;&gt;false&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;9785&quot; data-start=&quot;9701&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;9735&quot; data-start=&quot;9701&quot;&gt;Filter Query (Yes/No Example):&lt;/strong&gt; To filter items where Active is Yes (true), use:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;9811&quot; data-start=&quot;9787&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Active eq 1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;9858&quot; data-start=&quot;9813&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;To filter where Active is No: &lt;code data-end=&quot;9856&quot; data-start=&quot;9843&quot;&gt;Active eq 0&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;10205&quot; data-start=&quot;9860&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Why 1 and 0? SharePoint’s OData implementation expects boolean values as numeric 1 (true) or 0 (false) in filter queries [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=3,Title%20eq&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=3,Title%20eq&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. If you try &lt;code data-end=&quot;10048&quot; data-start=&quot;10032&quot;&gt;Active eq true&lt;/code&gt; or &lt;code data-end=&quot;10069&quot; data-start=&quot;10052&quot;&gt;Active eq &#39;Yes&#39;&lt;/code&gt;, it &lt;strong data-end=&quot;10091&quot; data-start=&quot;10074&quot;&gt;will not work&lt;/strong&gt;. The correct approach is to use &lt;code data-end=&quot;10127&quot; data-start=&quot;10124&quot;&gt;1&lt;/code&gt; for “Yes/True” and &lt;code data-end=&quot;10150&quot; data-start=&quot;10147&quot;&gt;0&lt;/code&gt; for “No/False” [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=3,Title%20eq&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=3,Title%20eq&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;10228&quot; data-start=&quot;10207&quot;&gt;&lt;strong data-end=&quot;10228&quot; data-start=&quot;10207&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;11256&quot; data-start=&quot;10230&quot;&gt;
&lt;li data-end=&quot;10462&quot; data-start=&quot;10230&quot;&gt;
&lt;p data-end=&quot;10462&quot; data-start=&quot;10232&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;10260&quot; data-start=&quot;10232&quot;&gt;Use 1/0, not true/false:&lt;/strong&gt; As noted, this is specific to SharePoint’s OData. Even though the JSON output returns &lt;code data-end=&quot;10363&quot; data-start=&quot;10347&quot;&gt;&quot;Active&quot;: true&lt;/code&gt; or false, the filter query must use &lt;code data-end=&quot;10413&quot; data-start=&quot;10400&quot;&gt;Active eq 1&lt;/code&gt; or &lt;code data-end=&quot;10423&quot; data-start=&quot;10417&quot;&gt;eq 0&lt;/code&gt;. This is a common source of confusion.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;10766&quot; data-start=&quot;10463&quot;&gt;
&lt;p data-end=&quot;10766&quot; data-start=&quot;10465&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;10489&quot; data-start=&quot;10465&quot;&gt;Internal name check:&lt;/strong&gt; If your column is named &lt;em data-end=&quot;10522&quot; data-start=&quot;10514&quot;&gt;Active&lt;/em&gt; (internal name likely “Active”), that’s straightforward. If it has spaces or special chars, ensure you use the internal name. E.g. a column &lt;strong data-end=&quot;10682&quot; data-start=&quot;10663&quot;&gt;&quot;Is Completed?&quot;&lt;/strong&gt; might have internal name &lt;code data-end=&quot;10721&quot; data-start=&quot;10708&quot;&gt;IsCompleted&lt;/code&gt; or &lt;code data-end=&quot;10745&quot; data-start=&quot;10725&quot;&gt;Is_x0020_Completed&lt;/code&gt; (check in settings).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;10955&quot; data-start=&quot;10767&quot;&gt;
&lt;p data-end=&quot;10955&quot; data-start=&quot;10769&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;10795&quot; data-start=&quot;10769&quot;&gt;Index for large lists:&lt;/strong&gt; Yes/No columns can be indexed. If you have thousands of items and plan to filter by this field, mark it indexed in the list settings to avoid threshold issues.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;11256&quot; data-start=&quot;10956&quot;&gt;
&lt;p data-end=&quot;11256&quot; data-start=&quot;10958&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;10998&quot; data-start=&quot;10958&quot;&gt;Filtering for “No” (false) vs blank:&lt;/strong&gt; A Yes/No field always has a value (false by default if not set), so &lt;code data-end=&quot;11073&quot; data-start=&quot;11067&quot;&gt;eq 0&lt;/code&gt; covers both explicitly unchecked and “not set” (there is no null for Yes/No). If you want items where the box is unchecked, use &lt;code data-end=&quot;11208&quot; data-start=&quot;11202&quot;&gt;eq 0&lt;/code&gt;. There’s no need for &lt;code data-end=&quot;11242&quot; data-start=&quot;11230&quot;&gt;or Is null&lt;/code&gt; in this case.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;11289&quot; data-start=&quot;11258&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Filtering a Date/Time Column&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;11523&quot; data-start=&quot;11291&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;11319&quot; data-start=&quot;11291&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; Date or Date &amp;amp; Time columns store dates (with or without time portion). For example, a &lt;strong data-end=&quot;11420&quot; data-start=&quot;11407&quot;&gt;“DueDate”&lt;/strong&gt; column (Date Only) or &lt;strong data-end=&quot;11458&quot; data-start=&quot;11443&quot;&gt;“EventDate”&lt;/strong&gt; (Date &amp;amp; Time). SharePoint stores dates in UTC behind the scenes.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;11638&quot; data-start=&quot;11525&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;11557&quot; data-start=&quot;11525&quot;&gt;Filter Query (Date Example):&lt;/strong&gt; Suppose we want items with DueDate on or after &lt;strong data-end=&quot;11621&quot; data-start=&quot;11605&quot;&gt;Dec 25, 2025&lt;/strong&gt;. We would write:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;11694&quot; data-start=&quot;11640&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;DueDate ge datetime&#39;2025-12-25T00:00:00Z&#39;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;12273&quot; data-start=&quot;11696&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This uses the &lt;code data-end=&quot;11714&quot; data-start=&quot;11710&quot;&gt;ge&lt;/code&gt; (≥) operator and the date &lt;strong data-end=&quot;11755&quot; data-start=&quot;11741&quot;&gt;2025-12-25&lt;/strong&gt; at midnight UTC. We wrap the date/time in &lt;code data-end=&quot;11813&quot; data-start=&quot;11798&quot;&gt;datetime&#39;...&#39;&lt;/code&gt; as required by SharePoint OData for date comparisons [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepoint.stackexchange.com/questions/255543/filter-created-in-sp-rest-api/255555#255555#:~:text=1,2018%2F10%2F05&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepoint.stackexchange.com/questions/255543/filter-created-in-sp-rest-api/255555#255555#:~:text=1,2018%2F10%2F05&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepoint.stackexchange.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. If we wanted only those due &lt;strong data-end=&quot;11941&quot; data-start=&quot;11935&quot;&gt;on&lt;/strong&gt; that exact date and our field is Date-only (no time), we could check for items between 2025-12-25 00:00 and 2025-12-25 23:59 using a combination (&lt;code data-end=&quot;12177&quot; data-start=&quot;12088&quot;&gt;DueDate ge datetime&#39;2025-12-25T00:00:00Z&#39; and DueDate lt datetime&#39;2025-12-26T00:00:00Z&#39;&lt;/code&gt;). Often, though, you’ll filter relative dates (e.g. Created in last 30 days) using expressions.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;12296&quot; data-start=&quot;12275&quot;&gt;&lt;strong data-end=&quot;12296&quot; data-start=&quot;12275&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;14663&quot; data-start=&quot;12298&quot;&gt;
&lt;li data-end=&quot;12622&quot; data-start=&quot;12298&quot;&gt;
&lt;p data-end=&quot;12622&quot; data-start=&quot;12300&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;12331&quot; data-start=&quot;12300&quot;&gt;Use &lt;code data-end=&quot;12321&quot; data-start=&quot;12306&quot;&gt;datetime&#39;...&#39;&lt;/code&gt; format:&lt;/strong&gt; SharePoint requires the &lt;code data-end=&quot;12366&quot; data-start=&quot;12356&quot;&gt;datetime&lt;/code&gt; literal around ISO date strings in OData filters [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepoint.stackexchange.com/questions/255543/filter-created-in-sp-rest-api/255555#255555#:~:text=1,2018%2F10%2F05&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepoint.stackexchange.com/questions/255543/filter-created-in-sp-rest-api/255555#255555#:~:text=1,2018%2F10%2F05&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepoint.stackexchange.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. If you omit it (e.g. &lt;code data-end=&quot;12502&quot; data-start=&quot;12477&quot;&gt;Created ge &#39;2025-12-25&#39;&lt;/code&gt;), the query will error or not behave as expected. Always include the time and &lt;code data-end=&quot;12584&quot; data-start=&quot;12581&quot;&gt;Z&lt;/code&gt; (UTC) if using datetime in the query.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;13126&quot; data-start=&quot;12623&quot;&gt;
&lt;p data-end=&quot;13126&quot; data-start=&quot;12625&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;12640&quot; data-start=&quot;12625&quot;&gt;Time zones:&lt;/strong&gt; The filter value should be in UTC (the &lt;code data-end=&quot;12683&quot; data-start=&quot;12680&quot;&gt;Z&lt;/code&gt; at the end denotes Zulu/UTC time). SharePoint stores date/time in UTC. If your column is Date Only, the time is typically treated as 00:00:00 UTC on that date. Be mindful that &lt;code data-end=&quot;12895&quot; data-start=&quot;12860&quot;&gt;ge datetime&#39;2025-12-25T00:00:00Z&#39;&lt;/code&gt; will include items from the entirety of Dec 25 in your local time if your time zone is behind/ahead UTC (because it’s inclusive from that midnight UTC). For most cases, that’s fine; just remember SharePoint’s comparison is in UTC.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;13705&quot; data-start=&quot;13127&quot;&gt;
&lt;p data-end=&quot;13705&quot; data-start=&quot;13129&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;13168&quot; data-start=&quot;13129&quot;&gt;Filtering “today” or dynamic dates:&lt;/strong&gt; You can use flow expressions to insert dynamic dates. For example, to get items created yesterday, one approach is:&lt;br data-end=&quot;13287&quot; data-start=&quot;13284&quot; /&gt;
&lt;code data-end=&quot;13452&quot; data-start=&quot;13289&quot;&gt;Created ge datetime&#39;@{formatDateTime(addDays(utcNow(), -1), &#39;yyyy-MM-dd&#39;)}T00:00:00Z&#39; and Created lt datetime&#39;@{formatDateTime(utcNow(),&#39;yyyy-MM-dd&#39;)}T00:00:00Z&#39;&lt;/code&gt;&lt;br data-end=&quot;13455&quot; data-start=&quot;13452&quot; /&gt;
This looks complex, but essentially plugs in “yesterday 00:00:00” and “today 00:00:00” as the range (so everything from yesterday) [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://stackoverflow.com/questions/76927029/in-power-automate-flow-how-to-get-items-from-sharepoint-list-that-were-created#:~:text=Try%20using%20filter%20query%20in,get%20items%20action%20like%20below&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://stackoverflow.com/questions/76927029/in-power-automate-flow-how-to-get-items-from-sharepoint-list-that-were-created#:~:text=Try%20using%20filter%20query%20in,get%20items%20action%20like%20below&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;stackoverflow.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. The key is formatting the date strings exactly and wrapping with &lt;code data-end=&quot;13704&quot; data-start=&quot;13693&quot;&gt;datetime&#39;&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;14165&quot; data-start=&quot;13706&quot;&gt;
&lt;p data-end=&quot;14165&quot; data-start=&quot;13708&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;13730&quot; data-start=&quot;13708&quot;&gt;Equality vs range:&lt;/strong&gt; If you try &lt;code data-end=&quot;13785&quot; data-start=&quot;13742&quot;&gt;Created eq datetime&#39;2025-12-25T00:00:00Z&#39;&lt;/code&gt;, it will only match items created &lt;em data-end=&quot;13829&quot; data-start=&quot;13820&quot;&gt;exactly&lt;/em&gt; at that moment (probably none). To get a specific date, use a range as shown or the &lt;code data-end=&quot;13921&quot; data-start=&quot;13914&quot;&gt;day()&lt;/code&gt; function (if small lists). For a Date-Only field, you could also compare to the date string without time (some have reported &lt;code data-end=&quot;14072&quot; data-start=&quot;14047&quot;&gt;DueDate eq &#39;2025-12-25&#39;&lt;/code&gt; working for Date-only fields, but the safest is to use the full datetime format or a range).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;14305&quot; data-start=&quot;14166&quot;&gt;
&lt;p data-end=&quot;14305&quot; data-start=&quot;14168&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;14181&quot; data-start=&quot;14168&quot;&gt;Indexing:&lt;/strong&gt; Date columns are good candidates for indexing if you frequently query by date (e.g. filtering by Created or Modified date).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;14663&quot; data-start=&quot;14306&quot;&gt;
&lt;p data-end=&quot;14663&quot; data-start=&quot;14308&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;14335&quot; data-start=&quot;14308&quot;&gt;Delegation in formulas:&lt;/strong&gt; If building the filter string with expressions, test the output to ensure it’s a valid ISO date. A common error is a mis-formatted date string or forgetting part of the syntax, resulting in an “Invalid filter” error. It helps to compose the date string in a Compose action and inspect it for correctness if you run into issues.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;14695&quot; data-start=&quot;14665&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Filtering a Currency Column&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;15016&quot; data-start=&quot;14697&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;14725&quot; data-start=&quot;14697&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; A Currency column stores numeric values (with a specific currency format, e.g. $ or €). For filtering purposes, it behaves like a Number column (the currency symbol is not stored in the data, just the number and currency locale). Example: &lt;strong data-end=&quot;14977&quot; data-start=&quot;14965&quot;&gt;“Budget”&lt;/strong&gt; column storing project budget amounts.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;15107&quot; data-start=&quot;15018&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;15054&quot; data-start=&quot;15018&quot;&gt;Filter Query (Currency Example):&lt;/strong&gt; If we want items with Budget over 5,000, we can use:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;15136&quot; data-start=&quot;15109&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Budget gt 5000&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;15268&quot; data-start=&quot;15138&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This will return items where the Budget value is greater than 5000. Similarly, &lt;code data-end=&quot;15230&quot; data-start=&quot;15217&quot;&gt;Budget eq 0&lt;/code&gt; would find items with a 0 value, etc.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;15291&quot; data-start=&quot;15270&quot;&gt;&lt;strong data-end=&quot;15291&quot; data-start=&quot;15270&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;17194&quot; data-start=&quot;15293&quot;&gt;
&lt;li data-end=&quot;15540&quot; data-start=&quot;15293&quot;&gt;
&lt;p data-end=&quot;15540&quot; data-start=&quot;15295&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;15315&quot; data-start=&quot;15295&quot;&gt;Treat as number:&lt;/strong&gt; Even though it’s “Currency”, you &lt;strong data-end=&quot;15384&quot; data-start=&quot;15349&quot;&gt;do not include currency symbols&lt;/strong&gt; or formatting in the query – just use the numeric value (no quotes). For example, use &lt;code data-end=&quot;15477&quot; data-start=&quot;15471&quot;&gt;5000&lt;/code&gt;, &lt;em data-end=&quot;15484&quot; data-start=&quot;15479&quot;&gt;not&lt;/em&gt; &lt;code data-end=&quot;15495&quot; data-start=&quot;15485&quot;&gt;&#39;$5,000&#39;&lt;/code&gt; (that would be a string and would not work).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;15714&quot; data-start=&quot;15541&quot;&gt;
&lt;p data-end=&quot;15714&quot; data-start=&quot;15543&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;15556&quot; data-start=&quot;15543&quot;&gt;Decimals:&lt;/strong&gt; If your currency has cents/decimal, you can use decimals in the query. For example &lt;code data-end=&quot;15656&quot; data-start=&quot;15640&quot;&gt;Price eq 19.99&lt;/code&gt; or &lt;code data-end=&quot;15676&quot; data-start=&quot;15660&quot;&gt;Price lt 100.5&lt;/code&gt;. Use a dot &lt;code data-end=&quot;15691&quot; data-start=&quot;15688&quot;&gt;.&lt;/code&gt; for decimal separator.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;15852&quot; data-start=&quot;15715&quot;&gt;
&lt;p data-end=&quot;15852&quot; data-start=&quot;15717&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;15728&quot; data-start=&quot;15717&quot;&gt;Commas:&lt;/strong&gt; Don’t use commas in the number (e.g. use &lt;code data-end=&quot;15777&quot; data-start=&quot;15770&quot;&gt;10000&lt;/code&gt; not &lt;code data-end=&quot;15790&quot; data-start=&quot;15782&quot;&gt;10,000&lt;/code&gt;). Commas would be interpreted incorrectly or break the query.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;16221&quot; data-start=&quot;15853&quot;&gt;
&lt;p data-end=&quot;16221&quot; data-start=&quot;15855&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;15873&quot; data-start=&quot;15855&quot;&gt;Internal name:&lt;/strong&gt; Watch out if your column name contains a currency symbol or spaces. For instance, a column named “Cost ($)” might have an internal name like &lt;code data-end=&quot;16049&quot; data-start=&quot;16015&quot;&gt;Cost_x0020__x0028__x0024__x0029_&lt;/code&gt; (SharePoint encodes special characters). Always verify the internal name. In our &lt;strong data-end=&quot;16141&quot; data-start=&quot;16131&quot;&gt;Budget&lt;/strong&gt; example, if the display name is “Budget” then internal is likely also &lt;code data-end=&quot;16220&quot; data-start=&quot;16212&quot;&gt;Budget&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;16586&quot; data-start=&quot;16222&quot;&gt;
&lt;p data-end=&quot;16586&quot; data-start=&quot;16224&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;16249&quot; data-start=&quot;16224&quot;&gt;Comparison operators:&lt;/strong&gt; You can use any numeric operator on currency: &lt;code data-end=&quot;16300&quot; data-start=&quot;16296&quot;&gt;eq&lt;/code&gt;, &lt;code data-end=&quot;16306&quot; data-start=&quot;16302&quot;&gt;ne&lt;/code&gt;, &lt;code data-end=&quot;16312&quot; data-start=&quot;16308&quot;&gt;lt&lt;/code&gt;, &lt;code data-end=&quot;16318&quot; data-start=&quot;16314&quot;&gt;le&lt;/code&gt;, &lt;code data-end=&quot;16324&quot; data-start=&quot;16320&quot;&gt;gt&lt;/code&gt;, &lt;code data-end=&quot;16330&quot; data-start=&quot;16326&quot;&gt;ge&lt;/code&gt;. You can also use &lt;code data-end=&quot;16361&quot; data-start=&quot;16349&quot;&gt;startswith&lt;/code&gt; or &lt;code data-end=&quot;16378&quot; data-start=&quot;16365&quot;&gt;substringof&lt;/code&gt; on a currency field, but that’s unusual (it would treat the number as a string, e.g. &lt;code data-end=&quot;16489&quot; data-start=&quot;16464&quot;&gt;startswith(Budget, &#39;5&#39;)&lt;/code&gt; finds budgets starting with digit 5, meaning 5 or  Fifty-something – probably not very useful!).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;16832&quot; data-start=&quot;16587&quot;&gt;
&lt;p data-end=&quot;16832&quot; data-start=&quot;16589&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;16603&quot; data-start=&quot;16589&quot;&gt;Null vs 0:&lt;/strong&gt; If the currency field is optional and not filled in, those items have no value (null). To find items where Budget is blank, use &lt;code data-end=&quot;16748&quot; data-start=&quot;16732&quot;&gt;Budget eq null&lt;/code&gt;. That is different from &lt;code data-end=&quot;16786&quot; data-start=&quot;16773&quot;&gt;Budget eq 0&lt;/code&gt; (which finds explicitly entered zero values).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;16977&quot; data-start=&quot;16833&quot;&gt;
&lt;p data-end=&quot;16977&quot; data-start=&quot;16835&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;16848&quot; data-start=&quot;16835&quot;&gt;Indexing:&lt;/strong&gt; Currency (being a number column under the hood) can be indexed. For large lists, index it if you plan to query on it frequently.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;17194&quot; data-start=&quot;16978&quot;&gt;
&lt;p data-end=&quot;17194&quot; data-start=&quot;16980&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;17006&quot; data-start=&quot;16980&quot;&gt;Locale considerations:&lt;/strong&gt; The filter query is not locale-aware – you must input the value as an invariant number. So if you’re in a locale that normally uses comma for decimals, still use a dot in the OData query.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;17246&quot; data-start=&quot;17196&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Filtering a Lookup Column (Single-Value Lookup)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;17743&quot; data-start=&quot;17248&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;17276&quot; data-start=&quot;17248&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; A Lookup column links to an item in another list. For example, a &lt;strong data-end=&quot;17356&quot; data-start=&quot;17342&quot;&gt;“Category”&lt;/strong&gt; lookup that points to a Category list. In SharePoint, a single-value lookup stores the &lt;strong data-end=&quot;17450&quot; data-start=&quot;17444&quot;&gt;ID&lt;/strong&gt; of the related item (and displays a secondary value, typically the Title of that item). Internally, SharePoint actually exposes two pieces: &lt;em data-end=&quot;17603&quot; data-start=&quot;17591&quot;&gt;CategoryId&lt;/em&gt; (the foreign key ID) and &lt;em data-end=&quot;17639&quot; data-start=&quot;17629&quot;&gt;Category&lt;/em&gt; (a navigation reference to the item, which can be expanded to get the linked item’s fields like Title).&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;17818&quot; data-start=&quot;17745&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;17779&quot; data-start=&quot;17745&quot;&gt;Filter Query (Lookup Example):&lt;/strong&gt; There are two ways to filter a lookup:&lt;/span&gt;&lt;/p&gt;
&lt;ol data-end=&quot;18977&quot; data-start=&quot;17820&quot;&gt;
&lt;li data-end=&quot;18192&quot; data-start=&quot;17820&quot;&gt;
&lt;p data-end=&quot;17998&quot; data-start=&quot;17823&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;17852&quot; data-start=&quot;17823&quot;&gt;By ID (best performance):&lt;/strong&gt; Use the lookup’s internal name with &lt;code data-end=&quot;17893&quot; data-start=&quot;17889&quot;&gt;Id&lt;/code&gt; appended. For example, to get items where Category points to the item with ID 3 in the Categories list:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;18035&quot; data-start=&quot;18002&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;CategoryId eq 3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;18192&quot; data-start=&quot;18039&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This directly filters by the stored lookup ID. It’s simple and efficient (numeric comparison). Use this if you know the ID of the lookup target you want.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;18977&quot; data-start=&quot;18194&quot;&gt;
&lt;p data-end=&quot;18355&quot; data-start=&quot;18197&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;18228&quot; data-start=&quot;18197&quot;&gt;By the lookup value (text):&lt;/strong&gt; Use the navigation property with a subfield, typically Title. For example, to get items whose Category’s Title is &quot;Marketing&quot;:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;18406&quot; data-start=&quot;18359&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Category/Title eq &#39;Marketing&#39;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;18977&quot; data-start=&quot;18410&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This instructs SharePoint to filter by the Title of the related item [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=4.%20Filter%20a%20single,PrimaryTeamEngagement%2FTitle%20eq%20%27Mobile%20Technologies%20Core&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=4.%20Filter%20a%20single,PrimaryTeamEngagement%2FTitle%20eq%20%27Mobile%20Technologies%20Core&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Under the covers, it’s doing an $expand on Category and then filtering. This is convenient if you don’t know the ID but know the name. Make sure to use the &lt;em data-end=&quot;18690&quot; data-start=&quot;18675&quot;&gt;internal name&lt;/em&gt; of the field you’re comparing – usually Title or Name of the target list’s item. (If the lookup is pointing to a list where the primary column is something else, use that. E.g. a lookup to a document library might use &lt;code data-end=&quot;18920&quot; data-start=&quot;18909&quot;&gt;File/Name&lt;/code&gt; or to a custom list with a &quot;Name&quot; field you’d use that.)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-end=&quot;19000&quot; data-start=&quot;18979&quot;&gt;&lt;strong data-end=&quot;19000&quot; data-start=&quot;18979&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;22320&quot; data-start=&quot;19002&quot;&gt;
&lt;li data-end=&quot;19509&quot; data-start=&quot;19002&quot;&gt;
&lt;p data-end=&quot;19509&quot; data-start=&quot;19004&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;19038&quot; data-start=&quot;19004&quot;&gt;Internal names and “Id” field:&lt;/strong&gt; The internal name of your lookup column is whatever you see in the URL on list settings (e.g. &lt;code data-end=&quot;19143&quot; data-start=&quot;19133&quot;&gt;Category&lt;/code&gt;). To filter by ID, append &lt;code data-end=&quot;19174&quot; data-start=&quot;19170&quot;&gt;Id&lt;/code&gt; to that name – this is a special convention in SharePoint’s OData. You won’t see “CategoryId” in the list settings, but it exists for filtering. Using &lt;code data-end=&quot;19343&quot; data-start=&quot;19326&quot;&gt;CategoryId eq 3&lt;/code&gt; works because SharePoint has a hidden numeric field for the lookup ID [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=Query%20for%20single%20value%20lookup,fields&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=Query%20for%20single%20value%20lookup,fields&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;learn.microsoft.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. &lt;em data-end=&quot;19462&quot; data-start=&quot;19454&quot;&gt;Do not&lt;/em&gt; put quotes around the number (3 in this case).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;20003&quot; data-start=&quot;19510&quot;&gt;
&lt;p data-end=&quot;20003&quot; data-start=&quot;19512&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;19537&quot; data-start=&quot;19512&quot;&gt;Value vs ID tradeoff:&lt;/strong&gt; Filtering by ID is exact and fast. Filtering by Title is user-friendly but can be problematic if the lookup value is not unique or if values change. If multiple categories have the same Title, &lt;code data-end=&quot;19762&quot; data-start=&quot;19731&quot;&gt;Category/Title eq &#39;Marketing&#39;&lt;/code&gt; will return items in any of those categories. If a category name changes, your filter might break or return nothing (since the items’ linked ID stays the same but the Title in the category list changed). So use Title filtering with caution.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;20842&quot; data-start=&quot;20004&quot;&gt;
&lt;p data-end=&quot;20842&quot; data-start=&quot;20006&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;20033&quot; data-start=&quot;20006&quot;&gt;Indexing and threshold:&lt;/strong&gt; Single-value lookup columns &lt;em data-end=&quot;20067&quot; data-start=&quot;20062&quot;&gt;can&lt;/em&gt; be indexed. If you have a large list and need to filter by a lookup, index the lookup column on the source list. However, note that SharePoint’s list view threshold has a secondary limit: a query can reference at most 8 lookup-type fields in a filter/query (lookup, person, choice, etc. count towards this in certain ways). Simple filters on one lookup are fine, but be wary of very complex queries hitting that limit. For large lists (&amp;gt;5000 items), &lt;strong data-end=&quot;20544&quot; data-start=&quot;20518&quot;&gt;prefer filtering by ID&lt;/strong&gt;. SharePoint can utilize the index on the lookup ID field efficiently. Filtering by &lt;code data-end=&quot;20644&quot; data-start=&quot;20628&quot;&gt;Category/Title&lt;/code&gt; might not be supported once the list is beyond threshold (and it could time out or fail if not indexed) [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=Query%20for%20multi,and%20users&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=Query%20for%20multi,and%20users&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;learn.microsoft.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. If you suspect issues, try switching to ID filtering.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;21012&quot; data-start=&quot;20843&quot;&gt;
&lt;p data-end=&quot;21012&quot; data-start=&quot;20845&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;20869&quot; data-start=&quot;20845&quot;&gt;Null (no selection):&lt;/strong&gt; To find items where the lookup is blank (no value selected), you can use &lt;code data-end=&quot;20963&quot; data-start=&quot;20943&quot;&gt;CategoryId eq null&lt;/code&gt;. That will return items with no linked category.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;21572&quot; data-start=&quot;21013&quot;&gt;
&lt;p data-end=&quot;21572&quot; data-start=&quot;21015&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;21056&quot; data-start=&quot;21015&quot;&gt;Multiple conditions on lookup fields:&lt;/strong&gt; If you want to filter on the lookup’s properties beyond just one field, note that you can only directly filter on the one field via the navigation (Title, or perhaps another field if you expanded it). For example, you &lt;em data-end=&quot;21283&quot; data-start=&quot;21275&quot;&gt;cannot&lt;/em&gt; do &lt;code data-end=&quot;21319&quot; data-start=&quot;21287&quot;&gt;Category/SomeOtherField eq &#39;X&#39;&lt;/code&gt; unless the lookup column was configured to show that field (SharePoint only automatically exposes certain key fields). For more advanced lookup queries, you might need to use an HTTP request or filter by the ID then handle other conditions in the flow.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;22011&quot; data-start=&quot;21573&quot;&gt;
&lt;p data-end=&quot;22011&quot; data-start=&quot;21575&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;21587&quot; data-start=&quot;21575&quot;&gt;Example:&lt;/strong&gt; Let’s say Category is a lookup to a Departments list that has Department Name (Title) and maybe a Code. If you want all items in Department with Code &quot;HR&quot;, you can’t directly filter &lt;code data-end=&quot;21793&quot; data-start=&quot;21770&quot;&gt;Category/Code eq &#39;HR&#39;&lt;/code&gt; unless you set up the lookup to show Code (which SharePoint doesn’t do out of box – it only shows Title by default). A workaround: ensure the Title contains the code or create a calculated/combined field to filter on.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;22320&quot; data-start=&quot;22012&quot;&gt;
&lt;p data-end=&quot;22320&quot; data-start=&quot;22014&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;22066&quot; data-start=&quot;22014&quot;&gt;Pitfall – lookup values with special characters:&lt;/strong&gt; If the Title has quotes or special characters, you need to escape them in the query. e.g. If a Category is &lt;code data-end=&quot;22189&quot; data-start=&quot;22174&quot;&gt;Bob&#39;s Burgers&lt;/code&gt;, you’d write &lt;code data-end=&quot;22239&quot; data-start=&quot;22203&quot;&gt;Category/Title eq &#39;Bob&#39;&#39;s Burgers&#39;&lt;/code&gt; (double single-quote to escape an apostrophe). This applies to any OData string.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;22366&quot; data-start=&quot;22322&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Filtering a Choice Column (Single-Select)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;22634&quot; data-start=&quot;22368&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;22396&quot; data-start=&quot;22368&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; A single-select Choice column provides a dropdown of fixed options, but only one can be selected. For example, &lt;strong data-end=&quot;22520&quot; data-start=&quot;22508&quot;&gt;“Status”&lt;/strong&gt; with choices &lt;em data-end=&quot;22561&quot; data-start=&quot;22534&quot;&gt;Open, In Progress, Closed&lt;/em&gt;. In SharePoint, the value is stored as text (one of the allowed values).&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;22729&quot; data-start=&quot;22636&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;22677&quot; data-start=&quot;22636&quot;&gt;Filter Query (Single Choice Example):&lt;/strong&gt; To get items where Status is “Closed”, you’d write:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;22762&quot; data-start=&quot;22731&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Status eq &#39;Closed&#39;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;22946&quot; data-start=&quot;22764&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;It’s that straightforward – provide the choice value in quotes. If you need items where Status is not a certain value, use &lt;code data-end=&quot;22891&quot; data-start=&quot;22887&quot;&gt;ne&lt;/code&gt; (e.g. &lt;code data-end=&quot;22918&quot; data-start=&quot;22898&quot;&gt;Status ne &#39;Closed&#39;&lt;/code&gt; for everything not Closed).&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;22969&quot; data-start=&quot;22948&quot;&gt;&lt;strong data-end=&quot;22969&quot; data-start=&quot;22948&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;26043&quot; data-start=&quot;22971&quot;&gt;
&lt;li data-end=&quot;23433&quot; data-start=&quot;22971&quot;&gt;
&lt;p data-end=&quot;23433&quot; data-start=&quot;22973&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;22997&quot; data-start=&quot;22973&quot;&gt;Exact match of text:&lt;/strong&gt; The value in the query has to exactly match the choice text (case and spelling) as it exists in the list. Choice comparisons in SharePoint are case-insensitive (since underlying it’s just text), but to avoid confusion, match the case exactly. If your choice has a trailing space or other hidden character (rare, but can happen if someone added a space when creating the choice), that would matter – so double-check the choice spelling.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;23788&quot; data-start=&quot;23434&quot;&gt;
&lt;p data-end=&quot;23788&quot; data-start=&quot;23436&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;23470&quot; data-start=&quot;23436&quot;&gt;Internal name vs display name:&lt;/strong&gt; Use the internal name of the column. If your choice column is “Project Status” (display name), the internal might be &lt;code data-end=&quot;23603&quot; data-start=&quot;23588&quot;&gt;ProjectStatus&lt;/code&gt; or &lt;code data-end=&quot;23629&quot; data-start=&quot;23607&quot;&gt;Project_x0020_Status&lt;/code&gt;. Use that in the filter (&lt;code data-end=&quot;23680&quot; data-start=&quot;23655&quot;&gt;ProjectStatus eq &#39;Open&#39;&lt;/code&gt;). If unsure, check the list settings URL for Field. Using the display name with spaces will cause an error.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;24117&quot; data-start=&quot;23789&quot;&gt;
&lt;p data-end=&quot;24117&quot; data-start=&quot;23791&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;23827&quot; data-start=&quot;23791&quot;&gt;Choices with special characters:&lt;/strong&gt; If a choice value contains a comma, semicolon, etc., you do not need to escape those (only quotes need escaping). Just put the whole value in single quotes. &lt;em data-end=&quot;23995&quot; data-start=&quot;23985&quot;&gt;Example:&lt;/em&gt; if a choice is &quot;On Hold/Blocked&quot;, you’d do &lt;code data-end=&quot;24068&quot; data-start=&quot;24039&quot;&gt;Status eq &#39;On Hold/Blocked&#39;&lt;/code&gt;. The slash or spaces are fine inside the quotes.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;24519&quot; data-start=&quot;24118&quot;&gt;
&lt;p data-end=&quot;24519&quot; data-start=&quot;24120&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;24147&quot; data-start=&quot;24120&quot;&gt;Changing choice values:&lt;/strong&gt; If someone renames a choice in the list settings, items that had the old value will now show the new value (SharePoint updates them). So your filter query should use the current value. If you filter by a choice that no longer exists in the allowed set, SharePoint will just return no items (or error if the value is really not valid text? Usually it just yields nothing).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;25035&quot; data-start=&quot;24520&quot;&gt;
&lt;p data-end=&quot;25035&quot; data-start=&quot;24522&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;24546&quot; data-start=&quot;24522&quot;&gt;Delegation/indexing:&lt;/strong&gt; Choice columns are &lt;em data-end=&quot;24585&quot; data-start=&quot;24566&quot;&gt;not lookup fields&lt;/em&gt; per se, and in SharePoint they can be indexed. If you have a large list, it’s a good idea to index important choice columns to enable server-side filtering beyond 5000 items. Filtering by a non-indexed choice on a huge list might hit the threshold (though if the first filter in query is on a non-indexed field, SharePoint will complain; sometimes combining with an indexed filter can offload some of it – but best to index the choice field itself).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;25228&quot; data-start=&quot;25036&quot;&gt;
&lt;p data-end=&quot;25228&quot; data-start=&quot;25038&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;25056&quot; data-start=&quot;25038&quot;&gt;Null or empty:&lt;/strong&gt; A choice column can technically be empty if no default and user hasn’t set it (unless it’s required). To filter items where a choice column is blank, use &lt;code data-end=&quot;25227&quot; data-start=&quot;25211&quot;&gt;Status eq null&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;25464&quot; data-start=&quot;25229&quot;&gt;
&lt;p data-end=&quot;25464&quot; data-start=&quot;25231&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;25269&quot; data-start=&quot;25231&quot;&gt;Multiple choice values (OR logic):&lt;/strong&gt; If you need to get items that are either “Open” &lt;strong data-end=&quot;25324&quot; data-start=&quot;25318&quot;&gt;or&lt;/strong&gt; “In Progress”, you can use &lt;code data-end=&quot;25356&quot; data-start=&quot;25352&quot;&gt;or&lt;/code&gt;:&lt;br data-end=&quot;25360&quot; data-start=&quot;25357&quot; /&gt;
&lt;code data-end=&quot;25411&quot; data-start=&quot;25362&quot;&gt;(Status eq &#39;Open&#39;) or (Status eq &#39;In Progress&#39;)&lt;/code&gt;.&lt;br data-end=&quot;25415&quot; data-start=&quot;25412&quot; /&gt;
Note each condition in parentheses for clarity.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;26043&quot; data-start=&quot;25465&quot;&gt;
&lt;p data-end=&quot;26043&quot; data-start=&quot;25467&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;25489&quot; data-start=&quot;25467&quot;&gt;No wildcard in eq:&lt;/strong&gt; There’s no wildcard or partial match in an &lt;code data-end=&quot;25537&quot; data-start=&quot;25533&quot;&gt;eq&lt;/code&gt; query. You can’t do &lt;code data-end=&quot;25577&quot; data-start=&quot;25558&quot;&gt;Status eq &#39;Clos*&#39;&lt;/code&gt; or such. You’d need to use a function like &lt;code data-end=&quot;25633&quot; data-start=&quot;25621&quot;&gt;startswith&lt;/code&gt; or &lt;code data-end=&quot;25650&quot; data-start=&quot;25637&quot;&gt;substringof&lt;/code&gt; on a text field. For choices specifically, since the set is limited, it’s usually not needed – you know the exact values. If you ever needed to filter where choice &lt;em data-end=&quot;25825&quot; data-start=&quot;25815&quot;&gt;contains&lt;/em&gt; something (maybe if choices are phrases), you could treat it as text: e.g. &lt;code data-end=&quot;25932&quot; data-start=&quot;25901&quot;&gt;substringof(&#39;Closed&#39;, Status)&lt;/code&gt; – but that would also match &quot;Closed - needs review&quot; vs &quot;Closed&quot;, etc. Typically, stick with eq/ne for choices.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;26088&quot; data-start=&quot;26045&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Filtering a Choice Column (Multi-Select)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;26438&quot; data-start=&quot;26090&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;26118&quot; data-start=&quot;26090&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; A multi-select Choice column allows selecting multiple values from a set. SharePoint stores all selected options in one field, separated by &lt;code data-end=&quot;26263&quot; data-start=&quot;26259&quot;&gt;;#&lt;/code&gt; in the internal data (in modern API outputs, they may come as an array of values in JSON, but in OData query context it’s treated as a single concatenated string of choices).&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;26920&quot; data-start=&quot;26440&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;26480&quot; data-start=&quot;26440&quot;&gt;Filter Query (Multi-Choice Example):&lt;/strong&gt; OData does &lt;strong data-end=&quot;26499&quot; data-start=&quot;26492&quot;&gt;not&lt;/strong&gt; have an “includes” operator, so filtering multi-select fields is tricky. You cannot directly ask for “contains this option” as a discrete condition. However, a common workaround is to use the &lt;code data-end=&quot;26705&quot; data-start=&quot;26692&quot;&gt;substringof&lt;/code&gt; function to search the string of values. For example, imagine a multi-choice &lt;strong data-end=&quot;26798&quot; data-start=&quot;26783&quot;&gt;“Locations”&lt;/strong&gt; field where an item could have “NY” and “LA” selected. To find items that have “NY” as one of the locations, you can try:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;26963&quot; data-start=&quot;26922&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;substringof(&#39;NY&#39;, Locations)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;27457&quot; data-start=&quot;26965&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This will return true if the text &quot;NY&quot; appears anywhere in the Locations value string [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.reddit.com/r/MicrosoftFlow/comments/14r39mm/get_items_filter_query_multichoice_column/#:~:text=%E2%80%A2&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.reddit.com/r/MicrosoftFlow/comments/14r39mm/get_items_filter_query_multichoice_column/#:~:text=%E2%80%A2&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;reddit.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.reddit.com/r/MicrosoftFlow/comments/14r39mm/get_items_filter_query_multichoice_column/#:~:text=Column%20name%20is%20Sites%2C%20multi,unable%20to%20replicate%20the%20result&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.reddit.com/r/MicrosoftFlow/comments/14r39mm/get_items_filter_query_multichoice_column/#:~:text=Column%20name%20is%20Sites%2C%20multi,unable%20to%20replicate%20the%20result&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;reddit.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. In practice, that should catch items where &quot;NY&quot; is one of the choices (because SharePoint would store it like &lt;code data-end=&quot;27250&quot; data-start=&quot;27240&quot;&gt;&quot;NY;#LA&quot;&lt;/code&gt; or &lt;code data-end=&quot;27264&quot; data-start=&quot;27254&quot;&gt;&quot;LA;#NY&quot;&lt;/code&gt; internally). Another approach some use is an &lt;code data-end=&quot;27314&quot; data-start=&quot;27310&quot;&gt;eq&lt;/code&gt; against the full string if you know the exact combination, but that is rarely useful unless you expect one specific combination of selections.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;27480&quot; data-start=&quot;27459&quot;&gt;&lt;strong data-end=&quot;27480&quot; data-start=&quot;27459&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;30745&quot; data-start=&quot;27482&quot;&gt;
&lt;li data-end=&quot;27867&quot; data-start=&quot;27482&quot;&gt;
&lt;p data-end=&quot;27867&quot; data-start=&quot;27484&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;27517&quot; data-start=&quot;27484&quot;&gt;No native “includes” support:&lt;/strong&gt; According to Microsoft, multi-valued fields can’t be directly queried by OData filter (there’s no equivalent to the CAML &lt;code data-end=&quot;27651&quot; data-start=&quot;27639&quot;&gt;&amp;lt;Contains&amp;gt;&lt;/code&gt; for multivalue) [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=Query%20for%20multi,and%20users&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=Query%20for%20multi,and%20users&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;learn.microsoft.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. The &lt;code data-end=&quot;27725&quot; data-start=&quot;27712&quot;&gt;substringof&lt;/code&gt; hack is essentially treating the field as one long text. It works in many simple cases but it’s not officially guaranteed for every scenario.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;27989&quot; data-start=&quot;27868&quot;&gt;
&lt;p data-end=&quot;27989&quot; data-start=&quot;27870&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;27891&quot; data-start=&quot;27870&quot;&gt;Case sensitivity:&lt;/strong&gt; &lt;code data-end=&quot;27905&quot; data-start=&quot;27892&quot;&gt;substringof&lt;/code&gt; is case-sensitive. Ensure you match the case of the choice value exactly as stored.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;28611&quot; data-start=&quot;27990&quot;&gt;
&lt;p data-end=&quot;28611&quot; data-start=&quot;27992&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;28012&quot; data-start=&quot;27992&quot;&gt;False positives:&lt;/strong&gt; Be careful – &lt;code data-end=&quot;28056&quot; data-start=&quot;28026&quot;&gt;substringof(&#39;NY&#39;, Locations)&lt;/code&gt; will also match &quot;ANY&quot; or &quot;Sydney&quot; if those were part of the string. To mitigate, you might include the delimiter. E.g., if &quot;NY&quot; is a standalone choice, the stored string would have &quot;NY;#&quot; around it (if other values follow). You could search for &lt;code data-end=&quot;28310&quot; data-start=&quot;28302&quot;&gt;&#39;NY;#&#39;&lt;/code&gt; as a substring to be more specific. But if &quot;NY&quot; could be the last value, it might not have &lt;code data-end=&quot;28406&quot; data-start=&quot;28402&quot;&gt;;#&lt;/code&gt; after it. This is why this approach is a bit unreliable if choice values are substrings of each other or of other words. If your choices are distinctly different words or abbreviations, it’s usually fine.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;28986&quot; data-start=&quot;28612&quot;&gt;
&lt;p data-end=&quot;28986&quot; data-start=&quot;28614&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;28645&quot; data-start=&quot;28614&quot;&gt;Performance and delegation:&lt;/strong&gt; This approach will likely &lt;strong data-end=&quot;28679&quot; data-start=&quot;28672&quot;&gt;not&lt;/strong&gt; be delegable on large lists. SharePoint can’t use an index with &lt;code data-end=&quot;28757&quot; data-start=&quot;28744&quot;&gt;substringof&lt;/code&gt; because it has to scan each item’s values. If your list is over 5000 items, a substring filter might just fail or return a partial set. There’s no official documentation on the cutoff, but treat it as non-indexed text filtering.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;29479&quot; data-start=&quot;28987&quot;&gt;
&lt;p data-end=&quot;29479&quot; data-start=&quot;28989&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;29016&quot; data-start=&quot;28989&quot;&gt;Alternative approaches:&lt;/strong&gt; If you consistently need to query multi-choice fields and performance is an issue, consider maintaining a separate hidden text field (perhaps with a flow or SharePoint workflow) that concatenates the choices (e.g. &lt;code data-end=&quot;29242&quot; data-start=&quot;29231&quot;&gt;&quot;|NY|LA|&quot;&lt;/code&gt;), then filter on that with a simple &lt;code data-end=&quot;29289&quot; data-start=&quot;29279&quot;&gt;contains&lt;/code&gt; logic. Or break out the choices into multiple boolean columns if feasible (one column per key choice that’s true/false). These are design trade-offs – often we just filter after retrieving.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;29900&quot; data-start=&quot;29480&quot;&gt;
&lt;p data-end=&quot;29900&quot; data-start=&quot;29482&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;29512&quot; data-start=&quot;29482&quot;&gt;Filtering in flow instead:&lt;/strong&gt; If you can’t get the OData filter to do what you want for multi-choice, you might retrieve items (maybe filtered by some other criteria if possible to narrow it) and then use the &lt;strong data-end=&quot;29708&quot; data-start=&quot;29692&quot;&gt;Filter array&lt;/strong&gt; action in Power Automate to check if the value exists in the array of choices. This is an afterthought because it happens in memory in the flow, but it may be necessary for complex scenarios.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;30502&quot; data-start=&quot;29901&quot;&gt;
&lt;p data-end=&quot;30502&quot; data-start=&quot;29903&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;29924&quot; data-start=&quot;29903&quot;&gt;Example scenario:&lt;/strong&gt; Suppose a list of events with a multi-select “Audience” choice (options like Youth, Adult, Senior). To find events for “Youth”, &lt;code data-end=&quot;30085&quot; data-start=&quot;30053&quot;&gt;substringof(&#39;Youth&#39;, Audience)&lt;/code&gt; might work. But if one option was “Youth Sports” and another “Youth Education”, and you wanted specifically those with “Youth Sports”, substringof would also catch “Youth Education”. There’s unfortunately no straightforward way to do an exact contains for one multi-choice option via OData. You’d have to rely on the uniqueness of the strings or combine conditions to exclude undesired matches (which can get messy).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;30745&quot; data-start=&quot;30503&quot;&gt;
&lt;p data-end=&quot;30745&quot; data-start=&quot;30505&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;30538&quot; data-start=&quot;30505&quot;&gt;Testing multi-choice queries:&lt;/strong&gt; It’s a good practice to test your filter on a small sample list or in the browser via the REST API to ensure it returns what you expect. Multi-choice filtering is not as foolproof as single-value filtering.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;30807&quot; data-start=&quot;30747&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Filtering a Person (People Picker) Column – Single Person&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;31263&quot; data-start=&quot;30809&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;30837&quot; data-start=&quot;30809&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; A Person or Group column (single-select) references a user (or SharePoint group). It’s essentially a special lookup to the hidden User Information list. In a list item, a Person field has an associated &lt;strong data-end=&quot;31051&quot; data-start=&quot;31040&quot;&gt;User ID&lt;/strong&gt; (the SharePoint ID of that user in the site collection) and is often expanded to display the person’s &lt;strong data-end=&quot;31170&quot; data-start=&quot;31154&quot;&gt;Display Name&lt;/strong&gt; (which appears in the column), plus other details like email, job title, etc., if requested.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;31349&quot; data-start=&quot;31265&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;For example, &lt;strong data-end=&quot;31294&quot; data-start=&quot;31278&quot;&gt;“AssignedTo”&lt;/strong&gt; might be a single-person column for a Task’s assignee.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;31650&quot; data-start=&quot;31351&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;31385&quot; data-start=&quot;31351&quot;&gt;Filter Query (Person Example):&lt;/strong&gt; The most reliable way to filter by a person field is to use one of the user’s properties. Commonly used: &lt;strong data-end=&quot;31500&quot; data-start=&quot;31491&quot;&gt;Email&lt;/strong&gt; or &lt;strong data-end=&quot;31520&quot; data-start=&quot;31504&quot;&gt;Display Name&lt;/strong&gt;. Email is usually unique and consistent, so let’s use that. To find tasks assigned to the user with email &lt;em data-end=&quot;31649&quot; data-start=&quot;31627&quot;&gt;&lt;span data-end=&quot;31648&quot; data-start=&quot;31628&quot; href=&quot;mailto:john.doe@company.com&quot;&gt;john.doe@company.com&lt;/span&gt;&lt;/em&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;31707&quot; data-start=&quot;31652&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;AssignedTo/EMail eq &#39;john.doe@company.com&#39;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;32412&quot; data-start=&quot;31709&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Here &lt;code data-end=&quot;31726&quot; data-start=&quot;31714&quot;&gt;AssignedTo&lt;/code&gt; is the person field’s internal name, &lt;code data-end=&quot;31772&quot; data-start=&quot;31764&quot;&gt;/EMail&lt;/code&gt; accesses the user’s email property, and we compare to the email string [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://tomriha.com/wp-content/uploads/2021/03/FilterQuery-Cheatsheet.pdf#:~:text=Person%20or%20Group%20eq%20,&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://tomriha.com/wp-content/uploads/2021/03/FilterQuery-Cheatsheet.pdf#:~:text=Person%20or%20Group%20eq%20,&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;tomriha.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Note: &lt;strong data-end=&quot;31899&quot; data-start=&quot;31890&quot;&gt;EMail&lt;/strong&gt; has a capital “M” – that is the exact internal name of the email field in SharePoint’s user reference (it’s not a typo). Alternatively, we could filter by the display name (Title property). For example, &lt;code data-end=&quot;32135&quot; data-start=&quot;32103&quot;&gt;AssignedTo/Title eq &#39;John Doe&#39;&lt;/code&gt; (or &lt;code data-end=&quot;32153&quot; data-start=&quot;32140&quot;&gt;&#39;Doe, John&#39;&lt;/code&gt; depending on how names are displayed in your tenant) [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=1,edu%27%29%20or%20%28startswith%28TeamsAccount%2FTitle%2C%20%27Mongefranco&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=1,edu%27%29%20or%20%28startswith%28TeamsAccount%2FTitle%2C%20%27Mongefranco&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. However, display names can be non-unique (two John Smiths) and can change (if someone updates their profile to add middle initial, etc.), so email tends to be safer.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;32680&quot; data-start=&quot;32414&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;You can also filter by the user’s SharePoint ID using the pattern from lookup: &lt;code data-end=&quot;32513&quot; data-start=&quot;32493&quot;&gt;AssignedToId eq 23&lt;/code&gt; (if you know user 23 is John Doe). But User IDs vary by site and aren’t easy to obtain directly in flow without an extra lookup, so we usually stick to email or name.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;32703&quot; data-start=&quot;32682&quot;&gt;&lt;strong data-end=&quot;32703&quot; data-start=&quot;32682&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;37232&quot; data-start=&quot;32705&quot;&gt;
&lt;li data-end=&quot;33775&quot; data-start=&quot;32705&quot;&gt;
&lt;p data-end=&quot;33775&quot; data-start=&quot;32707&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;32747&quot; data-start=&quot;32707&quot;&gt;Use a subfield (Email, Title, etc.):&lt;/strong&gt; You cannot just do &lt;code data-end=&quot;32793&quot; data-start=&quot;32767&quot;&gt;AssignedTo eq &#39;John Doe&#39;&lt;/code&gt; or &lt;code data-end=&quot;32835&quot; data-start=&quot;32797&quot;&gt;AssignedTo eq &#39;john.doe@company.com&#39;&lt;/code&gt;. The person field is complex; you must specify which property to filter on. The most common are &lt;code data-end=&quot;32950&quot; data-start=&quot;32932&quot;&gt;AssignedTo/EMail&lt;/code&gt; and &lt;code data-end=&quot;32973&quot; data-start=&quot;32955&quot;&gt;AssignedTo/Title&lt;/code&gt;. Another property is &lt;code data-end=&quot;33010&quot; data-start=&quot;32995&quot;&gt;AssignedTo/Id&lt;/code&gt; (the user’s ID in the User Info list), but if you have that ID, you might as well use &lt;code data-end=&quot;33118&quot; data-start=&quot;33097&quot;&gt;AssignedToId eq ...&lt;/code&gt; as noted. There’s also &lt;code data-end=&quot;33165&quot; data-start=&quot;33142&quot;&gt;AssignedTo/Department&lt;/code&gt;, &lt;code data-end=&quot;33188&quot; data-start=&quot;33167&quot;&gt;AssignedTo/JobTitle&lt;/code&gt; etc., if the person column is configured to bring those in (or even if not, SharePoint’s REST &lt;em data-end=&quot;33290&quot; data-start=&quot;33283&quot;&gt;might&lt;/em&gt; still allow querying them if the profile has them) [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=2,Image%3A%20Uploaded%20Image%20%28Thumbnail&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=2,Image%3A%20Uploaded%20Image%20%28Thumbnail&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. For instance, if you wanted all items where AssignedTo’s department is &quot;Finance&quot;, you could do &lt;code data-end=&quot;33513&quot; data-start=&quot;33477&quot;&gt;AssignedTo/Department eq &#39;Finance&#39; [&lt;/code&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=2,Image%3A%20Uploaded%20Image%20%28Thumbnail&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=2,Image%3A%20Uploaded%20Image%20%28Thumbnail&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. This will only work if the Department field is populated in Azure AD/M365 profile for those users. Keep in mind, not all user profile properties are accessible via this route, but commonly Department, JobTitle, etc., are.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;34003&quot; data-start=&quot;33776&quot;&gt;
&lt;p data-end=&quot;34003&quot; data-start=&quot;33778&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;33812&quot; data-start=&quot;33778&quot;&gt;Internal name of person field:&lt;/strong&gt; If the field is &quot;Assigned To&quot; (with a space), internal might be &lt;code data-end=&quot;33889&quot; data-start=&quot;33877&quot;&gt;AssignedTo&lt;/code&gt; or &lt;code data-end=&quot;33912&quot; data-start=&quot;33893&quot;&gt;Assigned_x0020_To&lt;/code&gt;. Check the actual internal name. In many cases, SharePoint will strip spaces (AssignedTo).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;34208&quot; data-start=&quot;34004&quot;&gt;
&lt;p data-end=&quot;34208&quot; data-start=&quot;34006&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;34038&quot; data-start=&quot;34006&quot;&gt;Formatting the email string:&lt;/strong&gt; Use the exact email address string. It’s case-insensitive (email addresses aren’t case sensitive). To be safe, use the same casing as in Azure AD (often all lower-case).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;34665&quot; data-start=&quot;34209&quot;&gt;
&lt;p data-end=&quot;34665&quot; data-start=&quot;34211&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;34235&quot; data-start=&quot;34211&quot;&gt;Display Name format:&lt;/strong&gt; If using &lt;code data-end=&quot;34253&quot; data-start=&quot;34245&quot;&gt;/Title&lt;/code&gt;, remember SharePoint person Title is the full name as displayed in the site. Many organizations use &quot;First Last&quot;, but some (like in the example from Michigan Medicine) use &quot;Last, First&quot; [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=1,edu%27%29%20or%20%28startswith%28TeamsAccount%2FTitle%2C%20%27Mongefranco&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=1,edu%27%29%20or%20%28startswith%28TeamsAccount%2FTitle%2C%20%27Mongefranco&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Check how it appears in your list. You must match it exactly. E.g., &lt;code data-end=&quot;34581&quot; data-start=&quot;34548&quot;&gt;AssignedTo/Title eq &#39;Doe, John&#39;&lt;/code&gt; including the comma if that’s how it shows. This is another reason email is easier.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;34863&quot; data-start=&quot;34666&quot;&gt;
&lt;p data-end=&quot;34863&quot; data-start=&quot;34668&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;34710&quot; data-start=&quot;34668&quot;&gt;Multiple person fields with same name:&lt;/strong&gt; If your list has multiple person fields (like RequestedBy, ApprovedBy), be careful to use the correct one in the filter and not to confuse their values.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;35341&quot; data-start=&quot;34864&quot;&gt;
&lt;p data-end=&quot;35341&quot; data-start=&quot;34866&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;34893&quot; data-start=&quot;34866&quot;&gt;Current user filtering:&lt;/strong&gt; A common need is “items assigned to the current user”. You might think of using a placeholder, but OData in SharePoint doesn’t support a direct current user token in filter [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=must%20construct%20user%20queries%20against,users%27%20friendly%20names&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=must%20construct%20user%20queries%20against,users%27%20friendly%20names&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;learn.microsoft.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. The typical pattern is to use the user’s email from the flow context. For example, in a flow you could do: &lt;code data-end=&quot;35253&quot; data-start=&quot;35214&quot;&gt;AssignedTo/EMail eq &#39;@{user().email}&#39;&lt;/code&gt; if running in a user context, or get the user’s email from a trigger or another action.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;35554&quot; data-start=&quot;35342&quot;&gt;
&lt;p data-end=&quot;35554&quot; data-start=&quot;35344&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;35357&quot; data-start=&quot;35344&quot;&gt;Indexing:&lt;/strong&gt; Person columns count as lookup columns. You can index a single-value person column, which is recommended if you filter on it and have lots of items. This helps avoid the 5000-item threshold issue.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;35954&quot; data-start=&quot;35555&quot;&gt;
&lt;p data-end=&quot;35954&quot; data-start=&quot;35557&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;35579&quot; data-start=&quot;35557&quot;&gt;Delegation limits:&lt;/strong&gt; As with lookups, queries on person fields might fail on large lists if not indexed. Also, if you query by a property like Department which isn’t indexed (the person field only indexes the user ID perhaps), SharePoint might struggle if the list is huge. But typically filtering by &lt;code data-end=&quot;35878&quot; data-start=&quot;35860&quot;&gt;AssignedTo/EMail&lt;/code&gt; uses the underlying user ID index effectively (not guaranteed, but likely).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;36427&quot; data-start=&quot;35955&quot;&gt;
&lt;p data-end=&quot;36427&quot; data-start=&quot;35957&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;35979&quot; data-start=&quot;35957&quot;&gt;SharePoint groups:&lt;/strong&gt; If the column allows SharePoint groups or if someone picks a group as the value, note that &lt;code data-end=&quot;36089&quot; data-start=&quot;36071&quot;&gt;AssignedTo/Title&lt;/code&gt; would be the group name, and &lt;code data-end=&quot;36137&quot; data-start=&quot;36119&quot;&gt;AssignedTo/EMail&lt;/code&gt; might be blank (groups don’t have an email). So if your person field is People and Groups, filtering by email might not catch group assignments. In those cases, filtering by Title (group name) could work. Example: &lt;code data-end=&quot;36396&quot; data-start=&quot;36352&quot;&gt;Approver/Title eq &#39;Marketing Team Members&#39;&lt;/code&gt; (name of a SharePoint group).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;36664&quot; data-start=&quot;36428&quot;&gt;
&lt;p data-end=&quot;36664&quot; data-start=&quot;36430&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;36472&quot; data-start=&quot;36430&quot;&gt;Pitfall – special characters in names:&lt;/strong&gt; If someone’s display name contains a single quote, e.g., &lt;code data-end=&quot;36546&quot; data-start=&quot;36530&quot;&gt;O&#39;Connor, Jane&lt;/code&gt;, you’d need to escape it as &lt;code data-end=&quot;36592&quot; data-start=&quot;36575&quot;&gt;O&#39;&#39;Connor, Jane&lt;/code&gt; in the query string (similar to the earlier example for lookup/choice).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;36853&quot; data-start=&quot;36665&quot;&gt;
&lt;p data-end=&quot;36853&quot; data-start=&quot;36667&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;36712&quot; data-start=&quot;36667&quot;&gt;Advanced – filtering by multiple persons:&lt;/strong&gt; If you want items assigned to either Alice or Bob, you can do: &lt;code data-end=&quot;36852&quot; data-start=&quot;36776&quot;&gt;(AssignedTo/EMail eq &#39;alice@co.com&#39;) or (AssignedTo/EMail eq &#39;bob@co.com&#39;)&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;37232&quot; data-start=&quot;36854&quot;&gt;
&lt;p data-end=&quot;36874&quot; data-start=&quot;36856&quot;&gt;&lt;strong data-end=&quot;36873&quot; data-start=&quot;36856&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Example uses:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;37232&quot; data-start=&quot;36877&quot;&gt;
&lt;li data-end=&quot;36916&quot; data-start=&quot;36877&quot;&gt;
&lt;p data-end=&quot;36916&quot; data-start=&quot;36879&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Find item by exact person: as above.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;37118&quot; data-start=&quot;36919&quot;&gt;
&lt;p data-end=&quot;37118&quot; data-start=&quot;36921&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Find item where person’s property matches something else: e.g. tasks where AssignedTo’s Job Title is &quot;Manager&quot;: &lt;code data-end=&quot;37067&quot; data-start=&quot;37033&quot;&gt;AssignedTo/JobTitle eq &#39;Manager&#39;&lt;/code&gt; (this assumes user profiles have Job Title field).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;37232&quot; data-start=&quot;37121&quot;&gt;
&lt;p data-end=&quot;37232&quot; data-start=&quot;37123&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;These advanced queries are powerful but remember, they rely on data in the user profile at the time of query.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;37284&quot; data-start=&quot;37234&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Filtering a Person Column – Multiple Selections&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;37617&quot; data-start=&quot;37286&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;37314&quot; data-start=&quot;37286&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; A Person/Group column can be configured to allow multiple people. In SharePoint, multiple persons are stored similarly to multi-lookups: essentially an array of user entities (or a string of multiple names/IDs in older format). For example, an &lt;strong data-end=&quot;37574&quot; data-start=&quot;37559&quot;&gt;“Approvers”&lt;/strong&gt; field where you can select several people.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;38063&quot; data-start=&quot;37619&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;37659&quot; data-start=&quot;37619&quot;&gt;Filter Query (Multi-Person Example):&lt;/strong&gt; Filtering multi-person is challenging for the same reasons as multi-choice and multi-lookup. There’s no direct OData way to say “include this user”. However, SharePoint’s OData &lt;em data-end=&quot;37843&quot; data-start=&quot;37837&quot;&gt;does&lt;/em&gt; allow a similar trick as lookup: you can try using the &lt;code data-end=&quot;37907&quot; data-start=&quot;37899&quot;&gt;/EMail&lt;/code&gt; or &lt;code data-end=&quot;37919&quot; data-start=&quot;37911&quot;&gt;/Title&lt;/code&gt; on the person field, which &lt;em data-end=&quot;37952&quot; data-start=&quot;37947&quot;&gt;may&lt;/em&gt; evaluate true if any of the people match. For example, to find items where &lt;em data-end=&quot;38038&quot; data-start=&quot;38028&quot;&gt;John Doe&lt;/em&gt; is one of the Approvers:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;38119&quot; data-start=&quot;38065&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Approvers/EMail eq &#39;john.doe@company.com&#39;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;38409&quot; data-start=&quot;38121&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;In many cases, this works – SharePoint will return the item if any of the Approvers has that email [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://community.powerplatform.com/forums/thread/details/?threadid=0ee73ab2-c2ae-4a50-89e0-b2179720ee69#:~:text=Community%20community,Note%3A%20LessonOwner%20is%20the&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://community.powerplatform.com/forums/thread/details/?threadid=0ee73ab2-c2ae-4a50-89e0-b2179720ee69#:~:text=Community%20community,Note%3A%20LessonOwner%20is%20the&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;community.powerplatform.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=4.%20Filter%20a%20single,PrimaryTeamEngagement%2FTitle%20eq%20%27Mobile%20Technologies%20Core&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=4.%20Filter%20a%20single,PrimaryTeamEngagement%2FTitle%20eq%20%27Mobile%20Technologies%20Core&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. You could also try &lt;code data-end=&quot;38349&quot; data-start=&quot;38318&quot;&gt;Approvers/Title eq &#39;John Doe&#39;&lt;/code&gt; (with the same caveats about display name format as above).&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;38850&quot; data-start=&quot;38411&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Behind the scenes, it’s not well documented how this query is processed for multi-valued fields. The official documentation says multi-value lookups (which multi-person essentially is) &lt;strong data-end=&quot;38626&quot; data-start=&quot;38596&quot;&gt;cannot be directly queried [&lt;/strong&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=Query%20for%20multi,and%20users&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=Query%20for%20multi,and%20users&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;learn.microsoft.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. But practically, many have found that using the &lt;code data-end=&quot;38723&quot; data-start=&quot;38715&quot;&gt;/EMail&lt;/code&gt; or &lt;code data-end=&quot;38735&quot; data-start=&quot;38727&quot;&gt;/Title&lt;/code&gt; syntax returns the desired items if the list is under threshold. It likely performs a scan and checks each person.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;38873&quot; data-start=&quot;38852&quot;&gt;&lt;strong data-end=&quot;38873&quot; data-start=&quot;38852&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;42385&quot; data-start=&quot;38875&quot;&gt;
&lt;li data-end=&quot;39475&quot; data-start=&quot;38875&quot;&gt;
&lt;p data-end=&quot;39475&quot; data-start=&quot;38877&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;38921&quot; data-start=&quot;38877&quot;&gt;Not officially supported on large lists:&lt;/strong&gt; The &lt;code data-end=&quot;38941&quot; data-start=&quot;38926&quot;&gt;/EMail eq &#39;x&#39;&lt;/code&gt; filter on a multi-person column will not use an index (you cannot index multi-person columns). If the list is large, SharePoint might refuse to run the query (it might give an error like “The query cannot be completed because it includes lookup columns and the total exceeds the threshold”). In smaller lists it should work fine; in very large lists it may fail or only return partial data without warning. Treat this as a convenience for small/medium lists, but not a robust solution at scale [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=data%2C%20use%20XPath%C2%A0functions%20and%2For%20Filter,specific%20value%20in%20Power%20Automate&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=data%2C%20use%20XPath%C2%A0functions%20and%2For%20Filter,specific%20value%20in%20Power%20Automate&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;39816&quot; data-start=&quot;39476&quot;&gt;
&lt;p data-end=&quot;39816&quot; data-start=&quot;39478&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;39512&quot; data-start=&quot;39478&quot;&gt;Group membership not resolved:&lt;/strong&gt; If a SharePoint group is in the multi-person field and you filter by a user’s email, that will &lt;strong data-end=&quot;39615&quot; data-start=&quot;39608&quot;&gt;not&lt;/strong&gt; return items where the user is inside that group. OData filter doesn’t expand group membership. It only matches the user accounts directly in the field. Keep that in mind if your column allows groups.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;40085&quot; data-start=&quot;39817&quot;&gt;
&lt;p data-end=&quot;40085&quot; data-start=&quot;39819&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;39840&quot; data-start=&quot;39819&quot;&gt;Multiple matches:&lt;/strong&gt; If the field has multiple people and more than one match your query (say you query by Department: &lt;code data-end=&quot;39974&quot; data-start=&quot;39939&quot;&gt;Approvers/Department eq &#39;Finance&#39;&lt;/code&gt; and an item has two people from Finance), that item still only appears once in results (it doesn’t duplicate).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;40629&quot; data-start=&quot;40086&quot;&gt;
&lt;p data-end=&quot;40629&quot; data-start=&quot;40088&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;40130&quot; data-start=&quot;40088&quot;&gt;Alternative approach for multi-person:&lt;/strong&gt; Similar to multi-choice, if you often need to query “does this item include person X?”, an alternative is to maintain a hidden text field that concatenates all emails or IDs, and filter on that with substring. For example, a flow could maintain &lt;code data-end=&quot;40393&quot; data-start=&quot;40376&quot;&gt;ApproversEmails&lt;/code&gt; = &quot;&lt;span data-end=&quot;40417&quot; data-start=&quot;40397&quot; href=&quot;mailto:john.doe@company.com&quot;&gt;john.doe@company.com&lt;/span&gt;;&lt;span data-end=&quot;40440&quot; data-start=&quot;40418&quot; href=&quot;mailto:jane.smith@company.com&quot;&gt;jane.smith@company.com&lt;/span&gt;&quot;. Then filter: &lt;code data-end=&quot;40510&quot; data-start=&quot;40456&quot;&gt;substringof(&#39;john.doe@company.com&#39;, ApproversEmails)&lt;/code&gt;. This is a workaround to simulate an “includes” search. It has the usual caveats of substring (case, partial matches).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;41260&quot; data-start=&quot;40630&quot;&gt;
&lt;p data-end=&quot;41260&quot; data-start=&quot;40632&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;40660&quot; data-start=&quot;40632&quot;&gt;Filter in flow approach:&lt;/strong&gt; If OData filtering isn’t viable (say the list is too large or you need an exact match on one person in the multi), you might retrieve all items filtered by something else (or all if necessary, though that can be heavy) and then use a Filter array to keep items where the person array contains the target user. In Power Automate, the expression could be something like:&lt;br data-end=&quot;41032&quot; data-start=&quot;41029&quot; /&gt;
&lt;code data-end=&quot;41123&quot; data-start=&quot;41034&quot;&gt;@contains([2,4,6,8], item(&#39;ID&#39;))&lt;/code&gt;&lt;br data-end=&quot;41126&quot; data-start=&quot;41123&quot; /&gt;
(This example conceptually checks the array of ID&#39;s and includes if the ID exists.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul data-end=&quot;42385&quot; data-start=&quot;38875&quot;&gt;
&lt;li data-end=&quot;41629&quot; data-start=&quot;41261&quot;&gt;
&lt;p data-end=&quot;41629&quot; data-start=&quot;41263&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;41287&quot; data-start=&quot;41263&quot;&gt;CAML query via HTTP:&lt;/strong&gt; As an advanced solution, you can always revert to SharePoint CAML query (via the SharePoint REST API call in an HTTP action) to leverage an &lt;code data-end=&quot;41440&quot; data-start=&quot;41428&quot;&gt;&amp;lt;Includes&amp;gt;&lt;/code&gt; condition for multi-value fields. That’s beyond the scope of this OData-focused article, but it’s mentioned as a possible route if absolutely needed [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=TaxCatchAll%C2%A0%28taxonomy%20catch%20all%20virtual%20column%29,and%20may%20involve%20security%20risks&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=TaxCatchAll%C2%A0%28taxonomy%20catch%20all%20virtual%20column%29,and%20may%20involve%20security%20risks&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;42194&quot; data-start=&quot;41630&quot;&gt;
&lt;p data-end=&quot;42194&quot; data-start=&quot;41632&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;41680&quot; data-start=&quot;41632&quot;&gt;Pitfall – multiple criteria on multi-person:&lt;/strong&gt; If you try something like &lt;code data-end=&quot;41774&quot; data-start=&quot;41707&quot;&gt;Approvers/Title eq &#39;John Doe&#39; and Approvers/Title eq &#39;Jane Smith&#39;&lt;/code&gt;, that will likely never return anything – a single iteration of the field can’t be two values at once. If you want items where &lt;em data-end=&quot;41908&quot; data-start=&quot;41902&quot;&gt;both&lt;/em&gt; John and Jane are in the Approvers, you have to use a different approach (OData filter can’t handle that logic directly on multi, since it doesn’t support an “AND includes” for multivalue). You’d need to fetch items with John, then filter those for Jane in a second step, for instance.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;42385&quot; data-start=&quot;42195&quot;&gt;
&lt;p data-end=&quot;42385&quot; data-start=&quot;42197&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;42209&quot; data-start=&quot;42197&quot;&gt;Summary:&lt;/strong&gt; Use &lt;code data-end=&quot;42244&quot; data-start=&quot;42214&quot;&gt;Field/EMail eq &#39;user@domain&#39;&lt;/code&gt; for a quick filter on multi-person fields, but be cautious with scale. Always test with known items to ensure the query behaves as expected.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;42424&quot; data-start=&quot;42387&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Filtering a Hyperlink (URL) Column&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;42797&quot; data-start=&quot;42426&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;42454&quot; data-start=&quot;42426&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; A Hyperlink or Picture column in SharePoint consists of two parts: the URL and a Description. In list views, SharePoint might display the description as the hyperlink text (if a description is provided) or the URL itself if no description. Internally, the field is of type &lt;code data-end=&quot;42746&quot; data-start=&quot;42728&quot;&gt;SP.FieldUrlValue&lt;/code&gt;, which has sub-properties &lt;code data-end=&quot;42778&quot; data-start=&quot;42773&quot;&gt;Url&lt;/code&gt; and &lt;code data-end=&quot;42796&quot; data-start=&quot;42783&quot;&gt;Description&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;43300&quot; data-start=&quot;42799&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;42836&quot; data-start=&quot;42799&quot;&gt;Filter Query (Hyperlink Example):&lt;/strong&gt; &lt;em data-end=&quot;42910&quot; data-start=&quot;42837&quot;&gt;Unfortunately, OData filtering on hyperlink fields is &lt;strong data-end=&quot;42909&quot; data-start=&quot;42892&quot;&gt;not supported [&lt;/strong&gt;&lt;/em&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepoint.stackexchange.com/questions/224828/filter-hyperlink-field-url-using-sharepoint-rest-api#:~:text=5&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepoint.stackexchange.com/questions/224828/filter-hyperlink-field-url-using-sharepoint-rest-api#:~:text=5&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepoint.stackexchange.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. There is no direct way to filter items by the URL or the description via the Get items Filter Query. For example, you might hope to do &lt;code data-end=&quot;43144&quot; data-start=&quot;43086&quot;&gt;DocumentationLink/Url eq &#39;http://contoso.com/manual.pdf&#39;&lt;/code&gt;, but SharePoint will return an error or simply not filter correctly. The SharePoint REST API cannot filter on the Url or Description subfields using OData.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;43506&quot; data-start=&quot;43302&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;So, there isn’t a valid &lt;code data-end=&quot;43342&quot; data-start=&quot;43326&quot;&gt;Field eq value&lt;/code&gt; syntax to demonstrate here – any attempt will result in &lt;em data-end=&quot;43420&quot; data-start=&quot;43399&quot;&gt;“unsupported query”&lt;/em&gt;. If you absolutely need to query by a hyperlink, see the notes below for workarounds.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;43529&quot; data-start=&quot;43508&quot;&gt;&lt;strong data-end=&quot;43529&quot; data-start=&quot;43508&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;46346&quot; data-start=&quot;43531&quot;&gt;
&lt;li data-end=&quot;43825&quot; data-start=&quot;43531&quot;&gt;
&lt;p data-end=&quot;43825&quot; data-start=&quot;43533&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;43554&quot; data-start=&quot;43533&quot;&gt;No OData support:&lt;/strong&gt; Microsoft’s documentation and community consensus confirm that you cannot filter by hyperlink columns with the REST API filter. It’s a limitation [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepoint.stackexchange.com/questions/224828/filter-hyperlink-field-url-using-sharepoint-rest-api#:~:text=5&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepoint.stackexchange.com/questions/224828/filter-hyperlink-field-url-using-sharepoint-rest-api#:~:text=5&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepoint.stackexchange.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. This is because the field is complex and not treated as a simple queryable property.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;44479&quot; data-start=&quot;43826&quot;&gt;
&lt;p data-end=&quot;44479&quot; data-start=&quot;43828&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;43861&quot; data-start=&quot;43828&quot;&gt;Possible workaround via CAML:&lt;/strong&gt; One workaround is using a CAML query (Collaborative Application Markup Language) inside an HTTP request. For example, you could use a SharePoint HTTP action with the CAML &lt;code data-end=&quot;44158&quot; data-start=&quot;44033&quot;&gt;&amp;lt;Where&amp;gt;&amp;lt;Eq&amp;gt;&amp;lt;FieldRef Name=&quot;DocumentationLink&quot;/&amp;gt;&amp;lt;Value Type=&quot;URL&quot;&amp;gt;http://contoso.com/manual.pdf&amp;lt;/Value&amp;gt;&amp;lt;/Eq&amp;gt;&amp;lt;/Where&amp;gt;&amp;lt;/Query&amp;gt;&lt;/code&gt; to filter by URL [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepoint.stackexchange.com/questions/224828/filter-hyperlink-field-url-using-sharepoint-rest-api#:~:text=You%20can%20use%20CAML%20with,to%20achieve%20what%20you%20want&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepoint.stackexchange.com/questions/224828/filter-hyperlink-field-url-using-sharepoint-rest-api#:~:text=You%20can%20use%20CAML%20with,to%20achieve%20what%20you%20want&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepoint.stackexchange.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. When combined with the REST API (&lt;code data-end=&quot;44297&quot; data-start=&quot;44249&quot;&gt;_api/web/lists/GetByTitle(&#39;X&#39;)/GetItems(query)&lt;/code&gt;), this can retrieve filtered results. However, this is an advanced technique requiring manual crafting of CAML, and it must be done via the HTTP action (not the standard Get items).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;44919&quot; data-start=&quot;44480&quot;&gt;
&lt;p data-end=&quot;44919&quot; data-start=&quot;44482&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;44509&quot; data-start=&quot;44482&quot;&gt;Filter after retrieval:&lt;/strong&gt; If you cannot use CAML, another approach is to retrieve items without filtering (or with some other filter to reduce scope) and then use a Filter array in Power Automate to check the hyperlink field. The flow can examine the &lt;code data-end=&quot;44746&quot; data-start=&quot;44735&quot;&gt;FieldName&lt;/code&gt; object which typically has &lt;code data-end=&quot;44819&quot; data-start=&quot;44774&quot;&gt;{&#39;Url&#39;: &#39;http://...&#39;, &#39;Description&#39;: &#39;...&#39;}&lt;/code&gt; in the JSON. You could filter where item.DocumentationLink.Url contains or equals a certain string.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;45154&quot; data-start=&quot;44920&quot;&gt;
&lt;p data-end=&quot;45154&quot; data-start=&quot;44922&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;44942&quot; data-start=&quot;44922&quot;&gt;Partial matches:&lt;/strong&gt; If you wanted to filter by those whose URL contains a domain or path (e.g., all links to contoso.com), you definitely can’t do that server-side with OData. Your best bet is pulling items and filtering in memory.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;45341&quot; data-start=&quot;45155&quot;&gt;
&lt;p data-end=&quot;45341&quot; data-start=&quot;45157&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;45183&quot; data-start=&quot;45157&quot;&gt;Description filtering:&lt;/strong&gt; Similar story – you can’t do OData filter for the Description of a hyperlink field. If that’s needed, you’d again have to do an in-flow filter or CAML query.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;45818&quot; data-start=&quot;45342&quot;&gt;
&lt;p data-end=&quot;45818&quot; data-start=&quot;45344&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;45359&quot; data-start=&quot;45344&quot;&gt;Null/blank:&lt;/strong&gt; One thing you &lt;em data-end=&quot;45379&quot; data-start=&quot;45374&quot;&gt;can&lt;/em&gt; do with OData is check if the hyperlink field is empty. For example, &lt;code data-end=&quot;45476&quot; data-start=&quot;45449&quot;&gt;DocumentationLink eq null&lt;/code&gt; will likely return items with no link (since the field value would be null). This works because checking for null doesn’t require looking into the Url property specifically – if there’s no hyperlink, the whole field is null. Conversely &lt;code data-end=&quot;45740&quot; data-start=&quot;45713&quot;&gt;DocumentationLink ne null&lt;/code&gt; gives items where a link is present. This can be useful (and &lt;em data-end=&quot;45806&quot; data-start=&quot;45802&quot;&gt;is&lt;/em&gt; supported).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;46043&quot; data-start=&quot;45819&quot;&gt;
&lt;p data-end=&quot;46043&quot; data-start=&quot;45821&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;45864&quot; data-start=&quot;45821&quot;&gt;Pitfall – trying to filter URL by text:&lt;/strong&gt; A very common attempt is something like &lt;code data-end=&quot;45959&quot; data-start=&quot;45905&quot;&gt;DocumentationLink eq &#39;http://contoso.com/manual.pdf&#39;&lt;/code&gt;. This will &lt;strong data-end=&quot;45983&quot; data-start=&quot;45971&quot;&gt;not work&lt;/strong&gt; (the API doesn’t magically apply that to the URL subfield).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;46346&quot; data-start=&quot;46044&quot;&gt;
&lt;p data-end=&quot;46346&quot; data-start=&quot;46046&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;46061&quot; data-start=&quot;46046&quot;&gt;Conclusion:&lt;/strong&gt; When it comes to hyperlink fields, your strategy should be either to filter on a different field if possible, or handle it in the flow. If you must do it at the source, be prepared to use the HTTP action with CAML queries (which is beyond beginner level and has its own complexities).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;46407&quot; data-start=&quot;46348&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Filtering a Managed Metadata (Tag) Column (Single Value)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;47001&quot; data-start=&quot;46409&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;46437&quot; data-start=&quot;46409&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; Managed Metadata columns (also known as taxonomy or tag columns) allow you to tag items with terms from a Term Store. Each value is a term with a unique ID (GUID) and a textual Label. In a single-value managed metadata column, each item can have at most one term selected. The data stored is a special taxonomy field type, and SharePoint also maintains hidden supporting columns (like a text field with “Term|GUID” and a hidden list that maps terms, etc.). Importantly, the SharePoint REST API doesn’t treat the term label or ID like a normal field for filtering.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;47300&quot; data-start=&quot;47003&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;47047&quot; data-start=&quot;47003&quot;&gt;Filter Query (Managed Metadata Example):&lt;/strong&gt; &lt;em data-end=&quot;47127&quot; data-start=&quot;47048&quot;&gt;Direct filtering on a taxonomy field is not possible with OData in Get items.&lt;/em&gt; If your column is &lt;strong data-end=&quot;47163&quot; data-start=&quot;47146&quot;&gt;“CategoryTag”&lt;/strong&gt; and you try &lt;code data-end=&quot;47204&quot; data-start=&quot;47176&quot;&gt;CategoryTag eq &#39;Financial&#39;&lt;/code&gt; or any variant, it will not work (the field is complex, and SharePoint will reject the query).&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;47842&quot; data-start=&quot;47302&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;However, there is a known workaround using a hidden column called &lt;strong data-end=&quot;47383&quot; data-start=&quot;47368&quot;&gt;TaxCatchAll&lt;/strong&gt;. SharePoint’s Taxonomy feature populates a hidden multi-value field TaxCatchAll on each item with references to all terms used (across any taxonomy fields on that item). This field has sub-properties like &lt;code data-end=&quot;47595&quot; data-start=&quot;47589&quot;&gt;Term&lt;/code&gt; (the term’s text) and &lt;code data-end=&quot;47622&quot; data-start=&quot;47618&quot;&gt;ID&lt;/code&gt; (a lookup ID to a hidden Taxonomy list). We can leverage this to filter items that have a given term. For example, to find items where the CategoryTag is “Finance” (or any taxonomy field on the item contains &quot;Finance&quot;):&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;47886&quot; data-start=&quot;47844&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;TaxCatchAll/Term eq &#39;Finance&#39;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;or &lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;TaxCatchAll/IdForTerm eq &#39;[GUID of Finance]&#39;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;48160&quot; data-start=&quot;47888&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This will return items that have the term &lt;strong data-end=&quot;47941&quot; data-start=&quot;47930&quot;&gt;Finance&lt;/strong&gt; applied [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=3,more%20complex%20and%20may%20involve&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=3,more%20complex%20and%20may%20involve&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=TaxCatchAll%C2%A0%28taxonomy%20catch%20all%20virtual%20column%29,Group_x0020_Membership%2FTitle%20eq%20%27MDEN&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=TaxCatchAll%C2%A0%28taxonomy%20catch%20all%20virtual%20column%29,Group_x0020_Membership%2FTitle%20eq%20%27MDEN&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. We’re essentially asking SharePoint: in the TaxCatchAll bag of terms for the item, is there one whose Term (text) equals &quot;Finance&quot;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;48183&quot; data-start=&quot;48162&quot;&gt;&lt;strong data-end=&quot;48183&quot; data-start=&quot;48162&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;54032&quot; data-start=&quot;48185&quot;&gt;
&lt;li data-end=&quot;48837&quot; data-start=&quot;48185&quot;&gt;
&lt;p data-end=&quot;48837&quot; data-start=&quot;48187&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;48209&quot; data-start=&quot;48187&quot;&gt;Broad vs Specific:&lt;/strong&gt; &lt;code data-end=&quot;48241&quot; data-start=&quot;48210&quot;&gt;TaxCatchAll/Term eq &#39;Finance&#39;&lt;/code&gt; doesn’t specifically target the &lt;em data-end=&quot;48287&quot; data-start=&quot;48274&quot;&gt;CategoryTag&lt;/em&gt; column – it targets any term on the item with that label. If the item has another taxonomy column that also could have a “Finance” term, it would still be returned. In many cases, you might only have one taxonomy column, so it’s fine. If you have multiple, this query might over-include, in this case, using&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: arial; white-space: pre;&quot;&gt;TaxCatchAll/IdForTerm will be the better option&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li data-end=&quot;49369&quot; data-start=&quot;48838&quot;&gt;
&lt;p data-end=&quot;49369&quot; data-start=&quot;48840&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;48869&quot; data-start=&quot;48840&quot;&gt;Single vs multi taxonomy:&lt;/strong&gt; For single-value taxonomy fields, each item has at most one term in that field, but TaxCatchAll is still multi-valued (it holds an array of terms from all taxonomy fields). For multi-value taxonomy (covered next section), an item can have multiple terms from one field, but from TaxCatchAll perspective it’s all just additional entries in the same bag. So the approach using TaxCatchAll works for both single and multi – it’s basically “does the item have this term anywhere in its taxonomy fields”.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;50044&quot; data-start=&quot;49370&quot;&gt;
&lt;p data-end=&quot;50044&quot; data-start=&quot;49372&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;49394&quot; data-start=&quot;49372&quot;&gt;Term text vs GUID:&lt;/strong&gt; We used the term’s text (label) in the query. That is often sufficient and more human-readable. But beware of duplicates: if two different terms in the term store have the same name (even in different term sets), &lt;code data-end=&quot;49639&quot; data-start=&quot;49608&quot;&gt;TaxCatchAll/Term eq &#39;Finance&#39;&lt;/code&gt; will fetch items tagged with either one. If you need to distinguish terms with the same label, you might need to filter by the Term’s ID (GUID). However, the TaxCatchAll data doesn’t expose the GUID directly, only an ID which is a lookup ID in a hidden list. Not trivial to use in OData. In such cases, using an HTTP request with CAML might be easier, where you can specify the value’s GUID in the query.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;50640&quot; data-start=&quot;50045&quot;&gt;
&lt;p data-end=&quot;50640&quot; data-start=&quot;50047&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;50073&quot; data-start=&quot;50047&quot;&gt;CAML/HTTP alternative:&lt;/strong&gt; SharePoint’s CAML query can filter taxonomy fields by their GUID or by the term label within a specific field. If you absolutely need precision (e.g., “CategoryTag contains Finance term specifically”), you could consider an HTTP action with a CAML like:&lt;br data-end=&quot;50330&quot; data-start=&quot;50327&quot; /&gt;
&lt;code data-end=&quot;50422&quot; data-start=&quot;50332&quot;&gt;&amp;lt;Where&amp;gt;&amp;lt;Eq&amp;gt;&amp;lt;FieldRef Name=&#39;CategoryTag&#39;/&amp;gt;&amp;lt;Value Type=&#39;Text&#39;&amp;gt;Finance&amp;lt;/Value&amp;gt;&amp;lt;/Eq&amp;gt;&amp;lt;/Where&amp;gt;&lt;/code&gt;&lt;br data-end=&quot;50425&quot; data-start=&quot;50422&quot; /&gt;
But actually, because taxonomy fields store a “Label|GUID” in a hidden note field, a CAML might need to use &lt;code data-end=&quot;50547&quot; data-start=&quot;50535&quot;&gt;&amp;lt;Contains&amp;gt;&lt;/code&gt; on that hidden note. It gets complicated and often not worth it unless absolutely necessary.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;51422&quot; data-start=&quot;50641&quot;&gt;
&lt;p data-end=&quot;51422&quot; data-start=&quot;50643&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;50671&quot; data-start=&quot;50643&quot;&gt;Indexing and thresholds:&lt;/strong&gt; Managed Metadata columns are treated like lookup columns (each term is essentially a lookup to the term store’s data). SharePoint does &lt;strong data-end=&quot;50829&quot; data-start=&quot;50807&quot;&gt;not allow indexing&lt;/strong&gt; on a taxonomy field. This means any filter on taxonomy fields is non-indexed. If your list is beyond 5000 items, a direct filter like &lt;code data-end=&quot;50995&quot; data-start=&quot;50964&quot;&gt;TaxCatchAll/Term eq &#39;Finance&#39;&lt;/code&gt; may fail once the list hits the threshold (because it’s effectively filtering on a multi-value lookup without an index). If you expect a large list, consider filtering by some other criteria first (like a date or a location that narrows it down) and maybe combine with the term filter if possible. Or use the HTTP + CAML approach, which might handle larger sets (CAML can query by indexed columns first then filter by others).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;51623&quot; data-start=&quot;51423&quot;&gt;
&lt;p data-end=&quot;51623&quot; data-start=&quot;51425&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;51441&quot; data-start=&quot;51425&quot;&gt;Performance:&lt;/strong&gt; Even on smaller lists, the TaxCatchAll approach might be slower than a normal filter, because it has to join with the hidden taxonomy data. But it’s usually fine for moderate sizes.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;51778&quot; data-start=&quot;51624&quot;&gt;
&lt;p data-end=&quot;51778&quot; data-start=&quot;51626&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;51639&quot; data-start=&quot;51626&quot;&gt;Security:&lt;/strong&gt; Managed metadata filters via TaxCatchAll should only return items the user (or flow’s connection) has access to, just like normal filters.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;52239&quot; data-start=&quot;51779&quot;&gt;
&lt;p data-end=&quot;52239&quot; data-start=&quot;51781&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;51827&quot; data-start=&quot;51781&quot;&gt;Multiple terms in one item (single field):&lt;/strong&gt; If an item has the term &quot;Finance&quot; and &quot;Budget&quot; in a multi-value field, the query &lt;code data-end=&quot;51928&quot; data-start=&quot;51909&quot;&gt;Term eq &#39;Finance&#39;&lt;/code&gt; will still return that item (because one of its terms is Finance). That’s expected. If you needed items that have &lt;em data-end=&quot;52049&quot; data-start=&quot;52043&quot;&gt;both&lt;/em&gt; Finance &lt;em data-end=&quot;52063&quot; data-start=&quot;52058&quot;&gt;and&lt;/em&gt; another specific term together, that’s beyond what OData can do directly – you’d need to filter one term and then post-filter for the other in flow, or something of that sort.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;52507&quot; data-start=&quot;52240&quot;&gt;
&lt;p data-end=&quot;52507&quot; data-start=&quot;52242&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;52286&quot; data-start=&quot;52242&quot;&gt;Pitfall – using the field name directly:&lt;/strong&gt; Some might try &lt;code data-end=&quot;52334&quot; data-start=&quot;52302&quot;&gt;CategoryTag/Label eq &#39;Finance&#39;&lt;/code&gt; or &lt;code data-end=&quot;52364&quot; data-start=&quot;52338&quot;&gt;CategoryTag eq &#39;Finance&#39;&lt;/code&gt;. This will not work; the field doesn’t expose a property for label or ID via the OData filter. Always go through TaxCatchAll or an HTTP query.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;53306&quot; data-start=&quot;52508&quot;&gt;
&lt;p data-end=&quot;53306&quot; data-start=&quot;52510&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;52522&quot; data-start=&quot;52510&quot;&gt;Example:&lt;/strong&gt; Let’s say you have a “Topic” column (taxonomy) and you want all items tagged with “Safety”. Use &lt;code data-end=&quot;52649&quot; data-start=&quot;52619&quot;&gt;TaxCatchAll/Term eq &#39;Safety&#39;&lt;/code&gt;. That will bring items where any taxonomy field has &quot;Safety&quot;. If you have only the Topic field that uses such terms, you’re good. If you also have another taxonomy field “DepartmentTags” that could also have a &quot;Safety&quot; term (maybe in a different term set), those items will also come. If that’s a concern, and if at least the term sets are distinct enough that the term labels don’t overlap, you might be okay. If not, you may need to refine the approach (like filter by TermSet via the lookup ID, which might be possible by filtering TaxCatchAll/ID – but identifying the correct ID is complex since it refers to an entry in the hidden TaxonomyHiddenList).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;53584&quot; data-start=&quot;53307&quot;&gt;
&lt;p data-end=&quot;53584&quot; data-start=&quot;53309&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;53340&quot; data-start=&quot;53309&quot;&gt;No partial matches on term:&lt;/strong&gt; &lt;code data-end=&quot;53359&quot; data-start=&quot;53341&quot;&gt;TaxCatchAll/Term&lt;/code&gt; uses eq, so it’s exact match of the term text. There is no startswith or contains for terms in OData filter. If you needed something like “terms that contain &#39;Finance&#39; in the name”, you’d have to retrieve and filter in flow.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;54032&quot; data-start=&quot;53585&quot;&gt;
&lt;p data-end=&quot;54032&quot; data-start=&quot;53587&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;53599&quot; data-start=&quot;53587&quot;&gt;Summary:&lt;/strong&gt; For a beginner, the key takeaway is: &lt;em data-end=&quot;53705&quot; data-start=&quot;53637&quot;&gt;You generally cannot filter directly on a Managed Metadata column.&lt;/em&gt; The practical solution for basic needs is to use &lt;code data-end=&quot;53791&quot; data-start=&quot;53755&quot;&gt;TaxCatchAll/Term eq &#39;YourTermName&#39;&lt;/code&gt; to get items tagged with that term [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=3,more%20complex%20and%20may%20involve&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=3,more%20complex%20and%20may%20involve&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Just remember its limitations. If your scenario is too complex for this, it might be beyond “beginner” territory and require more advanced queries or design changes.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;54087&quot; data-start=&quot;54034&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Filtering a Managed Metadata Column (Multi-Select)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;54443&quot; data-start=&quot;54089&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;54117&quot; data-start=&quot;54089&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; A multi-select Managed Metadata column allows multiple terms (tags) to be assigned to an item from the term set. This behaves conceptually like a multi-choice, but with terms. In an item’s data, it could have an array of terms, each with a label and GUID. SharePoint will list all those terms in the TaxCatchAll for the item.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;54653&quot; data-start=&quot;54445&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;54495&quot; data-start=&quot;54445&quot;&gt;Filter Query (Managed Metadata Multi Example):&lt;/strong&gt; The approach is the same as for single-value: use TaxCatchAll. If we want items that have (at least) the term &lt;strong data-end=&quot;54623&quot; data-start=&quot;54606&quot;&gt;“IT Services”&lt;/strong&gt; in a multi-tags field, we do:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;54701&quot; data-start=&quot;54655&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;TaxCatchAll/Term eq &#39;IT Services&#39;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;54974&quot; data-start=&quot;54703&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This will return any item that has &quot;IT Services&quot; as one of its tags (or any term with that exact text) [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=TaxCatchAll%C2%A0%28taxonomy%20catch%20all%20virtual%20column%29,Group_x0020_Membership%2FTitle%20eq%20%27MDEN&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=TaxCatchAll%C2%A0%28taxonomy%20catch%20all%20virtual%20column%29,Group_x0020_Membership%2FTitle%20eq%20%27MDEN&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. It does not matter if the column allows one or many – the query doesn’t change. It finds the term in the item’s term collection.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;54997&quot; data-start=&quot;54976&quot;&gt;&lt;strong data-end=&quot;54997&quot; data-start=&quot;54976&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;59145&quot; data-start=&quot;54999&quot;&gt;
&lt;li data-end=&quot;55312&quot; data-start=&quot;54999&quot;&gt;
&lt;p data-end=&quot;55312&quot; data-start=&quot;55001&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;55041&quot; data-start=&quot;55001&quot;&gt;Inherits all the single-value notes:&lt;/strong&gt; All the caveats mentioned for single-value taxonomy apply here as well: no direct field filtering, uses TaxCatchAll, watch out for duplicate term names, no indexing, etc. In fact, TaxCatchAll was designed to handle multi-value taxonomy, so it’s exactly what we leverage.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;56268&quot; data-start=&quot;55313&quot;&gt;
&lt;p data-end=&quot;56268&quot; data-start=&quot;55315&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;55356&quot; data-start=&quot;55315&quot;&gt;Multiple terms matching vs all terms:&lt;/strong&gt; The query &lt;code data-end=&quot;55380&quot; data-start=&quot;55367&quot;&gt;Term eq &#39;X&#39;&lt;/code&gt; checks for at least one occurrence. If you need items that have &lt;em data-end=&quot;55450&quot; data-start=&quot;55445&quot;&gt;all&lt;/em&gt; of a set of terms (e.g., items tagged with &lt;em data-end=&quot;55500&quot; data-start=&quot;55494&quot;&gt;both&lt;/em&gt; &quot;IT Services&quot; and &quot;HR&quot;), OData can’t do an “AND” on two occurrences of TaxCatchAll easily because it would interpret it as needing one term that equals X and another term that equals Y &lt;em data-end=&quot;55704&quot; data-start=&quot;55686&quot;&gt;in the same item&lt;/em&gt;. If you try something like &lt;code data-end=&quot;55800&quot; data-start=&quot;55732&quot;&gt;(TaxCatchAll/Term eq &#39;IT Services&#39;) and (TaxCatchAll/Term eq &#39;HR&#39;)&lt;/code&gt;, the query will likely return nothing, because no single term in the catch-all can be both &quot;IT Services&quot; and &quot;HR&quot; simultaneously. The filter doesn’t understand it should look at two different terms. To achieve an “AND” of tags, you’d again have to retrieve items with one tag and then filter for the second tag in flow, or use a different strategy (maybe an alternate field that tracks combined tags, etc.). Generally, filtering by multiple required tags is advanced.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;56657&quot; data-start=&quot;56269&quot;&gt;
&lt;p data-end=&quot;56657&quot; data-start=&quot;56271&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;56287&quot; data-start=&quot;56271&quot;&gt;OR of terms:&lt;/strong&gt; On the other hand, if you want items that have either &quot;IT Services&quot; &lt;strong data-end=&quot;56362&quot; data-start=&quot;56356&quot;&gt;or&lt;/strong&gt; &quot;HR&quot;, you can do &lt;code data-end=&quot;56447&quot; data-start=&quot;56380&quot;&gt;(TaxCatchAll/Term eq &#39;IT Services&#39;) or (TaxCatchAll/Term eq &#39;HR&#39;)&lt;/code&gt;. This should return items that have either term (or both). It basically checks if there exists a term equal to IT Services or exists a term equal to HR. This is a valid approach for an “inclusive OR” of terms.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;56820&quot; data-start=&quot;56658&quot;&gt;
&lt;p data-end=&quot;56820&quot; data-start=&quot;56660&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;56691&quot; data-start=&quot;56660&quot;&gt;Performance of multiple or:&lt;/strong&gt; Combining multiple OR conditions on TaxCatchAll might get slow if there are many terms. But if just a couple, it should be fine.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;57117&quot; data-start=&quot;56821&quot;&gt;
&lt;p data-end=&quot;57117&quot; data-start=&quot;56823&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;56840&quot; data-start=&quot;56823&quot;&gt;Term subsets:&lt;/strong&gt; If you wanted to filter by any term under a certain parent in the term hierarchy – e.g., any term under &quot;Technology&quot; – OData filter won’t do that (you’d have to retrieve all and filter by term path maybe in code, or query the term store separately). That’s beyond OData scope.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;57632&quot; data-start=&quot;57118&quot;&gt;
&lt;p data-end=&quot;57632&quot; data-start=&quot;57120&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;57155&quot; data-start=&quot;57120&quot;&gt;Check for empty taxonomy field:&lt;/strong&gt; If you want items where the taxonomy field has no value (i.e., no terms selected), you can filter on the column’s &lt;strong data-end=&quot;57279&quot; data-start=&quot;57270&quot;&gt;value&lt;/strong&gt; being null. E.g. &lt;code data-end=&quot;57318&quot; data-start=&quot;57297&quot;&gt;CategoryTag eq null&lt;/code&gt; &lt;em data-end=&quot;57326&quot; data-start=&quot;57319&quot;&gt;might&lt;/em&gt; work (I say &quot;might&quot; because taxonomy fields often come through as an object – but if it’s empty it’s likely null). Alternatively, &lt;code data-end=&quot;57483&quot; data-start=&quot;57457&quot;&gt;TaxCatchAll/Term eq &#39; &#39; &lt;/code&gt; (an impossible term) wouldn’t really help. Stick to &lt;code data-end=&quot;57557&quot; data-start=&quot;57536&quot;&gt;CategoryTag eq null&lt;/code&gt; in the OData filter; that usually returns items with no tag in that field.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;57986&quot; data-start=&quot;57633&quot;&gt;
&lt;p data-end=&quot;57986&quot; data-start=&quot;57635&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;57648&quot; data-start=&quot;57635&quot;&gt;Examples:&lt;/strong&gt; If a list item’s multi-tags have [&quot;IT Services&quot;, &quot;Networking&quot;], the query &lt;code data-end=&quot;57746&quot; data-start=&quot;57723&quot;&gt;Term eq &#39;IT Services&#39;&lt;/code&gt; will catch it. The query &lt;code data-end=&quot;57794&quot; data-start=&quot;57772&quot;&gt;Term eq &#39;Networking&#39;&lt;/code&gt; will also catch it. Both together with OR will catch it (duplicate, but results are unique items anyway). An AND of both would miss it because no single term entry equals both (as explained).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;58283&quot; data-start=&quot;57987&quot;&gt;
&lt;p data-end=&quot;58283&quot; data-start=&quot;57989&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;58022&quot; data-start=&quot;57989&quot;&gt;Pitfall – partial term names:&lt;/strong&gt; Just to reiterate, you cannot do partial matches like &lt;code data-end=&quot;58119&quot; data-start=&quot;58077&quot;&gt;substringof(&#39;Service&#39;, TaxCatchAll/Term)&lt;/code&gt; in the Get items filter – it doesn’t support using functions on the TaxCatchAll multi-value like that (and likely would error out). So you need the full term name.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;59004&quot; data-start=&quot;58284&quot;&gt;
&lt;p data-end=&quot;59004&quot; data-start=&quot;58286&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;58317&quot; data-start=&quot;58286&quot;&gt;When taxonomy filter fails:&lt;/strong&gt; If you attempt the TaxCatchAll approach on a list over 5000 items and get an error or empty result, you likely hit the threshold. There’s not an easy fix except to reduce scope or use other filters in combination. One trick: if your term column itself is configured as &lt;strong data-end=&quot;58598&quot; data-start=&quot;58587&quot;&gt;indexed&lt;/strong&gt; in the term store (this is separate from list indexing – term store has something called tagging or pinned terms?), it doesn’t matter, SharePoint still doesn’t index at list item level for query. So no relief there. You could consider maintaining a shadow choice column that replicates the tags (if your term set is somewhat static and not too large). But again, that’s a workaround outside of pure OData.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;59145&quot; data-start=&quot;59005&quot;&gt;
&lt;p data-end=&quot;59145&quot; data-start=&quot;59007&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;59019&quot; data-start=&quot;59007&quot;&gt;Wrap-up:&lt;/strong&gt; Use the TaxCatchAll technique for simple “has this term” queries, but manage expectations for more complex taxonomy queries.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;59195&quot; data-start=&quot;59147&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Example: Combining Multiple Filter Conditions&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;59548&quot; data-start=&quot;59197&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;So far we’ve looked at filtering by one column at a time. In real-world scenarios, you often need to filter by &lt;strong data-end=&quot;59344&quot; data-start=&quot;59308&quot;&gt;multiple criteria simultaneously&lt;/strong&gt; – for instance, “Title contains X &lt;strong data-end=&quot;59386&quot; data-start=&quot;59379&quot;&gt;and&lt;/strong&gt; Status is Y &lt;strong data-end=&quot;59406&quot; data-start=&quot;59399&quot;&gt;and&lt;/strong&gt; Created after Z”. OData filter queries support combining conditions with &lt;code data-end=&quot;59485&quot; data-start=&quot;59480&quot;&gt;and&lt;/code&gt; / &lt;code data-end=&quot;59492&quot; data-start=&quot;59488&quot;&gt;or&lt;/code&gt; as discussed in the basics. Let’s build a full example:&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;59833&quot; data-start=&quot;59550&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;59563&quot; data-start=&quot;59550&quot;&gt;Scenario:&lt;/strong&gt; We have a SharePoint list of projects with columns: &lt;strong data-end=&quot;59625&quot; data-start=&quot;59616&quot;&gt;Title&lt;/strong&gt; (Text), &lt;strong data-end=&quot;59644&quot; data-start=&quot;59634&quot;&gt;Status&lt;/strong&gt; (Choice), &lt;strong data-end=&quot;59668&quot; data-start=&quot;59655&quot;&gt;StartDate&lt;/strong&gt; (Date), and &lt;strong data-end=&quot;59693&quot; data-start=&quot;59681&quot;&gt;Approved&lt;/strong&gt; (Yes/No). We want a view of projects where Title contains “Alpha”, Status is “Active”, StartDate is after Jan 1, 2023, and Approved is Yes.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;59874&quot; data-start=&quot;59835&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;59852&quot; data-start=&quot;59835&quot;&gt;Filter Query:&lt;/strong&gt; We can write this as:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;60004&quot; data-start=&quot;59876&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;substringof(&#39;Alpha&#39;, Title) and Status eq &#39;Active&#39; and StartDate ge datetime&#39;2023-01-01T00:00:00Z&#39; and Approved eq 1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;60023&quot; data-start=&quot;60006&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Breaking it down:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-end=&quot;60367&quot; data-start=&quot;60024&quot;&gt;
&lt;li data-end=&quot;60110&quot; data-start=&quot;60024&quot;&gt;
&lt;p data-end=&quot;60110&quot; data-start=&quot;60026&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;code data-end=&quot;60055&quot; data-start=&quot;60026&quot;&gt;substringof(&#39;Alpha&#39;, Title)&lt;/code&gt; – &lt;strong data-end=&quot;60084&quot; data-start=&quot;60058&quot;&gt;Title contains &quot;Alpha&quot;&lt;/strong&gt; (anywhere in the title)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;60164&quot; data-start=&quot;60111&quot;&gt;
&lt;p data-end=&quot;60164&quot; data-start=&quot;60113&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;code data-end=&quot;60133&quot; data-start=&quot;60113&quot;&gt;Status eq &#39;Active&#39;&lt;/code&gt; – &lt;strong data-end=&quot;60162&quot; data-start=&quot;60136&quot;&gt;Status equals &quot;Active&quot;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;60294&quot; data-start=&quot;60165&quot;&gt;
&lt;p data-end=&quot;60294&quot; data-start=&quot;60167&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;code data-end=&quot;60212&quot; data-start=&quot;60167&quot;&gt;StartDate ge datetime&#39;2023-01-01T00:00:00Z&#39;&lt;/code&gt; – &lt;strong data-end=&quot;60252&quot; data-start=&quot;60215&quot;&gt;StartDate on or after Jan 1, 2023&lt;/strong&gt; (we used ge with midnight of that date)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;60367&quot; data-start=&quot;60295&quot;&gt;
&lt;p data-end=&quot;60367&quot; data-start=&quot;60297&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;code data-end=&quot;60312&quot; data-start=&quot;60297&quot;&gt;Approved eq 1&lt;/code&gt; – &lt;strong data-end=&quot;60334&quot; data-start=&quot;60315&quot;&gt;Approved is Yes&lt;/strong&gt; (remember 1 = true for Yes/No)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;60461&quot; data-start=&quot;60369&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;All conditions are combined with &lt;code data-end=&quot;60407&quot; data-start=&quot;60402&quot;&gt;and&lt;/code&gt;, meaning an item must meet &lt;em data-end=&quot;60445&quot; data-start=&quot;60435&quot;&gt;all four&lt;/em&gt; to be returned.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;60729&quot; data-start=&quot;60463&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;We could also add parentheses for clarity, but since it’s all ANDs, it’s not strictly necessary. It might look like: &lt;code data-end=&quot;60706&quot; data-start=&quot;60580&quot;&gt;(substringof(&#39;Alpha&#39;, Title)) and (Status eq &#39;Active&#39;) and (StartDate ge datetime&#39;2023-01-01T00:00:00Z&#39;) and (Approved eq 1)&lt;/code&gt; – which is equivalent.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;61241&quot; data-start=&quot;60731&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;60764&quot; data-start=&quot;60731&quot;&gt;Using this in Power Automate:&lt;/strong&gt; You would paste this string into the &lt;strong data-end=&quot;60818&quot; data-start=&quot;60802&quot;&gt;Filter Query&lt;/strong&gt; field of Get items. Ensure there are no extra quotes around the whole thing (the field itself should just contain the query, not &lt;code data-end=&quot;60957&quot; data-start=&quot;60948&quot;&gt;&quot;query&quot;&lt;/code&gt; in quotes). Also, be careful with the single quotes inside the query when writing in Power Automate: You often need to use single quotes around values. In this example, the query already uses single quotes correctly. If you build it dynamically, don’t accidentally double quote them.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;61262&quot; data-start=&quot;61243&quot;&gt;&lt;strong data-end=&quot;61262&quot; data-start=&quot;61243&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Things to note:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;63480&quot; data-start=&quot;61263&quot;&gt;
&lt;li data-end=&quot;61353&quot; data-start=&quot;61263&quot;&gt;
&lt;p data-end=&quot;61353&quot; data-start=&quot;61265&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;We utilized a text function &lt;code data-end=&quot;61306&quot; data-start=&quot;61293&quot;&gt;substringof&lt;/code&gt; alongside simple comparisons. This is allowed.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;61929&quot; data-start=&quot;61354&quot;&gt;
&lt;p data-end=&quot;61929&quot; data-start=&quot;61356&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;If we needed an OR condition (e.g., Status is Active &lt;strong data-end=&quot;61415&quot; data-start=&quot;61409&quot;&gt;or&lt;/strong&gt; Active (Delayed) perhaps), we’d use or, but then grouping becomes important. For example: &lt;code data-end=&quot;61580&quot; data-start=&quot;61506&quot;&gt;(Status eq &#39;Active&#39;) or (Status eq &#39;Active (Delayed)&#39;) and Approved eq 1&lt;/code&gt;. Due to operator precedence, that query would be interpreted as everything with Status &#39;Active&#39; &lt;strong data-end=&quot;61683&quot; data-start=&quot;61677&quot;&gt;or&lt;/strong&gt; (Status &#39;Active (Delayed)&#39; and Approved is Yes). If you intended the Approved Yes to apply to both, you should group: &lt;code data-end=&quot;61878&quot; data-start=&quot;61802&quot;&gt;((Status eq &#39;Active&#39;) or (Status eq &#39;Active (Delayed)&#39;)) and Approved eq 1&lt;/code&gt;. Always use parentheses to clarify intended logic.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;62925&quot; data-start=&quot;61930&quot;&gt;
&lt;p data-end=&quot;62925&quot; data-start=&quot;61932&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;61962&quot; data-start=&quot;61932&quot;&gt;Delegation considerations:&lt;/strong&gt; If any part of this combined filter is non-delegable (for instance, &lt;code data-end=&quot;62044&quot; data-start=&quot;62031&quot;&gt;substringof&lt;/code&gt; on Title in SharePoint is not indexed, but SharePoint &lt;strong data-end=&quot;62107&quot; data-start=&quot;62099&quot;&gt;does&lt;/strong&gt; allow that filter up to 5000 items; it’s not strictly “delegation” since this is server-side already. Let’s just say if Title isn’t indexed and the list is huge, this might falter). If you had an indexed field in there (Status could be indexed if choice, StartDate could be indexed if date), SharePoint might still not execute if the first part of the filter it sees is substringof. Unfortunately, SharePoint’s query engine doesn’t always smartly use the indexed part when using functions on another part. A trick is to reorder conditions to put an indexed condition first (it sometimes helps). E.g., &lt;code data-end=&quot;62827&quot; data-start=&quot;62709&quot;&gt;StartDate ge datetime&#39;2023-01-01T00:00:00Z&#39; and substringof(&#39;Alpha&#39;, Title) and Status eq &#39;Active&#39; and Approved eq 1&lt;/code&gt;. It’s not guaranteed, but it might short-circuit some scanning. In any case, test on large lists.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;63222&quot; data-start=&quot;62926&quot;&gt;
&lt;p data-end=&quot;63222&quot; data-start=&quot;62928&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;62960&quot; data-start=&quot;62928&quot;&gt;Testing the combined filter:&lt;/strong&gt; It can be helpful to first test simpler subsets (e.g. confirm &lt;code data-end=&quot;63052&quot; data-start=&quot;63023&quot;&gt;substringof(&#39;Alpha&#39;, Title)&lt;/code&gt; returns expected, then add &lt;code data-end=&quot;63100&quot; data-start=&quot;63080&quot;&gt;Status eq &#39;Active&#39;&lt;/code&gt;, etc.) to isolate if something is off. Common errors in combined filters are usually typos or missing quotes/parentheses.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;63480&quot; data-start=&quot;63223&quot;&gt;
&lt;p data-end=&quot;63480&quot; data-start=&quot;63225&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;63244&quot; data-start=&quot;63225&quot;&gt;Flow debugging:&lt;/strong&gt; If the Filter Query is invalid, the Get items action will fail with a bad request error usually telling you “Invalid filter clause”. The error might point to the problematic segment. Double-check internal names and syntax in that case.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;63960&quot; data-start=&quot;63482&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;63526&quot; data-start=&quot;63482&quot;&gt;Applicability to “Get files” and others:&lt;/strong&gt; The above example would work similarly in a Get files (properties only) action if those were columns on a document library (Title in a library might be the name or a separate Title field, Status and Approved could be custom columns, etc.). Just remember to adjust field names as needed. For file system, the filter might be on FileLeafRef (the internal name for file name) for example. But the syntax and idea remain OData compliant.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;64372&quot; data-start=&quot;63962&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;In summary, combining conditions lets you create powerful queries to slice your data in one go. Always use proper parentheses and be mindful of internal names. With a bit of practice, you can represent quite complex logic directly in the Filter Query, making your flow far more efficient than pulling everything and filtering later [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2018/11/12/microsoft-flow-filter-queries-in-sharepoint-get-items/#:~:text=The%20Better%20Way%20with%20a,SharePoint%20OData%20filter%20query&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2018/11/12/microsoft-flow-filter-queries-in-sharepoint-get-items/#:~:text=The%20Better%20Way%20with%20a,SharePoint%20OData%20filter%20query&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=8,to%20filter%20the%20data%20further&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=8,to%20filter%20the%20data%20further&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-end=&quot;64402&quot; data-start=&quot;64374&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes and Common Pitfalls&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;64517&quot; data-start=&quot;64404&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Before we conclude, here’s a summary of common issues and tips when using OData filter queries in Power Automate:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-end=&quot;69473&quot; data-start=&quot;64519&quot;&gt;
&lt;li data-end=&quot;64884&quot; data-start=&quot;64519&quot;&gt;
&lt;p data-end=&quot;64884&quot; data-start=&quot;64521&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;64555&quot; data-start=&quot;64521&quot;&gt;Internal Name vs Display Name:&lt;/strong&gt; This bears repeating – always use the internal column name in the query [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=4,Gabriel%20Mongefranco%27%20and%20UniqName%C2%A0eq%20%27mongefrg&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=4,Gabriel%20Mongefranco%27%20and%20UniqName%C2%A0eq%20%27mongefrg&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. If you get no results or an error, double-check the internal name (especially if the column was renamed or has spaces/special chars). The internal name can be found in the list’s URL when editing the column settings.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;65212&quot; data-start=&quot;64885&quot;&gt;
&lt;p data-end=&quot;65212&quot; data-start=&quot;64887&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;64913&quot; data-start=&quot;64887&quot;&gt;Quotes and Data Types:&lt;/strong&gt; Use single quotes around strings and date literals. Do &lt;em data-end=&quot;64974&quot; data-start=&quot;64969&quot;&gt;not&lt;/em&gt; use quotes around numbers or booleans. If a value itself contains a quote, escape it by doubling (&lt;code data-end=&quot;65086&quot; data-start=&quot;65073&quot;&gt;&#39;O&#39;&#39;Reilly&#39;&lt;/code&gt; for O&#39;Reilly). If you forget quotes around a text/date value, you’ll get an error &lt;em data-end=&quot;65187&quot; data-start=&quot;65169&quot;&gt;“Incorrect type”&lt;/em&gt; or &lt;em data-end=&quot;65211&quot; data-start=&quot;65191&quot;&gt;“Unexpected token”&lt;/em&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;65483&quot; data-start=&quot;65213&quot;&gt;
&lt;p data-end=&quot;65483&quot; data-start=&quot;65215&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;65236&quot; data-start=&quot;65215&quot;&gt;Case Sensitivity:&lt;/strong&gt; OData operators and functions must be lowercase (&lt;code data-end=&quot;65290&quot; data-start=&quot;65286&quot;&gt;eq&lt;/code&gt;, &lt;code data-end=&quot;65297&quot; data-start=&quot;65292&quot;&gt;and&lt;/code&gt;, &lt;code data-end=&quot;65312&quot; data-start=&quot;65299&quot;&gt;substringof&lt;/code&gt;, etc.). Also, function names like &lt;code data-end=&quot;65359&quot; data-start=&quot;65347&quot;&gt;startswith&lt;/code&gt; and &lt;code data-end=&quot;65377&quot; data-start=&quot;65364&quot;&gt;substringof&lt;/code&gt; are all lower case [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=4,day&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=4,day&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Using &lt;code data-end=&quot;65455&quot; data-start=&quot;65443&quot;&gt;StartsWith&lt;/code&gt; or &lt;code data-end=&quot;65472&quot; data-start=&quot;65459&quot;&gt;SubstringOf&lt;/code&gt; will fail.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;65739&quot; data-start=&quot;65484&quot;&gt;
&lt;p data-end=&quot;65739&quot; data-start=&quot;65486&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;65505&quot; data-start=&quot;65486&quot;&gt;Boolean Values:&lt;/strong&gt; Remember for SharePoint: &lt;code data-end=&quot;65537&quot; data-start=&quot;65531&quot;&gt;true&lt;/code&gt;/&lt;code data-end=&quot;65545&quot; data-start=&quot;65538&quot;&gt;false&lt;/code&gt; are not used in filter; use &lt;code data-end=&quot;65577&quot; data-start=&quot;65574&quot;&gt;1&lt;/code&gt;/&lt;code data-end=&quot;65581&quot; data-start=&quot;65578&quot;&gt;0&lt;/code&gt; for Yes/No columns [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=3,Title%20eq&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=3,Title%20eq&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. (In some other connectors like Dataverse, you might use true/false, but not in SharePoint’s case).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;65842&quot; data-start=&quot;65740&quot;&gt;
&lt;p data-end=&quot;65842&quot; data-start=&quot;65742&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;65758&quot; data-start=&quot;65742&quot;&gt;Null Checks:&lt;/strong&gt; To filter blanks, use &lt;code data-end=&quot;65796&quot; data-start=&quot;65781&quot;&gt;Field eq null&lt;/code&gt; or &lt;code data-end=&quot;65815&quot; data-start=&quot;65800&quot;&gt;Field ne null&lt;/code&gt;. Don’t put null in quotes.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;66157&quot; data-start=&quot;65843&quot;&gt;
&lt;p data-end=&quot;66157&quot; data-start=&quot;65845&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;65879&quot; data-start=&quot;65845&quot;&gt;Multiple Choice/Lookup/People:&lt;/strong&gt; These multi-valued fields don’t support direct equals comparison for a single value [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=Query%20for%20multi,and%20users&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=Query%20for%20multi,and%20users&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;learn.microsoft.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Use workarounds like substringof for multi-choice text or the &lt;code data-end=&quot;66074&quot; data-start=&quot;66066&quot;&gt;/Email&lt;/code&gt; or &lt;code data-end=&quot;66086&quot; data-start=&quot;66078&quot;&gt;/Title&lt;/code&gt; approach for multi-people, understanding the limitations as discussed.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;66615&quot; data-start=&quot;66158&quot;&gt;
&lt;p data-end=&quot;66615&quot; data-start=&quot;66160&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;66194&quot; data-start=&quot;66160&quot;&gt;Delegation and List Threshold:&lt;/strong&gt; If your filter query isn’t returning items you know exist, consider the list size and indexing. It could be that SharePoint is refusing to execute the query due to threshold. Check if the field is indexed. If not, try indexing it (if possible) or filtering on an indexed field in addition. Or break the query into two (e.g., filter by an indexed column in OData, then further filter in the flow for the finer condition).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;66864&quot; data-start=&quot;66616&quot;&gt;
&lt;p data-end=&quot;66864&quot; data-start=&quot;66618&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;66641&quot; data-start=&quot;66618&quot;&gt;Test incrementally:&lt;/strong&gt; If you have a complex filter that isn’t working, build it up piece by piece. Test each part in isolation (maybe in a separate Get items or using the REST API in a browser) to ensure each condition works, then combine them.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;67629&quot; data-start=&quot;66865&quot;&gt;
&lt;p data-end=&quot;66942&quot; data-start=&quot;66867&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;66887&quot; data-start=&quot;66867&quot;&gt;Special Columns:&lt;/strong&gt; A few columns have unique internal names or behaviors:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-end=&quot;67629&quot; data-start=&quot;66945&quot;&gt;
&lt;li data-end=&quot;67007&quot; data-start=&quot;66945&quot;&gt;
&lt;p data-end=&quot;67007&quot; data-start=&quot;66947&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Title field (default title) internal name is &lt;code data-end=&quot;66999&quot; data-start=&quot;66992&quot;&gt;Title&lt;/code&gt; (easy).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;67109&quot; data-start=&quot;67010&quot;&gt;
&lt;p data-end=&quot;67109&quot; data-start=&quot;67012&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The ID field (item ID) internal name is &lt;code data-end=&quot;67056&quot; data-start=&quot;67052&quot;&gt;ID&lt;/code&gt; (all caps). You can filter by ID, e.g., &lt;code data-end=&quot;67108&quot; data-start=&quot;67097&quot;&gt;ID eq 100&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;67266&quot; data-start=&quot;67112&quot;&gt;
&lt;p data-end=&quot;67266&quot; data-start=&quot;67114&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;For document libraries: the Name (file name) is stored in the &lt;code data-end=&quot;67189&quot; data-start=&quot;67176&quot;&gt;FileLeafRef&lt;/code&gt; field (internal). So to filter files by name: &lt;code data-end=&quot;67265&quot; data-start=&quot;67236&quot;&gt;FileLeafRef eq &#39;Report.pdf&#39;&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;67356&quot; data-start=&quot;67269&quot;&gt;
&lt;p data-end=&quot;67356&quot; data-start=&quot;67271&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The file’s Title (which is a separate field, often blank unless set) is just &lt;code data-end=&quot;67355&quot; data-start=&quot;67348&quot;&gt;Title&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;67540&quot; data-start=&quot;67359&quot;&gt;
&lt;p data-end=&quot;67540&quot; data-start=&quot;67361&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;“Modified” date internal is &lt;code data-end=&quot;67399&quot; data-start=&quot;67389&quot;&gt;Modified&lt;/code&gt;, “Created” is &lt;code data-end=&quot;67423&quot; data-start=&quot;67414&quot;&gt;Created&lt;/code&gt; (simple enough). But “Modified By” (a person field) is &lt;code data-end=&quot;67487&quot; data-start=&quot;67479&quot;&gt;Editor&lt;/code&gt; internally, and “Created By” is &lt;code data-end=&quot;67528&quot; data-start=&quot;67520&quot;&gt;Author&lt;/code&gt; internally.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;67629&quot; data-start=&quot;67543&quot;&gt;
&lt;p data-end=&quot;67629&quot; data-start=&quot;67545&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;If you use those in filter: e.g., &lt;code data-end=&quot;67609&quot; data-start=&quot;67579&quot;&gt;Author/EMail eq &#39;bob@co.com&#39;&lt;/code&gt; for created by Bob.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;67766&quot; data-start=&quot;67630&quot;&gt;
&lt;p data-end=&quot;67766&quot; data-start=&quot;67632&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;67649&quot; data-start=&quot;67632&quot;&gt;No wildcards:&lt;/strong&gt; There’s no wildcard &lt;code data-end=&quot;67673&quot; data-start=&quot;67670&quot;&gt;*&lt;/code&gt; or &lt;code data-end=&quot;67680&quot; data-start=&quot;67677&quot;&gt;?&lt;/code&gt; in OData filters. Use substringof or startswith for text contains or prefix matching.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;68225&quot; data-start=&quot;67767&quot;&gt;
&lt;p data-end=&quot;68225&quot; data-start=&quot;67769&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;67788&quot; data-start=&quot;67769&quot;&gt;Max characters:&lt;/strong&gt; The Filter Query field in Power Automate can hold quite a long string, but extremely long queries might hit a URL length limit on the SharePoint API (because behind scenes it’s constructing a REST URL). This usually isn’t an issue unless you try to filter on something like 50 values with ORs. If you find you’re approaching a URL length issue, consider alternative designs (maybe break into multiple queries or use a different method).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;68506&quot; data-start=&quot;68226&quot;&gt;
&lt;p data-end=&quot;68506&quot; data-start=&quot;68228&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;68241&quot; data-start=&quot;68228&quot;&gt;Encoding:&lt;/strong&gt; Power Automate should handle encoding of special URL characters for you (like spaces become &lt;code data-end=&quot;68339&quot; data-start=&quot;68334&quot;&gt;%20&lt;/code&gt; automatically in the call). If you manually put %20 in your filter string it’s not necessary – just use the raw characters as described (spaces, etc., within quotes).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;69014&quot; data-start=&quot;68507&quot;&gt;
&lt;p data-end=&quot;69014&quot; data-start=&quot;68509&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;68528&quot; data-start=&quot;68509&quot;&gt;Error messages:&lt;/strong&gt; An &lt;strong data-end=&quot;68559&quot; data-start=&quot;68532&quot;&gt;“Invalid filter clause”&lt;/strong&gt; error usually means syntax error or invalid field name or value type. An &lt;strong data-end=&quot;68668&quot; data-start=&quot;68633&quot;&gt;“Unsupported or invalid filter”&lt;/strong&gt; might mean you used an unsupported operation (like filtering on a hyperlink or multi-lookup). A &lt;strong data-end=&quot;68885&quot; data-start=&quot;68765&quot;&gt;“The query cannot be completed because the number of lookup columns it contains exceeds the lookup column threshold”&lt;/strong&gt; means your query tried to use too many lookup fields on a large list – reduce complexity or number of lookup columns referenced.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;69473&quot; data-start=&quot;69015&quot;&gt;
&lt;p data-end=&quot;69473&quot; data-start=&quot;69017&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;69035&quot; data-start=&quot;69017&quot;&gt;Other actions:&lt;/strong&gt; Remember, you can use the same filter syntax in &lt;strong data-end=&quot;69115&quot; data-start=&quot;69084&quot;&gt;Get files (properties only)&lt;/strong&gt; for libraries, in &lt;strong data-end=&quot;69147&quot; data-start=&quot;69134&quot;&gt;Get items&lt;/strong&gt; for Office365 Groups (though their fields differ), and in other connectors like Outlook messages (fields differ and not all functions are available). Always refer to that connector’s documentation for specifics. For SharePoint, Microsoft’s docs on OData filters are the go-to reference [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=OData%20query%20operators%20supported%20in,the%20SharePoint%20REST%20service&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=OData%20query%20operators%20supported%20in,the%20SharePoint%20REST%20service&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;learn.microsoft.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;69595&quot; data-start=&quot;69475&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;By keeping these tips in mind, you’ll avoid most of the common frustrations with OData filter queries in Power Automate.&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-end=&quot;69610&quot; data-start=&quot;69597&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;References&lt;/span&gt;&lt;/h2&gt;
&lt;ul data-end=&quot;72013&quot; data-start=&quot;69612&quot;&gt;
&lt;li data-end=&quot;70025&quot; data-start=&quot;69612&quot;&gt;
&lt;p data-end=&quot;70025&quot; data-start=&quot;69614&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;69675&quot; data-start=&quot;69614&quot;&gt;Microsoft Learn – Using OData Filters in SharePoint REST:&lt;/strong&gt; Official documentation on OData query operations in SharePoint REST API, including supported &lt;code data-end=&quot;69778&quot; data-start=&quot;69769&quot;&gt;$filter&lt;/code&gt; operators and examples [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=Use%20the%20%24filter%20query%20option,with%20the%20SharePoint%20REST%20service&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=Use%20the%20%24filter%20query%20option,with%20the%20SharePoint%20REST%20service&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;learn.microsoft.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=OData%20query%20operators%20supported%20in,the%20SharePoint%20REST%20service&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=OData%20query%20operators%20supported%20in,the%20SharePoint%20REST%20service&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;learn.microsoft.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. This covers how SharePoint handles filters for lookup fields, users, etc., and the limitations (e.g. no filtering multi-value lookups directly).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;70485&quot; data-start=&quot;70026&quot;&gt;
&lt;p data-end=&quot;70485&quot; data-start=&quot;70028&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;70150&quot; data-start=&quot;70028&quot;&gt;TeamDynamix Knowledge Base – &lt;em data-end=&quot;70147&quot; data-start=&quot;70059&quot;&gt;“How to use OData query filters in the SharePoint Get Items action for Power Automate”&lt;/em&gt;:&lt;/strong&gt; Gabriel Mongefranco’s detailed tutorial with examples for people fields, lookup fields, taxonomy, yes/no, etc. It explains using &lt;code data-end=&quot;70293&quot; data-start=&quot;70280&quot;&gt;TaxCatchAll&lt;/code&gt; for tags and cautions about multi-lookup filtering [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=3,more%20complex%20and%20may%20involve&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=3,more%20complex%20and%20may%20involve&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=4.%20Filter%20a%20single,PrimaryTeamEngagement%2FTitle%20eq%20%27Mobile%20Technologies%20Core&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=4.%20Filter%20a%20single,PrimaryTeamEngagement%2FTitle%20eq%20%27Mobile%20Technologies%20Core&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. A great resource for advanced SharePoint filtering scenarios.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;70859&quot; data-start=&quot;70486&quot;&gt;
&lt;p data-end=&quot;70859&quot; data-start=&quot;70488&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;70534&quot; data-start=&quot;70488&quot;&gt;Tom Riha – OData Filter Query Cheat Sheet:&lt;/strong&gt; A handy PDF cheat sheet that lists filter query syntax for various SharePoint column types (e.g., Yes/No as &lt;code data-end=&quot;70655&quot; data-start=&quot;70643&quot;&gt;Field eq 1&lt;/code&gt;, Person as &lt;code data-end=&quot;70692&quot; data-start=&quot;70667&quot;&gt;Person/Email eq &#39;value&#39;&lt;/code&gt;, Lookup as &lt;code data-end=&quot;70720&quot; data-start=&quot;70704&quot;&gt;FieldId eq 123&lt;/code&gt;) [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://tomriha.com/wp-content/uploads/2021/03/FilterQuery-Cheatsheet.pdf#:~:text=Lookup%20eq%20%27Lookup%20ID%27%20Lookup,ne%201%20ArchiveDocument%20eq%201&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://tomriha.com/wp-content/uploads/2021/03/FilterQuery-Cheatsheet.pdf#:~:text=Lookup%20eq%20%27Lookup%20ID%27%20Lookup,ne%201%20ArchiveDocument%20eq%201&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;tomriha.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://tomriha.com/wp-content/uploads/2021/03/FilterQuery-Cheatsheet.pdf#:~:text=Person%20or%20Group%20eq%20,&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://tomriha.com/wp-content/uploads/2021/03/FilterQuery-Cheatsheet.pdf#:~:text=Person%20or%20Group%20eq%20,&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;tomriha.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Good for quick reference when you forget the exact syntax.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;71274&quot; data-start=&quot;70860&quot;&gt;
&lt;p data-end=&quot;71274&quot; data-start=&quot;70862&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;70971&quot; data-start=&quot;70862&quot;&gt;SharePains by Pieter Veenstra – &lt;em data-end=&quot;70968&quot; data-start=&quot;70896&quot;&gt;“SharePoint OData filter query in Get items actions in Power Automate”&lt;/em&gt;:&lt;/strong&gt; A blog post illustrating the benefits of server-side filtering to optimize flows [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2018/11/12/microsoft-flow-filter-queries-in-sharepoint-get-items/#:~:text=A%20filter%20query%20is%20a,speed%20up%20the%20process%20dramatically&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2018/11/12/microsoft-flow-filter-queries-in-sharepoint-get-items/#:~:text=A%20filter%20query%20is%20a,speed%20up%20the%20process%20dramatically&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Includes tips like using parentheses in combined filters and examples of common filter strings. Helps reinforce best practices to avoid the “wrong way” of filtering after retrieval.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;71601&quot; data-start=&quot;71275&quot;&gt;
&lt;p data-end=&quot;71601&quot; data-start=&quot;71277&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;71336&quot; data-start=&quot;71277&quot;&gt;SharePoint StackExchange – Filtering Hyperlink Columns:&lt;/strong&gt; Community Q&amp;amp;A confirming that direct OData filtering on Hyperlink (URL) fields is not possible [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepoint.stackexchange.com/questions/224828/filter-hyperlink-field-url-using-sharepoint-rest-api#:~:text=5&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepoint.stackexchange.com/questions/224828/filter-hyperlink-field-url-using-sharepoint-rest-api#:~:text=5&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepoint.stackexchange.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Provides a CAML query workaround for those who need to filter by URL via the REST API. Useful to understand platform limitations.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;72013&quot; data-start=&quot;71602&quot;&gt;
&lt;p data-end=&quot;72013&quot; data-start=&quot;71604&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;71676&quot; data-start=&quot;71604&quot;&gt;Power Automate Community Forum – Multi-Select Filtering Discussions:&lt;/strong&gt; Various threads (on Reddit and Power Users forum) discuss the challenge of filtering multi-select choice or people fields. For instance, using &lt;code data-end=&quot;71833&quot; data-start=&quot;71820&quot;&gt;substringof&lt;/code&gt; for multi-choice [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.reddit.com/r/MicrosoftFlow/comments/14r39mm/get_items_filter_query_multichoice_column/#:~:text=%E2%80%A2&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.reddit.com/r/MicrosoftFlow/comments/14r39mm/get_items_filter_query_multichoice_column/#:~:text=%E2%80%A2&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;reddit.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt; and why an &lt;code data-end=&quot;71905&quot; data-start=&quot;71901&quot;&gt;eq&lt;/code&gt; query might not work. These discussions reinforce why workarounds are needed and what their trade-offs are.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;72462&quot; data-is-last-node=&quot;&quot; data-is-only-node=&quot;&quot; data-start=&quot;72015&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;em data-end=&quot;72384&quot; data-start=&quot;72015&quot;&gt;By mastering OData filter queries, you can make your Power Automate flows far more efficient and maintainable. Instead of pulling massive datasets and looping, you let SharePoint do the heavy lifting. The syntax can be tricky at first, but with resources like this guide (and the references above), you’ll soon be crafting filter strings like a pro. Happy automating! &lt;/em&gt;&lt;span data-end=&quot;72384&quot; data-start=&quot;72015&quot;&gt;[&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2018/11/12/microsoft-flow-filter-queries-in-sharepoint-get-items/#:~:text=The%20Better%20Way%20with%20a,SharePoint%20OData%20filter%20query&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2018/11/12/microsoft-flow-filter-queries-in-sharepoint-get-items/#:~:text=The%20Better%20Way%20with%20a,SharePoint%20OData%20filter%20query&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=8,to%20filter%20the%20data%20further&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=8,to%20filter%20the%20data%20further&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;teamdynamix.umich.edu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgFJw6S0zL-S6uPolcYVZyTW4b-NBFM3RwFYJkcyk7vbutxUdnQUUOGEiGh1ukxm3AJcARSMpghuoKH48WcZfm5AEms0MEBVRatmm80pz9nAKoiyvenSlzKsnYnyRbO7bqPCY8CIa_tBJROzrOInBNvdukii5O-tAsdkdmKJEmYe_C1pygD8Qh/s1024/ChatGPT%20Image%20Jun%2019,%202025,%2003_05_41%20PM.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1024&quot; data-original-width=&quot;1024&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgFJw6S0zL-S6uPolcYVZyTW4b-NBFM3RwFYJkcyk7vbutxUdnQUUOGEiGh1ukxm3AJcARSMpghuoKH48WcZfm5AEms0MEBVRatmm80pz9nAKoiyvenSlzKsnYnyRbO7bqPCY8CIa_tBJROzrOInBNvdukii5O-tAsdkdmKJEmYe_C1pygD8Qh/s320/ChatGPT%20Image%20Jun%2019,%202025,%2003_05_41%20PM.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;border-token-border-sharp flex flex-col gap-2 border-b&quot;&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;flex flex-col gap-4&quot;&gt;&lt;div class=&quot;flex flex-col&quot;&gt;&lt;div class=&quot;text-base font-medium&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Citations&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ms-[-12px] flex flex-col gap-1&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://sharepains.com/2018/11/12/microsoft-flow-filter-queries-in-sharepoint-get-items/#:~:text=A%20filter%20query%20is%20a,speed%20up%20the%20process%20dramatically&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://sharepains.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;SharePoint OData Filter query in Get items action in Power Automate flow in 2025&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://sharepains.com/2018/11/12/microsoft-flow-filter-queries-in-sharepoint-get-items/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=8,to%20filter%20the%20data%20further&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;
	Article - How to use OData query filt...
&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=1,Thumbnail&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;
	Article - How to use OData query filt...
&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=%60,Thumbnail&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;
	Article - How to use OData query filt...
&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=retrieve%20items%20in%20sub,only%20contain%20the%20columns%20that&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;
	Article - How to use OData query filt...
&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=4,Gabriel%20Mongefranco%27%20and%20UniqName%C2%A0eq%20%27mongefrg&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;
	Article - How to use OData query filt...
&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=3,Functions&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;
	Article - How to use OData query filt...
&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://sharepoint.stackexchange.com/questions/255543/filter-created-in-sp-rest-api/255555#255555#:~:text=1,2018%2F10%2F05&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://sharepoint.stackexchange.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;sharepoint online - Filter Created in SP REST API - SharePoint Stack Exchange&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://sharepoint.stackexchange.com/questions/255543/filter-created-in-sp-rest-api/255555#255555&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://sharepains.com/2018/11/12/microsoft-flow-filter-queries-in-sharepoint-get-items/#:~:text=stringColumn%20eq%20%27string%27%20AND%20numberColumn,lt%20123&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://sharepains.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;SharePoint OData Filter query in Get items action in Power Automate flow in 2025&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://sharepains.com/2018/11/12/microsoft-flow-filter-queries-in-sharepoint-get-items/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=4,day&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;
	Article - How to use OData query filt...
&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=data%2C%20use%20XPath%C2%A0functions%20and%2For%20Filter,specific%20value%20in%20Power%20Automate&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;
	Article - How to use OData query filt...
&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=3,Title%20eq&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;
	Article - How to use OData query filt...
&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://stackoverflow.com/questions/76927029/in-power-automate-flow-how-to-get-items-from-sharepoint-list-that-were-created#:~:text=Try%20using%20filter%20query%20in,get%20items%20action%20like%20below&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://stackoverflow.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;In Power Automate flow, how to Get Items from SharePoint List that were created yesterday? - Stack Overflow&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://stackoverflow.com/questions/76927029/in-power-automate-flow-how-to-get-items-from-sharepoint-list-that-were-created&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=4.%20Filter%20a%20single,PrimaryTeamEngagement%2FTitle%20eq%20%27Mobile%20Technologies%20Core&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;
	Article - How to use OData query filt...
&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=Query%20for%20single%20value%20lookup,fields&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://learn.microsoft.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Use OData query operations in SharePoint REST requests | Microsoft Learn&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=Query%20for%20multi,and%20users&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://learn.microsoft.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Use OData query operations in SharePoint REST requests | Microsoft Learn&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://www.reddit.com/r/MicrosoftFlow/comments/14r39mm/get_items_filter_query_multichoice_column/#:~:text=%E2%80%A2&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://www.reddit.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Get Items filter query multi-choice column : r/MicrosoftFlow&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://www.reddit.com/r/MicrosoftFlow/comments/14r39mm/get_items_filter_query_multichoice_column/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://www.reddit.com/r/MicrosoftFlow/comments/14r39mm/get_items_filter_query_multichoice_column/#:~:text=Column%20name%20is%20Sites%2C%20multi,unable%20to%20replicate%20the%20result&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://www.reddit.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Get Items filter query multi-choice column : r/MicrosoftFlow&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://www.reddit.com/r/MicrosoftFlow/comments/14r39mm/get_items_filter_query_multichoice_column/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://tomriha.com/wp-content/uploads/2021/03/FilterQuery-Cheatsheet.pdf#:~:text=Person%20or%20Group%20eq%20,&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://tomriha.com/wp-content/uploads/2021/03/FilterQuery-Cheatsheet.pdf&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=1,edu%27%29%20or%20%28startswith%28TeamsAccount%2FTitle%2C%20%27Mongefranco&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;
	Article - How to use OData query filt...
&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=2,Image%3A%20Uploaded%20Image%20%28Thumbnail&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;
	Article - How to use OData query filt...
&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=must%20construct%20user%20queries%20against,users%27%20friendly%20names&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://learn.microsoft.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Use OData query operations in SharePoint REST requests | Microsoft Learn&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://community.powerplatform.com/forums/thread/details/?threadid=0ee73ab2-c2ae-4a50-89e0-b2179720ee69#:~:text=Community%20community,Note%3A%20LessonOwner%20is%20the&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;OData Filter Query on Person Field - Power Platform Community&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://community.powerplatform.com/forums/thread/details/?threadid=0ee73ab2-c2ae-4a50-89e0-b2179720ee69&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=TaxCatchAll%C2%A0%28taxonomy%20catch%20all%20virtual%20column%29,and%20may%20involve%20security%20risks&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;
	Article - How to use OData query filt...
&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://sharepoint.stackexchange.com/questions/224828/filter-hyperlink-field-url-using-sharepoint-rest-api#:~:text=5&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://sharepoint.stackexchange.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Filter Hyperlink field url using SharePoint REST API - SharePoint Stack Exchange&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://sharepoint.stackexchange.com/questions/224828/filter-hyperlink-field-url-using-sharepoint-rest-api&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://sharepoint.stackexchange.com/questions/224828/filter-hyperlink-field-url-using-sharepoint-rest-api#:~:text=You%20can%20use%20CAML%20with,to%20achieve%20what%20you%20want&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://sharepoint.stackexchange.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Filter Hyperlink field url using SharePoint REST API - SharePoint Stack Exchange&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://sharepoint.stackexchange.com/questions/224828/filter-hyperlink-field-url-using-sharepoint-rest-api&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=3,more%20complex%20and%20may%20involve&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;
	Article - How to use OData query filt...
&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=TaxCatchAll%C2%A0%28taxonomy%20catch%20all%20virtual%20column%29,Group_x0020_Membership%2FTitle%20eq%20%27MDEN&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;
	Article - How to use OData query filt...
&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://sharepains.com/2018/11/12/microsoft-flow-filter-queries-in-sharepoint-get-items/#:~:text=The%20Better%20Way%20with%20a,SharePoint%20OData%20filter%20query&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://sharepains.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;SharePoint OData Filter query in Get items action in Power Automate flow in 2025&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://sharepains.com/2018/11/12/microsoft-flow-filter-queries-in-sharepoint-get-items/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=OData%20query%20operators%20supported%20in,the%20SharePoint%20REST%20service&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://learn.microsoft.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Use OData query operations in SharePoint REST requests | Microsoft Learn&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=Use%20the%20%24filter%20query%20option,with%20the%20SharePoint%20REST%20service&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://learn.microsoft.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Use OData query operations in SharePoint REST requests | Microsoft Learn&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://tomriha.com/wp-content/uploads/2021/03/FilterQuery-Cheatsheet.pdf#:~:text=Lookup%20eq%20%27Lookup%20ID%27%20Lookup,ne%201%20ArchiveDocument%20eq%201&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://tomriha.com/wp-content/uploads/2021/03/FilterQuery-Cheatsheet.pdf&lt;/div&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;flex flex-col gap-2.5&quot;&gt;&lt;div class=&quot;text-base font-medium&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;All Sources&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ms-[-12px] flex flex-wrap&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;a class=&quot;group hover:bg-token-main-surface-secondary flex items-center gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://sharepains.com/2018/11/12/microsoft-flow-filter-queries-in-sharepoint-get-items/#:~:text=A%20filter%20query%20is%20a,speed%20up%20the%20process%20dramatically&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://sharepains.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;sharepains&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;group hover:bg-token-main-surface-secondary flex items-center gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904#:~:text=8,to%20filter%20the%20data%20further&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;teamdynamix.umich&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;group hover:bg-token-main-surface-secondary flex items-center gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://sharepoint.stackexchange.com/questions/255543/filter-created-in-sp-rest-api/255555#255555#:~:text=1,2018%2F10%2F05&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot; title=&quot;sharepoint.stackexchange&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://sharepoint.stackexchange.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;sharepoi...kexchange&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;group hover:bg-token-main-surface-secondary flex items-center gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://stackoverflow.com/questions/76927029/in-power-automate-flow-how-to-get-items-from-sharepoint-list-that-were-created#:~:text=Try%20using%20filter%20query%20in,get%20items%20action%20like%20below&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://stackoverflow.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;stackoverflow&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;group hover:bg-token-main-surface-secondary flex items-center gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/use-odata-query-operations-in-sharepoint-rest-requests#:~:text=Query%20for%20single%20value%20lookup,fields&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://learn.microsoft.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;learn.microsoft&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;group hover:bg-token-main-surface-secondary flex items-center gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://www.reddit.com/r/MicrosoftFlow/comments/14r39mm/get_items_filter_query_multichoice_column/#:~:text=%E2%80%A2&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://www.reddit.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;reddit&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;group hover:bg-token-main-surface-secondary flex items-center gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://tomriha.com/wp-content/uploads/2021/03/FilterQuery-Cheatsheet.pdf#:~:text=Person%20or%20Group%20eq%20,&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;tomriha&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;group hover:bg-token-main-surface-secondary flex items-center gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://community.powerplatform.com/forums/thread/details/?threadid=0ee73ab2-c2ae-4a50-89e0-b2179720ee69#:~:text=Community%20community,Note%3A%20LessonOwner%20is%20the&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot; title=&quot;community.powerplatform&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;communit...rplatform&lt;/div&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/3464842645990091204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/3464842645990091204' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/3464842645990091204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/3464842645990091204'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2025/06/power-automate-odata-filter-query-101.html' title='Power Automate OData Filter Query 101: Filtering SharePoint Columns for Beginners'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiB-YRoOLnlJSzvj4QZwDjf01bd0zg3Z61OpzDPBCDjyLLCnHKVP3EAvXqQomb5nTzXlpsR6dzRTLLkTMANLuuuGGGRJE9TCWsTC2-8KTGWOCsU7Cu0juiqEWe6YzAB7EM1zqwP7kVf2K13dNsVib0u6Xw4nLuP1WircTxTELuA4vq4CB07tK9v/s72-c/ChatGPT%20Image%20Jun%2029,%202025,%2003_07_32%20PM.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-3728271574162931611</id><published>2025-06-19T12:05:00.002+03:00</published><updated>2025-06-29T16:13:12.519+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PowerAutomate"/><category scheme="http://www.blogger.com/atom/ns#" term="PowerAutomate Advanced"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint HTTP Request"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint REST API"/><category scheme="http://www.blogger.com/atom/ns#" term="validateUpdateListItem"/><title type='text'>Using SharePoint’s validateUpdateListItem in Power Automate: A Beginner’s Guide</title><content type='html'>&lt;div class=&quot;@container/thread flex min-w-0 flex-col gap-4 px-12 py-8&quot;&gt;&lt;div class=&quot;flex max-w-full flex-col grow&quot;&gt;&lt;div class=&quot;flex flex-col gap-4&quot;&gt;&lt;div class=&quot;min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;amp;]:mt-5&quot; data-message-author-role=&quot;assistant&quot; data-message-id=&quot;abc3d946-b97b-4a09-a708-8a790766afb1&quot; dir=&quot;auto&quot;&gt;&lt;div class=&quot;flex w-full flex-col gap-1 empty:hidden first:pt-[3px]&quot;&gt;&lt;div class=&quot;markdown prose dark:prose-invert w-full break-words dark deep-research-result&quot;&gt;&lt;p data-end=&quot;871&quot; data-start=&quot;85&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;When working with SharePoint Online and Power Automate (Flow), you might reach a point where the standard &lt;/span&gt;&lt;strong data-end=&quot;228&quot; data-start=&quot;211&quot; style=&quot;font-family: arial;&quot;&gt;“Update item”&lt;/strong&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; action isn’t enough. Perhaps you need to update system-managed fields (like &lt;/span&gt;&lt;strong data-end=&quot;317&quot; data-start=&quot;305&quot; style=&quot;font-family: arial;&quot;&gt;Modified&lt;/strong&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; or &lt;/span&gt;&lt;strong data-end=&quot;335&quot; data-start=&quot;321&quot; style=&quot;font-family: arial;&quot;&gt;Created By&lt;/strong&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;), or you want to update an item &lt;/span&gt;&lt;em data-end=&quot;377&quot; data-start=&quot;368&quot; style=&quot;font-family: arial;&quot;&gt;without&lt;/em&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; triggering other flows or incrementing version history. Enter the SharePoint REST API’s &lt;/span&gt;&lt;code data-end=&quot;490&quot; data-start=&quot;466&quot;&gt;validateUpdateListItem&lt;/code&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; endpoint – a powerful method to update list items with fine control. In this beginner-friendly guide, we’ll walk through how to use &lt;/span&gt;&lt;code data-end=&quot;647&quot; data-start=&quot;623&quot;&gt;validateUpdateListItem&lt;/code&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; via the &lt;/span&gt;&lt;strong data-end=&quot;694&quot; data-start=&quot;656&quot; style=&quot;font-family: arial;&quot;&gt;Send an HTTP request to SharePoint&lt;/strong&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; action in Power Automate. We’ll cover how to set up the HTTP request, the JSON body format (with examples for various column types), and explain the benefits of this approach.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijV6v8CKhfQ3qzH9szuxN7N5anLTS8qqn4BqRWOl_c7k8CdFKbYbBRkSOaZ8UlF2abIBdyu1e6q1GuMtvnAozkxsSXNkko1ZFj6SZxEiXhdLgnVdjXbXELj9NMLVWswGzy0ONwOvaL5_1OHL4cqJ1WzNSUog8hJQjLvvtrQrQB9w5oHmUvRZ3d/s1536/ChatGPT%20Image%20Jun%2029,%202025,%2003_11_48%20PM.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1536&quot; data-original-width=&quot;1024&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijV6v8CKhfQ3qzH9szuxN7N5anLTS8qqn4BqRWOl_c7k8CdFKbYbBRkSOaZ8UlF2abIBdyu1e6q1GuMtvnAozkxsSXNkko1ZFj6SZxEiXhdLgnVdjXbXELj9NMLVWswGzy0ONwOvaL5_1OHL4cqJ1WzNSUog8hJQjLvvtrQrQB9w5oHmUvRZ3d/s320/ChatGPT%20Image%20Jun%2029,%202025,%2003_11_48%20PM.png&quot; width=&quot;213&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;
&lt;h2 data-end=&quot;924&quot; data-start=&quot;873&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;What is &lt;code data-end=&quot;908&quot; data-start=&quot;884&quot;&gt;validateUpdateListItem&lt;/code&gt; and Why Use It?&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;1655&quot; data-start=&quot;926&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The &lt;code data-end=&quot;954&quot; data-start=&quot;930&quot;&gt;validateUpdateListItem&lt;/code&gt; is a SharePoint REST API method that &lt;strong data-end=&quot;1034&quot; data-start=&quot;992&quot;&gt;validates and updates list item fields&lt;/strong&gt; in one call. It’s often used for “system updates,” meaning changes that don’t trigger flows/alerts and can bypass certain restrictions. For example, a normal item update will increment the item’s version and can trigger any flow listening on item modifications. In contrast, using &lt;code data-end=&quot;1340&quot; data-start=&quot;1316&quot;&gt;validateUpdateListItem&lt;/code&gt; with the right parameters can perform a &lt;strong data-end=&quot;1398&quot; data-start=&quot;1381&quot;&gt;silent update&lt;/strong&gt; (no new version, no flow trigger) [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=list%20will%20run,status%20field%20without%20triggering%20flows&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=list%20will%20run,status%20field%20without%20triggering%20flows&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=This%20pain%20that%20I%20bumped,I%20found%20the%20same%20issue&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=This%20pain%20that%20I%20bumped,I%20found%20the%20same%20issue&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. This is useful to avoid infinite update loops or to write back a status flag without causing another flow run [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=If%20you%20want%20to%20do,Update%20for%20quite%20a%20while&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=If%20you%20want%20to%20do,Update%20for%20quite%20a%20while&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;1698&quot; data-start=&quot;1657&quot;&gt;&lt;strong data-end=&quot;1698&quot; data-start=&quot;1657&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Benefits of &lt;code data-end=&quot;1695&quot; data-start=&quot;1671&quot;&gt;validateUpdateListItem&lt;/code&gt;:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;2738&quot; data-start=&quot;1700&quot;&gt;
&lt;li data-end=&quot;1869&quot; data-start=&quot;1700&quot;&gt;
&lt;p data-end=&quot;1869&quot; data-start=&quot;1702&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;1730&quot; data-start=&quot;1702&quot;&gt;Bypass Triggering Flows:&lt;/strong&gt; Updates done as a “system update” won’t trigger Flow triggers or alerts, preventing feedback loops [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=list%20will%20run,status%20field%20without%20triggering%20flows&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=list%20will%20run,status%20field%20without%20triggering%20flows&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2202&quot; data-start=&quot;1870&quot;&gt;
&lt;p data-end=&quot;2202&quot; data-start=&quot;1872&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;1903&quot; data-start=&quot;1872&quot;&gt;No Version Bump (Optional):&lt;/strong&gt; By setting a flag, you can update an item without increasing its version count [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=It%20wasn%E2%80%99t%20really%20clear%20to,Nice&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=It%20wasn%E2%80%99t%20really%20clear%20to,Nice&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;robertschouten.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. This is similar to SharePoint’s UpdateOverwriteVersion in server object model [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=It%20wasn%E2%80%99t%20really%20clear%20to,Nice&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=It%20wasn%E2%80%99t%20really%20clear%20to,Nice&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;robertschouten.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. (We’ll see how to do this with &lt;code data-end=&quot;2188&quot; data-start=&quot;2168&quot;&gt;bNewDocumentUpdate&lt;/code&gt; parameter.)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2466&quot; data-start=&quot;2203&quot;&gt;
&lt;p data-end=&quot;2466&quot; data-start=&quot;2205&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;2230&quot; data-start=&quot;2205&quot;&gt;Update System Fields:&lt;/strong&gt; It allows setting fields like &lt;strong data-end=&quot;2273&quot; data-start=&quot;2261&quot;&gt;Modified&lt;/strong&gt;, &lt;strong data-end=&quot;2299&quot; data-start=&quot;2275&quot;&gt;Editor (Modified By)&lt;/strong&gt;, &lt;strong data-end=&quot;2312&quot; data-start=&quot;2301&quot;&gt;Created&lt;/strong&gt;, &lt;strong data-end=&quot;2337&quot; data-start=&quot;2314&quot;&gt;Author (Created By)&lt;/strong&gt; by passing their internal names and values in the JSON. This is something the standard “Update item” action can’t do directly.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2738&quot; data-start=&quot;2467&quot;&gt;
&lt;p data-end=&quot;2738&quot; data-start=&quot;2469&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;2499&quot; data-start=&quot;2469&quot;&gt;Easier Field Value Format:&lt;/strong&gt; You often supply values “as if” entered in SharePoint’s UI, rather than constructing complex field objects [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=The%20way%20these%20system%20updates,in%20the%20SharePoint%20User%20Interface&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=The%20way%20these%20system%20updates,in%20the%20SharePoint%20User%20Interface&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. This makes updating complex field types (people, taxonomy, etc.) easier than some other APIs.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;2807&quot; data-start=&quot;2740&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Now, let’s dive into how to call this endpoint from Power Automate.&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-end=&quot;2857&quot; data-start=&quot;2809&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Setting Up the HTTP Request in Power Automate&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;2990&quot; data-start=&quot;2859&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;To use &lt;code data-end=&quot;2890&quot; data-start=&quot;2866&quot;&gt;validateUpdateListItem&lt;/code&gt; in Power Automate, we’ll use the &lt;strong data-end=&quot;2962&quot; data-start=&quot;2924&quot;&gt;Send an HTTP request to SharePoint&lt;/strong&gt; action. Follow these steps:&lt;/span&gt;&lt;/p&gt;
&lt;ol data-end=&quot;4853&quot; data-start=&quot;2992&quot;&gt;
&lt;li data-end=&quot;3116&quot; data-start=&quot;2992&quot;&gt;
&lt;p data-end=&quot;3116&quot; data-start=&quot;2995&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;3019&quot; data-start=&quot;2995&quot;&gt;Add the HTTP action:&lt;/strong&gt; In your flow, add a new action and select &lt;strong data-end=&quot;3113&quot; data-start=&quot;3062&quot;&gt;SharePoint – Send an HTTP request to SharePoint&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;3271&quot; data-start=&quot;3117&quot;&gt;
&lt;p data-end=&quot;3271&quot; data-start=&quot;3120&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;3137&quot; data-start=&quot;3120&quot;&gt;Site Address:&lt;/strong&gt; Choose the SharePoint site URL where your target list or library resides (e.g. &lt;strong data-end=&quot;3267&quot; data-start=&quot;3217&quot;&gt;&lt;span data-end=&quot;3265&quot; data-start=&quot;3219&quot; href=&quot;https://contoso.sharepoint.com/sites/project-x&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_new&quot;&gt;https://contoso.sharepoint.com/sites/project-x&lt;/span&gt;&lt;/strong&gt;).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;3368&quot; data-start=&quot;3272&quot;&gt;
&lt;p data-end=&quot;3368&quot; data-start=&quot;3275&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;3286&quot; data-start=&quot;3275&quot;&gt;Method:&lt;/strong&gt; Set the HTTP method to &lt;strong data-end=&quot;3318&quot; data-start=&quot;3310&quot;&gt;POST&lt;/strong&gt; (since we are sending data to update the item).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;3965&quot; data-start=&quot;3369&quot;&gt;
&lt;p data-end=&quot;3445&quot; data-start=&quot;3372&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;3380&quot; data-start=&quot;3372&quot;&gt;URI:&lt;/strong&gt; Enter the REST API endpoint for your list item. The format is:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;3543&quot; data-start=&quot;3449&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;_api/web/Lists/GetByTitle(&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&#39;&amp;lt;ListName&amp;gt;&#39;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;)/items(&amp;lt;ItemID&amp;gt;)/validateUpdateListItem&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;3965&quot; data-start=&quot;3547&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Replace &lt;code data-end=&quot;3567&quot; data-start=&quot;3555&quot;&gt;&amp;lt;ListName&amp;gt;&lt;/code&gt; with the exact list name (or use &lt;code data-end=&quot;3620&quot; data-start=&quot;3601&quot;&gt;GetById(listGuid)&lt;/code&gt; if preferred) and &lt;code data-end=&quot;3649&quot; data-start=&quot;3639&quot;&gt;&amp;lt;ItemID&amp;gt;&lt;/code&gt; with the ID of the item you want to update. For example:&lt;br data-end=&quot;3709&quot; data-start=&quot;3706&quot; /&gt;
&lt;code data-end=&quot;3784&quot; data-start=&quot;3712&quot;&gt;_api/web/Lists/GetByTitle(&#39;Projects&#39;)/items(42)/validateUpdateListItem&lt;/code&gt;.&lt;br data-end=&quot;3788&quot; data-start=&quot;3785&quot; /&gt;
&lt;em data-end=&quot;3963&quot; data-start=&quot;3791&quot;&gt;(Note: You can also use &lt;code data-end=&quot;3900&quot; data-start=&quot;3816&quot;&gt;GetList(@list)/items(ID)/validateUpdateListItem?@list=&#39;&amp;lt;list server relative URL&amp;gt;&#39;&lt;/code&gt; if dealing with libraries, but the above format is simplest.)&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;4580&quot; data-start=&quot;3966&quot;&gt;
&lt;p data-end=&quot;4015&quot; data-start=&quot;3969&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;3981&quot; data-start=&quot;3969&quot;&gt;Headers:&lt;/strong&gt; Add the following HTTP headers:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-end=&quot;4580&quot; data-start=&quot;4019&quot;&gt;
&lt;li data-end=&quot;4067&quot; data-start=&quot;4019&quot;&gt;
&lt;p data-end=&quot;4067&quot; data-start=&quot;4021&quot;&gt;&lt;code data-end=&quot;4065&quot; data-start=&quot;4021&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Accept: application/json; odata=nometadata&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;4331&quot; data-start=&quot;4071&quot;&gt;
&lt;p data-end=&quot;4331&quot; data-start=&quot;4073&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;code data-end=&quot;4123&quot; data-start=&quot;4073&quot;&gt;Content-Type: application/json; odata=nometadata&lt;/code&gt;&lt;br data-end=&quot;4126&quot; data-start=&quot;4123&quot; /&gt;
These headers ensure SharePoint returns JSON and that our request body is treated as JSON. (You can also use &lt;code data-end=&quot;4253&quot; data-start=&quot;4238&quot;&gt;odata=verbose&lt;/code&gt; or &lt;code data-end=&quot;4274&quot; data-start=&quot;4257&quot;&gt;minimalmetadata&lt;/code&gt; – just be consistent in both accept and content-type.)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;4442&quot; data-start=&quot;4335&quot;&gt;
&lt;p data-end=&quot;4442&quot; data-start=&quot;4337&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;em data-end=&quot;4353&quot; data-start=&quot;4337&quot;&gt;Authorization:&lt;/em&gt; (Not explicitly needed – the action uses your connection’s credentials automatically.)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;4580&quot; data-start=&quot;4446&quot;&gt;
&lt;p data-end=&quot;4580&quot; data-start=&quot;4448&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;em data-end=&quot;4477&quot; data-start=&quot;4448&quot;&gt;IF-MATCH and X-HTTP-Method:&lt;/em&gt; Not required here – &lt;code data-end=&quot;4522&quot; data-start=&quot;4498&quot;&gt;validateUpdateListItem&lt;/code&gt; handles concurrency internally without needing an eTag.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;4853&quot; data-start=&quot;4581&quot;&gt;
&lt;p data-end=&quot;4853&quot; data-start=&quot;4584&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;4593&quot; data-start=&quot;4584&quot;&gt;Body:&lt;/strong&gt; This is where we specify what fields to update and their values, in JSON format. We will detail this in the next section. At a high level, the JSON body must include a &lt;strong data-end=&quot;4778&quot; data-start=&quot;4762&quot;&gt;&lt;code data-end=&quot;4776&quot; data-start=&quot;4764&quot;&gt;formValues&lt;/code&gt;&lt;/strong&gt; array of field updates, and optionally the &lt;strong data-end=&quot;4846&quot; data-start=&quot;4822&quot;&gt;&lt;code data-end=&quot;4844&quot; data-start=&quot;4824&quot;&gt;bNewDocumentUpdate&lt;/code&gt;&lt;/strong&gt; flag.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-end=&quot;4937&quot; data-start=&quot;4855&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;At this point, your HTTP action setup should look similar to the screenshot below.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;5280&quot; data-start=&quot;4939&quot;&gt; &lt;em data-end=&quot;5278&quot; data-start=&quot;4977&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Figure: Example configuration of the Power Automate HTTP request to SharePoint, pointing to the &lt;code data-end=&quot;5098&quot; data-start=&quot;5074&quot;&gt;validateUpdateListItem&lt;/code&gt; endpoint (Site Address, POST method, URI with list name and item ID, and JSON body). The body includes a &lt;code data-end=&quot;5216&quot; data-start=&quot;5204&quot;&gt;formValues&lt;/code&gt; array of field names/values and a &lt;code data-end=&quot;5271&quot; data-start=&quot;5251&quot;&gt;bNewDocumentUpdate&lt;/code&gt; flag.&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h2 data-end=&quot;5322&quot; data-start=&quot;5282&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Understanding the JSON Body Structure&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;5627&quot; data-start=&quot;5324&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The body for &lt;code data-end=&quot;5361&quot; data-start=&quot;5337&quot;&gt;validateUpdateListItem&lt;/code&gt; must be a JSON object with at least a &lt;strong data-end=&quot;5416&quot; data-start=&quot;5400&quot;&gt;&lt;code data-end=&quot;5414&quot; data-start=&quot;5402&quot;&gt;formValues&lt;/code&gt;&lt;/strong&gt; property. This &lt;code data-end=&quot;5444&quot; data-start=&quot;5432&quot;&gt;formValues&lt;/code&gt; is an array of objects, each with two required properties: &lt;code data-end=&quot;5517&quot; data-start=&quot;5504&quot;&gt;&quot;FieldName&quot;&lt;/code&gt; and &lt;code data-end=&quot;5536&quot; data-start=&quot;5522&quot;&gt;&quot;FieldValue&quot; [&lt;/code&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=Notice%20that%20formValues%20is%20an,with%20the%20following%20two%20properties&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=Notice%20that%20formValues%20is%20an,with%20the%20following%20two%20properties&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. For example, to update a Title field you could have:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;5775&quot; data-start=&quot;5629&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-json&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;formValues&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;[&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
    &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
      &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Title&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
      &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;New Title Value&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
    &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
  &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
  &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;bNewDocumentUpdate&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-literal&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;false&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;5809&quot; data-start=&quot;5777&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Let’s break down the components:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-end=&quot;7485&quot; data-start=&quot;5811&quot;&gt;
&lt;li data-end=&quot;6245&quot; data-start=&quot;5811&quot;&gt;
&lt;p data-end=&quot;6245&quot; data-start=&quot;5813&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;5827&quot; data-start=&quot;5813&quot;&gt;FieldName:&lt;/strong&gt; This should be the internal name of the column you want to update. Often, the internal name is the same as the display name &lt;em data-end=&quot;5956&quot; data-start=&quot;5952&quot;&gt;if&lt;/em&gt; it has no spaces or special characters. If your column’s display name has spaces or special characters, use the internal name (e.g. &lt;code data-end=&quot;6109&quot; data-start=&quot;6089&quot;&gt;&quot;Created_x0020_By&quot;&lt;/code&gt; for “Created By”, or &lt;code data-end=&quot;6153&quot; data-start=&quot;6131&quot;&gt;&quot;Project_x0020_Name&quot;&lt;/code&gt; for “Project Name”). You can find internal names in list settings or via developer tools.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;6654&quot; data-start=&quot;6246&quot;&gt;
&lt;p data-end=&quot;6654&quot; data-start=&quot;6248&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;6263&quot; data-start=&quot;6248&quot;&gt;FieldValue:&lt;/strong&gt; The value to set the field to, as a string. The format of this value depends on the field’s type (detailed in the next section). Generally, you provide what you would type into the SharePoint UI for that field. For example, for a Choice field, use one of the choice text options; for a Yes/No, use a numeric representation of True/False, etc. We will cover specific formats for each type.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;7485&quot; data-start=&quot;6655&quot;&gt;
&lt;p data-end=&quot;7485&quot; data-start=&quot;6657&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;6680&quot; data-start=&quot;6657&quot;&gt;bNewDocumentUpdate:&lt;/strong&gt; (Optional) A boolean flag (&lt;code data-end=&quot;6714&quot; data-start=&quot;6708&quot;&gt;true&lt;/code&gt;/&lt;code data-end=&quot;6722&quot; data-start=&quot;6715&quot;&gt;false&lt;/code&gt;) that, when true, tells SharePoint to do an “overwrite” update that &lt;em data-end=&quot;6822&quot; data-start=&quot;6791&quot;&gt;does not create a new version &lt;/em&gt;&lt;span data-end=&quot;6822&quot; data-start=&quot;6791&quot;&gt;[&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=It%20wasn%E2%80%99t%20really%20clear%20to,Nice&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=It%20wasn%E2%80%99t%20really%20clear%20to,Nice&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;robertschouten.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Essentially, if &lt;code data-end=&quot;6903&quot; data-start=&quot;6877&quot;&gt;bNewDocumentUpdate: true&lt;/code&gt;, SharePoint will perform the update without bumping the version number (similar to a system update). Use this if you want a silent update that doesn’t clutter version history. &lt;strong data-end=&quot;7094&quot; data-start=&quot;7080&quot;&gt;Important:&lt;/strong&gt; To fully suppress a version increment, you also &lt;strong data-end=&quot;7176&quot; data-start=&quot;7143&quot;&gt;must include the Editor field&lt;/strong&gt; in your formValues (see “Person (Editor) Field” below for why)&amp;nbsp;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=Within%20the%20System%20Update%20we,that%20you%20include%20the%20Editor&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=Within%20the%20System%20Update%20we,that%20you%20include%20the%20Editor&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. If you omit Editor, a new version may still be created even if this flag is true. For normal updates where versioning or triggers aren’t a concern, you can set this to false or omit it (false is default).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;7540&quot; data-start=&quot;7487&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Putting it together, a basic example might look like:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;7727&quot; data-start=&quot;7542&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-json&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;formValues&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;[&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
    &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Title&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Updated Title&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
    &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Status&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Completed&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
  &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
  &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;bNewDocumentUpdate&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-literal&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;7914&quot; data-start=&quot;7729&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This would update a &lt;strong data-end=&quot;7758&quot; data-start=&quot;7749&quot;&gt;Title&lt;/strong&gt; column and a &lt;strong data-end=&quot;7782&quot; data-start=&quot;7772&quot;&gt;Status&lt;/strong&gt; choice column on the item, and do so as a system update (no new version, assuming Editor is also included or not needed to change).&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;8077&quot; data-start=&quot;7916&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Next, we’ll explore how to format the &lt;code data-end=&quot;7966&quot; data-start=&quot;7954&quot;&gt;FieldValue&lt;/code&gt; for various SharePoint column types. This is crucial – each field type expects the value in a specific format.&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-end=&quot;8143&quot; data-start=&quot;8079&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Updating Different Column Types with &lt;code data-end=&quot;8143&quot; data-start=&quot;8119&quot;&gt;validateUpdateListItem&lt;/code&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;8488&quot; data-start=&quot;8145&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Each SharePoint field (column) type may require a slightly different &lt;code data-end=&quot;8226&quot; data-start=&quot;8214&quot;&gt;FieldValue&lt;/code&gt; format in the JSON. Below, we’ll go through common field types listed in the question and show how to update them via &lt;code data-end=&quot;8369&quot; data-start=&quot;8345&quot;&gt;validateUpdateListItem&lt;/code&gt;. For each, we assume you have a column of that type on your list, and we’ll describe what the JSON needs to look like.&lt;/span&gt;&lt;/p&gt;
&lt;h3 data-end=&quot;8518&quot; data-start=&quot;8490&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Yes/No (Boolean) Columns&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end=&quot;8696&quot; data-start=&quot;8520&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;8536&quot; data-start=&quot;8520&quot;&gt;Column type:&lt;/strong&gt; Yes/No in SharePoint corresponds to a boolean (True/False) value. In list forms, it appears as a checkbox or toggle (checked = Yes/True, unchecked = No/False).&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;8867&quot; data-start=&quot;8698&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;8712&quot; data-start=&quot;8698&quot;&gt;FieldName:&lt;/strong&gt; Use the internal name of the Yes/No field. For example, if the column is called &quot;Approved&quot;, the internal name might be &quot;Approved&quot; (unless it was renamed).&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;9034&quot; data-start=&quot;8869&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;8891&quot; data-start=&quot;8869&quot;&gt;FieldValue format:&lt;/strong&gt; Use &lt;code data-end=&quot;8901&quot; data-start=&quot;8896&quot;&gt;&quot;1&quot;&lt;/code&gt; for &lt;strong data-end=&quot;8918&quot; data-start=&quot;8906&quot;&gt;Yes/True&lt;/strong&gt; or &lt;code data-end=&quot;8927&quot; data-start=&quot;8922&quot;&gt;&quot;0&quot;&lt;/code&gt; for &lt;strong data-end=&quot;8944&quot; data-start=&quot;8932&quot;&gt;No/False&lt;/strong&gt;. These should be provided as strings (since the API expects string input). For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;9096&quot; data-start=&quot;9036&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Approved&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;1&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;9364&quot; data-start=&quot;9098&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This would set the &lt;strong data-end=&quot;9129&quot; data-start=&quot;9117&quot;&gt;Approved&lt;/strong&gt; column to “Yes”. Conversely, &lt;code data-end=&quot;9178&quot; data-start=&quot;9159&quot;&gt;&quot;FieldValue&quot;: &quot;0&quot;&lt;/code&gt; sets it to “No”. &lt;strong data-end=&quot;9206&quot; data-start=&quot;9196&quot;&gt;Do not&lt;/strong&gt; use literal &lt;code data-end=&quot;9231&quot; data-start=&quot;9219&quot;&gt;true/false&lt;/code&gt; or &lt;code data-end=&quot;9247&quot; data-start=&quot;9235&quot;&gt;&quot;Yes&quot;/&quot;No&quot;&lt;/code&gt; strings – the API expects numeric string representation (1/0) for booleans [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Yes%2FNo%20field%20,&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Yes%2FNo%20field%20,&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;gist.github.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;9567&quot; data-start=&quot;9366&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;em data-end=&quot;9383&quot; data-start=&quot;9366&quot;&gt;Common pitfall:&lt;/em&gt; If you use &lt;code data-end=&quot;9403&quot; data-start=&quot;9395&quot;&gt;&quot;true&quot;&lt;/code&gt;/&lt;code data-end=&quot;9413&quot; data-start=&quot;9404&quot;&gt;&quot;false&quot;&lt;/code&gt; or other variations, SharePoint may not understand it and your request could fail or produce no change. Always stick to &lt;code data-end=&quot;9539&quot; data-start=&quot;9534&quot;&gt;&quot;1&quot;&lt;/code&gt; or &lt;code data-end=&quot;9548&quot; data-start=&quot;9543&quot;&gt;&quot;0&quot;&lt;/code&gt; for Yes/No fields.&lt;/span&gt;&lt;/p&gt;
&lt;h3 data-end=&quot;9594&quot; data-start=&quot;9569&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Date and Time Columns&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end=&quot;9820&quot; data-start=&quot;9596&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;9612&quot; data-start=&quot;9596&quot;&gt;Column type:&lt;/strong&gt; This can be a Date column (Date only) or DateTime column (Date with Time). SharePoint stores dates in a specific format and will parse the string you send according to regional settings if not in ISO format.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;9914&quot; data-start=&quot;9822&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;9836&quot; data-start=&quot;9822&quot;&gt;FieldName:&lt;/strong&gt; Use the internal name of the date field (e.g. &lt;code data-end=&quot;9894&quot; data-start=&quot;9883&quot;&gt;StartDate&lt;/code&gt;, &lt;code data-end=&quot;9906&quot; data-start=&quot;9896&quot;&gt;Deadline&lt;/code&gt;, etc.).&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;10700&quot; data-start=&quot;9916&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;9938&quot; data-start=&quot;9916&quot;&gt;FieldValue format:&lt;/strong&gt; It’s best to use an &lt;strong data-end=&quot;9991&quot; data-start=&quot;9959&quot;&gt;unambiguous date/time format&lt;/strong&gt;. The recommended approach is to use a &lt;em data-end=&quot;10052&quot; data-start=&quot;10030&quot;&gt;ISO 8601-like format&lt;/em&gt;, e.g. &lt;code data-end=&quot;10082&quot; data-start=&quot;10059&quot;&gt;&quot;YYYY-MM-DD HH:MM:SS&quot;&lt;/code&gt;. A full ISO timestamp with “T” and “Z” (UTC designator) can sometimes be accepted, but often SharePoint expects a specific pattern without the “T”. For example, &lt;code data-end=&quot;10267&quot; data-start=&quot;10244&quot;&gt;&quot;2025-06-19 13:30:00&quot;&lt;/code&gt; represents 13:30 on 19 June 2025. This format is generally independent of locale [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://stackoverflow.com/questions/71842491/update-date-column-using-validateupdatelistitem-endpoint#:~:text=Referring%20to%20the%20GitHub%20link,independent%20format%20in%20ValidateUpdateListItem%20is&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://stackoverflow.com/questions/71842491/update-date-column-using-validateupdatelistitem-endpoint#:~:text=Referring%20to%20the%20GitHub%20link,independent%20format%20in%20ValidateUpdateListItem%20is&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;stackoverflow.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt; and avoids errors. If your column is date-only, you can provide just the date portion (&lt;code data-end=&quot;10489&quot; data-start=&quot;10475&quot;&gt;&quot;YYYY-MM-DD&quot;&lt;/code&gt;). If it’s date-time and your SharePoint site is set to a 12-hour format, you might need to include AM/PM (e.g. &lt;code data-end=&quot;10627&quot; data-start=&quot;10601&quot;&gt;&quot;2025-06-19 01:30:00 PM&quot;&lt;/code&gt;). In 24-hour format locales, &lt;code data-end=&quot;10680&quot; data-start=&quot;10657&quot;&gt;&quot;2025-06-19 13:30:00&quot;&lt;/code&gt; works universally.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;10716&quot; data-start=&quot;10702&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;10796&quot; data-start=&quot;10717&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;StartDate&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;2025-06-19 09:00:00&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;10851&quot; data-start=&quot;10797&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This sets the &lt;strong data-end=&quot;10824&quot; data-start=&quot;10811&quot;&gt;StartDate&lt;/strong&gt; to June 19, 2025 9:00 AM.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;11194&quot; data-start=&quot;10853&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;In one real example, a SharePoint flow updated a date field by sending &lt;code data-end=&quot;10947&quot; data-start=&quot;10924&quot;&gt;&quot;2024-01-05 12:30.44&quot; [&lt;/code&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=%7B%20&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=%7B%20&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt; (which was the value as shown in the SharePoint UI for that date/time). While that worked, it’s safer to stick to the standard &lt;code data-end=&quot;11135&quot; data-start=&quot;11114&quot;&gt;YYYY-MM-DD HH:MM:SS&lt;/code&gt; format to avoid any confusion with regional date formats.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;11216&quot; data-start=&quot;11196&quot;&gt;&lt;em data-end=&quot;11214&quot; data-start=&quot;11196&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Common pitfalls:&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;ul data-end=&quot;11837&quot; data-start=&quot;11217&quot;&gt;
&lt;li data-end=&quot;11427&quot; data-start=&quot;11217&quot;&gt;
&lt;p data-end=&quot;11427&quot; data-start=&quot;11219&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;11240&quot; data-start=&quot;11219&quot;&gt;Regional settings&lt;/strong&gt; can affect parsing. If you use a format like &lt;code data-end=&quot;11300&quot; data-start=&quot;11286&quot;&gt;&quot;MM/dd/yyyy&quot;&lt;/code&gt; vs &lt;code data-end=&quot;11318&quot; data-start=&quot;11304&quot;&gt;&quot;yyyy-MM-dd&quot;&lt;/code&gt;, some sites might expect one or the other. By using the ISO-style year-first format, you reduce ambiguity.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;11618&quot; data-start=&quot;11428&quot;&gt;
&lt;p data-end=&quot;11618&quot; data-start=&quot;11430&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Ensure the time portion is included if the field expects time; if your value doesn’t include time and the field does, it might default to 12:00 AM or throw an error depending on context.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;11837&quot; data-start=&quot;11619&quot;&gt;
&lt;p data-end=&quot;11837&quot; data-start=&quot;11621&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;If you include a “Z” (UTC) or timezone offset, SharePoint might still interpret the time relative to the site timezone or reject it. Thus, using the site’s local format (or a neutral format as above) is often easier.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;11859&quot; data-start=&quot;11839&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Currency Columns&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end=&quot;12086&quot; data-start=&quot;11861&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;11877&quot; data-start=&quot;11861&quot;&gt;Column type:&lt;/strong&gt; Currency columns store a monetary value. Under the hood, SharePoint treats currency as a number (with fixed decimal places) plus it knows the currency locale (e.g. USD, EUR) configured in the column settings.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;12240&quot; data-start=&quot;12088&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;12102&quot; data-start=&quot;12088&quot;&gt;FieldName:&lt;/strong&gt; Use the internal name (e.g. &lt;code data-end=&quot;12139&quot; data-start=&quot;12131&quot;&gt;Budget&lt;/code&gt;, &lt;code data-end=&quot;12147&quot; data-start=&quot;12141&quot;&gt;Cost&lt;/code&gt;). If the column name has spaces like &quot;Project Cost&quot;, internal might be &lt;code data-end=&quot;12239&quot; data-start=&quot;12219&quot;&gt;Project_x0020_Cost&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;12636&quot; data-start=&quot;12242&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;12264&quot; data-start=&quot;12242&quot;&gt;FieldValue format:&lt;/strong&gt; Provide the numeric value (as a string) &lt;strong data-end=&quot;12337&quot; data-start=&quot;12305&quot;&gt;without any currency symbols&lt;/strong&gt;. For example, to set a currency field to $1,234.50, you would use &lt;code data-end=&quot;12415&quot; data-start=&quot;12404&quot;&gt;&quot;1234.50&quot;&lt;/code&gt;. The currency symbol is determined by the column’s locale settings, not by the input value. If your number is whole, you can just send &lt;code data-end=&quot;12558&quot; data-start=&quot;12551&quot;&gt;&quot;100&quot;&lt;/code&gt; (which would be $100.00 if the currency is USD, for instance). For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;12706&quot; data-start=&quot;12638&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;ProjectCost&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;1234.5&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;12988&quot; data-start=&quot;12708&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This sets the &lt;strong data-end=&quot;12737&quot; data-start=&quot;12722&quot;&gt;ProjectCost&lt;/strong&gt; to 1234.50 in whatever currency the column is configured (the UI will format it accordingly). You can include two decimal places explicitly (e.g. &lt;code data-end=&quot;12895&quot; data-start=&quot;12884&quot;&gt;&quot;1234.50&quot;&lt;/code&gt;) but SharePoint will handle the rounding based on the column’s configured decimal precision.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;13010&quot; data-start=&quot;12990&quot;&gt;&lt;em data-end=&quot;13008&quot; data-start=&quot;12990&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Common pitfalls:&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;ul data-end=&quot;13570&quot; data-start=&quot;13011&quot;&gt;
&lt;li data-end=&quot;13261&quot; data-start=&quot;13011&quot;&gt;
&lt;p data-end=&quot;13261&quot; data-start=&quot;13013&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Do not include currency symbols like $ or £ in the FieldValue – use only numbers and decimal point. Including symbols or commas (thousand separators) will likely cause a format error. For instance, use &lt;code data-end=&quot;13224&quot; data-start=&quot;13215&quot;&gt;&quot;10000&quot;&lt;/code&gt; not &lt;code data-end=&quot;13239&quot; data-start=&quot;13229&quot;&gt;&quot;10,000&quot;&lt;/code&gt; and not &lt;code data-end=&quot;13258&quot; data-start=&quot;13248&quot;&gt;&quot;$10000&quot;&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;13436&quot; data-start=&quot;13262&quot;&gt;
&lt;p data-end=&quot;13436&quot; data-start=&quot;13264&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The value should be in the currency’s minor unit. For example, for USD 1.00 use &lt;code data-end=&quot;13352&quot; data-start=&quot;13344&quot;&gt;&quot;1.00&quot;&lt;/code&gt; (if 2 decimal places are used) or just &lt;code data-end=&quot;13397&quot; data-start=&quot;13392&quot;&gt;&quot;1&quot;&lt;/code&gt; and SharePoint will format to $1.00.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;13570&quot; data-start=&quot;13437&quot;&gt;
&lt;p data-end=&quot;13570&quot; data-start=&quot;13439&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;If your currency column uses 4 decimal places (for certain currencies), ensure you provide the appropriate precision in the string.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;13590&quot; data-start=&quot;13572&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Lookup Columns&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end=&quot;13751&quot; data-start=&quot;13592&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;13608&quot; data-start=&quot;13592&quot;&gt;Column type:&lt;/strong&gt; Lookup columns reference an item from another list. A single-value lookup stores one referenced item; a multi-value lookup can store multiple.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;13912&quot; data-start=&quot;13753&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;13767&quot; data-start=&quot;13753&quot;&gt;FieldName:&lt;/strong&gt; Use the internal name of the lookup field. (E.g. if the column is “Category” that looks up to a Categories list, FieldName might be &lt;code data-end=&quot;13910&quot; data-start=&quot;13900&quot;&gt;Category&lt;/code&gt;.)&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;14273&quot; data-start=&quot;13914&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;13958&quot; data-start=&quot;13914&quot;&gt;FieldValue format (Single-value Lookup):&lt;/strong&gt; Provide the &lt;strong data-end=&quot;13996&quot; data-start=&quot;13971&quot;&gt;ID of the target item&lt;/strong&gt; (in the lookup target list) as a string. For example, if you want to set the lookup to point to the item with ID 7 in the source list, use &lt;code data-end=&quot;14141&quot; data-start=&quot;14136&quot;&gt;&quot;7&quot;&lt;/code&gt;. The associated text (like the Title of the looked-up item) is not needed here – SharePoint will resolve it from the ID. Example:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;14335&quot; data-start=&quot;14275&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Category&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;7&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;14417&quot; data-start=&quot;14337&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This would set the &lt;strong data-end=&quot;14368&quot; data-start=&quot;14356&quot;&gt;Category&lt;/strong&gt; lookup to the item with ID 7 in the source list.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;14700&quot; data-start=&quot;14419&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;14462&quot; data-start=&quot;14419&quot;&gt;FieldValue format (Multi-value Lookup):&lt;/strong&gt; Provide all the target item IDs in a single string, separated by the special delimiter &lt;code data-end=&quot;14554&quot; data-start=&quot;14550&quot;&gt;;#&lt;/code&gt;. The pattern is each ID followed by &lt;code data-end=&quot;14595&quot; data-start=&quot;14591&quot;&gt;;#&lt;/code&gt;, concatenated. For example, to set a multi-lookup field to items with IDs 2, 3, and 4, you would send:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;14776&quot; data-start=&quot;14702&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Categories&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;2;#;#3;#;#4;#&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;15268&quot; data-start=&quot;14778&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Breaking that down: &lt;code data-end=&quot;14815&quot; data-start=&quot;14798&quot;&gt;&quot;2;#;#3;#;#4;#&quot;&lt;/code&gt; – here each ID is followed by &lt;code data-end=&quot;14850&quot; data-start=&quot;14846&quot;&gt;;#&lt;/code&gt;, and the IDs are separated by an extra &lt;code data-end=&quot;14894&quot; data-start=&quot;14890&quot;&gt;;#&lt;/code&gt;. This format may look odd, but it’s how SharePoint expects multi-lookup values [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=Long%20story%20short%3A&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=Long%20story%20short%3A&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;robertschouten.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-add/#:~:text=changes%20lookup%20field%20and%20multi,field&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-add/#:~:text=changes%20lookup%20field%20and%20multi,field&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;pnp.github.io&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Essentially, for &lt;strong data-end=&quot;15078&quot; data-start=&quot;15070&quot;&gt;each&lt;/strong&gt; ID, you append &lt;code data-end=&quot;15098&quot; data-start=&quot;15094&quot;&gt;;#&lt;/code&gt; after it, and then join them all into one string. In the above, it results in &lt;code data-end=&quot;15192&quot; data-start=&quot;15177&quot;&gt;2;#;#3;#;#4;#&lt;/code&gt;. (If you had IDs 2, 3, 4, 5, it would be &lt;code data-end=&quot;15256&quot; data-start=&quot;15234&quot;&gt;&quot;2;#;#3;#;#4;#;#5;#&quot;&lt;/code&gt; and so on.)&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;15540&quot; data-start=&quot;15270&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;15291&quot; data-start=&quot;15270&quot;&gt;Alternate format:&lt;/strong&gt; Some sources indicate you can also supply the IDs separated by just &lt;code data-end=&quot;15364&quot; data-start=&quot;15360&quot;&gt;;#&lt;/code&gt; without doubles (e.g. &lt;code data-end=&quot;15398&quot; data-start=&quot;15387&quot;&gt;&quot;2;#3;#4&quot;&lt;/code&gt;), but the reliable approach per documentation is the doubled delimiter format with trailing &lt;code data-end=&quot;15495&quot; data-start=&quot;15491&quot;&gt;;#&lt;/code&gt;. If in doubt, use the format as illustrated.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;15562&quot; data-start=&quot;15542&quot;&gt;&lt;em data-end=&quot;15560&quot; data-start=&quot;15542&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Common pitfalls:&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;ul data-end=&quot;16260&quot; data-start=&quot;15563&quot;&gt;
&lt;li data-end=&quot;15716&quot; data-start=&quot;15563&quot;&gt;
&lt;p data-end=&quot;15716&quot; data-start=&quot;15565&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;15594&quot; data-start=&quot;15565&quot;&gt;Don’t use titles or text:&lt;/strong&gt; Only IDs should be used in the FieldValue. If you try to put the lookup target’s text value, it will not find the item.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;15799&quot; data-start=&quot;15717&quot;&gt;
&lt;p data-end=&quot;15799&quot; data-start=&quot;15719&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Ensure the ID strings are integers (no leading zeros or any other characters).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;15933&quot; data-start=&quot;15800&quot;&gt;
&lt;p data-end=&quot;15933&quot; data-start=&quot;15802&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The &lt;code data-end=&quot;15810&quot; data-start=&quot;15806&quot;&gt;;#&lt;/code&gt; delimiter must be exact. Missing or extra delimiters will cause the update to fail or the field to not update correctly.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;16260&quot; data-start=&quot;15934&quot;&gt;
&lt;p data-end=&quot;16260&quot; data-start=&quot;15936&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;For multi-lookup, constructing the string can be tricky in Power Automate expressions. You might build an array of IDs and then join them with the pattern, or simply hardcode if static. (For a dynamic list of IDs, you could use an expression to join like &lt;code data-end=&quot;16235&quot; data-start=&quot;16191&quot;&gt;join(body(&#39;Select&#39;)?[&#39;ID&#39;], &#39;;#;#&#39;) &amp;amp; &#39;;#&#39;&lt;/code&gt; to generate the string.)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;16306&quot; data-start=&quot;16262&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Choice Columns (Single and Multi-choice)&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end=&quot;16482&quot; data-start=&quot;16308&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;16324&quot; data-start=&quot;16308&quot;&gt;Column type:&lt;/strong&gt; Choice columns allow one or multiple selections from a predefined set of options. A single-choice column stores one value; a multi-choice stores one or more.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;16580&quot; data-start=&quot;16484&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;16498&quot; data-start=&quot;16484&quot;&gt;FieldName:&lt;/strong&gt; Use the internal name of the choice field (e.g. &lt;code data-end=&quot;16555&quot; data-start=&quot;16547&quot;&gt;Status&lt;/code&gt;, &lt;code data-end=&quot;16572&quot; data-start=&quot;16557&quot;&gt;PriorityLevel&lt;/code&gt;, etc.).&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;16879&quot; data-start=&quot;16582&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;16620&quot; data-start=&quot;16582&quot;&gt;FieldValue format (Single-choice):&lt;/strong&gt; Use the exact text of the choice option you want to set. It must match one of the allowed choice values defined in the column settings. The comparison is case-insensitive to the actual choice text, but it’s good practice to match the case exactly. Example:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;16947&quot; data-start=&quot;16881&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Status&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Completed&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;17207&quot; data-start=&quot;16949&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;If “Completed” is one of the choices for the &lt;strong data-end=&quot;17004&quot; data-start=&quot;16994&quot;&gt;Status&lt;/strong&gt; column, this will set it to that value [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt; (in the earlier example JSON, &lt;code data-end=&quot;17139&quot; data-start=&quot;17113&quot;&gt;&quot;DocumentType&quot;: &quot;Letter&quot;&lt;/code&gt; was used as a choice value [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;17458&quot; data-start=&quot;17209&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;17246&quot; data-start=&quot;17209&quot;&gt;FieldValue format (Multi-choice):&lt;/strong&gt; Provide the chosen options as a single string, separated by &lt;code data-end=&quot;17311&quot; data-start=&quot;17307&quot;&gt;;#&lt;/code&gt;. For example, if a &lt;strong data-end=&quot;17339&quot; data-start=&quot;17331&quot;&gt;Tags&lt;/strong&gt; field (multi-choice) allows values like &quot;Red&quot;, &quot;Blue&quot;, &quot;Green&quot;, and you want to select Red and Green, you would use:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;17525&quot; data-start=&quot;17460&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Tags&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Red;#Green&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;17838&quot; data-start=&quot;17527&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Each choice is separated by &lt;code data-end=&quot;17559&quot; data-start=&quot;17555&quot;&gt;;#&lt;/code&gt;. Unlike multi-lookup, you do &lt;strong data-end=&quot;17596&quot; data-start=&quot;17589&quot;&gt;not&lt;/strong&gt; need an extra delimiter at the beginning or end for multi-choice. Just join the choices with &lt;code data-end=&quot;17694&quot; data-start=&quot;17690&quot;&gt;;#&lt;/code&gt; in between [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Choice%20field%20,Choice%202%22&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Choice%20field%20,Choice%202%22&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;gist.github.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. If you have three choices, e.g. &quot;Red&quot;, &quot;Green&quot;, &quot;Blue&quot;, you might send &lt;code data-end=&quot;17837&quot; data-start=&quot;17817&quot;&gt;&quot;Red;#Green;#Blue&quot;&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;17860&quot; data-start=&quot;17840&quot;&gt;&lt;em data-end=&quot;17858&quot; data-start=&quot;17840&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Common pitfalls:&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;ul data-end=&quot;18601&quot; data-start=&quot;17861&quot;&gt;
&lt;li data-end=&quot;18041&quot; data-start=&quot;17861&quot;&gt;
&lt;p data-end=&quot;18041&quot; data-start=&quot;17863&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The choice text must match exactly a valid option. If it doesn’t, SharePoint will throw an error (e.g. “Invalid data for field…”). Make sure there are no extra spaces or typos.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;18280&quot; data-start=&quot;18042&quot;&gt;
&lt;p data-end=&quot;18280&quot; data-start=&quot;18044&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;For multi-choice, do not include an extra &lt;code data-end=&quot;18090&quot; data-start=&quot;18086&quot;&gt;;#&lt;/code&gt; at the very end (some older documentation showed a trailing &lt;code data-end=&quot;18155&quot; data-start=&quot;18151&quot;&gt;;#&lt;/code&gt;, but it’s typically not required for multi-choice). For example, use &lt;code data-end=&quot;18247&quot; data-start=&quot;18225&quot;&gt;&quot;Option A;#Option B&quot;&lt;/code&gt;, not &lt;code data-end=&quot;18277&quot; data-start=&quot;18253&quot;&gt;&quot;Option A;#Option B;#&quot;&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;18601&quot; data-start=&quot;18281&quot;&gt;
&lt;p data-end=&quot;18601&quot; data-start=&quot;18283&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Choice fields (especially multi) might have commas in their values. Don’t confuse the comma with the delimiter; only &lt;code data-end=&quot;18404&quot; data-start=&quot;18400&quot;&gt;;#&lt;/code&gt; works as a delimiter in this context. If an option itself contains “;#” (highly unlikely since SharePoint wouldn’t allow that in a choice text), it would be problematic. But normal words are fine.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;18652&quot; data-start=&quot;18603&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Person or Group Columns (Single and Multiple)&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end=&quot;18912&quot; data-start=&quot;18654&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;18670&quot; data-start=&quot;18654&quot;&gt;Column type:&lt;/strong&gt; Person/Group columns allow selection of a user or group from the SharePoint people picker. Internally, these are a special kind of lookup to the hidden User Information List. We must provide a &lt;em data-end=&quot;18889&quot; data-start=&quot;18864&quot;&gt;claims-based identifier&lt;/em&gt; for the user or users.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;19139&quot; data-start=&quot;18914&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;18928&quot; data-start=&quot;18914&quot;&gt;FieldName:&lt;/strong&gt; Use the internal name of the person field (e.g. &lt;code data-end=&quot;18989&quot; data-start=&quot;18977&quot;&gt;AssignedTo&lt;/code&gt;, &lt;code data-end=&quot;18998&quot; data-start=&quot;18991&quot;&gt;Owner&lt;/code&gt;). For the out-of-box &lt;strong data-end=&quot;19034&quot; data-start=&quot;19020&quot;&gt;Created By&lt;/strong&gt; (Author) and &lt;strong data-end=&quot;19063&quot; data-start=&quot;19048&quot;&gt;Modified By&lt;/strong&gt; (Editor) fields, the internal names are &lt;code data-end=&quot;19112&quot; data-start=&quot;19104&quot;&gt;Author&lt;/code&gt; and &lt;code data-end=&quot;19125&quot; data-start=&quot;19117&quot;&gt;Editor&lt;/code&gt; respectively.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;19308&quot; data-start=&quot;19141&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;19179&quot; data-start=&quot;19141&quot;&gt;FieldValue format (Single-person):&lt;/strong&gt; Provide a JSON string that represents an array of one object with the user’s claim. That sounds complex, but effectively it’s:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;19366&quot; data-start=&quot;19309&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-selector-attr&quot;&gt;[{&lt;span class=&quot;hljs-string&quot;&gt;&#39;Key&#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&#39;i:0#.f|membership|user@domain.com&#39;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;}]&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;19443&quot; data-start=&quot;19367&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Yes, the FieldValue itself is a string containing JSON. Let’s break it down:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-end=&quot;19815&quot; data-start=&quot;19444&quot;&gt;
&lt;li data-end=&quot;19514&quot; data-start=&quot;19444&quot;&gt;
&lt;p data-end=&quot;19514&quot; data-start=&quot;19446&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The value starts with &lt;code data-end=&quot;19471&quot; data-start=&quot;19468&quot;&gt;[&lt;/code&gt; and ends with &lt;code data-end=&quot;19489&quot; data-start=&quot;19486&quot;&gt;]&lt;/code&gt; – this denotes an array.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;19590&quot; data-start=&quot;19515&quot;&gt;
&lt;p data-end=&quot;19590&quot; data-start=&quot;19517&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Inside, for each user, we have an object &lt;code data-end=&quot;19589&quot; data-start=&quot;19558&quot;&gt;{&#39;Key&#39;:&#39;&amp;lt;claims-identifier&amp;gt;&#39;}&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;19815&quot; data-start=&quot;19591&quot;&gt;
&lt;p data-end=&quot;19815&quot; data-start=&quot;19593&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;For SharePoint Online (Azure AD), the claim identifier format is typically &lt;code data-end=&quot;19703&quot; data-start=&quot;19668&quot;&gt;i:0#.f|membership|user@domain.com&lt;/code&gt;. So if the user’s login/email is &lt;code data-end=&quot;19756&quot; data-start=&quot;19737&quot;&gt;alice@contoso.com&lt;/code&gt;, the Key becomes &lt;code data-end=&quot;19813&quot; data-start=&quot;19774&quot;&gt;&quot;i:0#.f|membership|alice@contoso.com&quot;&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;19897&quot; data-start=&quot;19817&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;So for example, to set a &lt;strong data-end=&quot;19853&quot; data-start=&quot;19842&quot;&gt;Manager&lt;/strong&gt; field (single-person) to Alice’s account:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;20007&quot; data-start=&quot;19898&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-json&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Manager&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
  &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;[{&#39;Key&#39;:&#39;i:0#.f|membership|alice@contoso.com&#39;}]&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;20187&quot; data-start=&quot;20009&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This string is exactly what SharePoint needs to resolve the user. It’s essentially the same data you’d get if you were using the SharePoint people picker and selecting that user.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;20423&quot; data-start=&quot;20189&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;If you are on SharePoint on-premises (or older auth), the claim might look different (e.g. &lt;code data-end=&quot;20305&quot; data-start=&quot;20280&quot;&gt;i:0#.w|domain\\username&lt;/code&gt;), but for SharePoint Online, the &lt;code data-end=&quot;20364&quot; data-start=&quot;20339&quot;&gt;|membership|user@tenant&lt;/code&gt; format is correct [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Person%20or%20group%2C%20single,f%7Cmembership%7Ceve%40contoso.com%22%20%7D%5D%29&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Person%20or%20group%2C%20single,f%7Cmembership%7Ceve%40contoso.com%22%20%7D%5D%29&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;gist.github.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;20603&quot; data-start=&quot;20425&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;20462&quot; data-start=&quot;20425&quot;&gt;FieldValue format (Multi-person):&lt;/strong&gt; Similar approach, but include multiple objects in the JSON array. For example, to set a &lt;strong data-end=&quot;20564&quot; data-start=&quot;20551&quot;&gt;Approvers&lt;/strong&gt; multi-person field to Alice and Bob:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;20759&quot; data-start=&quot;20604&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-json&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Approvers&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
  &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;[{&#39;Key&#39;:&#39;i:0#.f|membership|alice@contoso.com&#39;},{&#39;Key&#39;:&#39;i:0#.f|membership|bob@contoso.com&#39;}]&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;21035&quot; data-start=&quot;20761&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notice the &lt;code data-end=&quot;20784&quot; data-start=&quot;20772&quot;&gt;FieldValue&lt;/code&gt; string contains two objects in the array, separated by a comma. No extra commas at the ends, and the entire thing is a string in JSON context. The Power Automate action will pass this string as is. SharePoint will parse it and assign those two users.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;21377&quot; data-start=&quot;21037&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;21070&quot; data-start=&quot;21037&quot;&gt;Special note – Editor/Author:&lt;/strong&gt; If you want to do a system update without changing Modified By, you would include the &lt;strong data-end=&quot;21167&quot; data-start=&quot;21157&quot;&gt;Editor&lt;/strong&gt; field and set it to the current modified-by’s claim, effectively re-setting it to the same value [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=Within%20the%20System%20Update%20we,that%20you%20include%20the%20Editor&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=Within%20the%20System%20Update%20we,that%20you%20include%20the%20Editor&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. For example, if you’re doing &lt;code data-end=&quot;21360&quot; data-start=&quot;21334&quot;&gt;bNewDocumentUpdate: true&lt;/code&gt;, be sure to add:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;21483&quot; data-start=&quot;21378&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Editor&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;[{&#39;Key&#39;:&#39;i:0#.f|membership|john.doe@tenant.com&#39;}]&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;21909&quot; data-start=&quot;21484&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;(using whatever the current editor’s login is). Similarly, to set Created By, use &lt;code data-end=&quot;21574&quot; data-start=&quot;21566&quot;&gt;Author&lt;/code&gt; field with the claim JSON. This is how some flows maintain Author/Editor so those don’t change on an update [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://learn.microsoft.com/en-us/answers/questions/1018412/sharepoint-rest-validateupdatelistitem-return-erro#:~:text=%22FieldName%22%3A%22Created_x0020_By%22%2C%20%22FieldValue%22%3A%22i%3A0e.t%7Coriginal,&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://learn.microsoft.com/en-us/answers/questions/1018412/sharepoint-rest-validateupdatelistitem-return-erro#:~:text=%22FieldName%22%3A%22Created_x0020_By%22%2C%20%22FieldValue%22%3A%22i%3A0e.t%7Coriginal,&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;learn.microsoft.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://learn.microsoft.com/en-us/answers/questions/1018412/sharepoint-rest-validateupdatelistitem-return-erro#:~:text=,&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://learn.microsoft.com/en-us/answers/questions/1018412/sharepoint-rest-validateupdatelistitem-return-erro#:~:text=,&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;learn.microsoft.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. &lt;em data-end=&quot;21908&quot; data-start=&quot;21762&quot;&gt;You typically need high permission (like site owner or at least item-level permissions that allow editing those fields) to update Author/Editor.&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;21931&quot; data-start=&quot;21911&quot;&gt;&lt;em data-end=&quot;21929&quot; data-start=&quot;21911&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Common pitfalls:&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;ul data-end=&quot;23433&quot; data-start=&quot;21932&quot;&gt;
&lt;li data-end=&quot;22498&quot; data-start=&quot;21932&quot;&gt;
&lt;p data-end=&quot;22498&quot; data-start=&quot;21934&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;21961&quot; data-start=&quot;21934&quot;&gt;JSON string formatting:&lt;/strong&gt; Because the FieldValue itself contains quotes and braces, be careful to escape them properly if constructing in Power Automate. The examples above use single quotes inside the string for simplicity. You can also use double quotes inside and escape them. For instance: &lt;code data-end=&quot;22285&quot; data-start=&quot;22230&quot;&gt;&quot;[{\&quot;Key\&quot;:\&quot;i:0#.f|membership|alice@contoso.com\&quot;}]&quot;&lt;/code&gt; is the fully escaped version. If typing in the HTTP action as raw JSON, using single quotes for the internal JSON is a convenient workaround (SharePoint is fine with single or double quotes for the Key string).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;22846&quot; data-start=&quot;22499&quot;&gt;
&lt;p data-end=&quot;22846&quot; data-start=&quot;22501&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Ensure the user exists in the site’s User Information List (i.e., they have been granted access or added to the site). If the email or login is not recognized, the API may return an error or “Multiple entries matched” error. Using the exact claim ensures uniqueness [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://learn.microsoft.com/en-us/answers/questions/1018412/sharepoint-rest-validateupdatelistitem-return-erro#:~:text=I%27m%20making%20a%20REST%20request,email%20only%20has%20one%20record&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://learn.microsoft.com/en-us/answers/questions/1018412/sharepoint-rest-validateupdatelistitem-return-erro#:~:text=I%27m%20making%20a%20REST%20request,email%20only%20has%20one%20record&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;learn.microsoft.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://learn.microsoft.com/en-us/answers/questions/1018412/sharepoint-rest-validateupdatelistitem-return-erro#:~:text=,Created&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://learn.microsoft.com/en-us/answers/questions/1018412/sharepoint-rest-validateupdatelistitem-return-erro#:~:text=,Created&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;learn.microsoft.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;23165&quot; data-start=&quot;22847&quot;&gt;
&lt;p data-end=&quot;23165&quot; data-start=&quot;22849&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;For group values, use a similar approach – the claim for a SharePoint group might be something like &lt;code data-end=&quot;22999&quot; data-start=&quot;22949&quot;&gt;c:0o.c|federateddirectoryclaimprovider|&amp;lt;groupid&amp;gt;&lt;/code&gt; (for O365 groups) or &lt;code data-end=&quot;23049&quot; data-start=&quot;23021&quot;&gt;sharepointgroup:Group Name&lt;/code&gt; in older formats. However, updating SharePoint groups via this method is less common; usually it’s user accounts.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;23433&quot; data-start=&quot;23166&quot;&gt;
&lt;p data-end=&quot;23433&quot; data-start=&quot;23168&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;If you only put the email without the claims prefix, e.g. &lt;code data-end=&quot;23259&quot; data-start=&quot;23226&quot;&gt;&#39;[{&quot;Key&quot;:&quot;alice@contoso.com&quot;}]&#39;&lt;/code&gt;, SharePoint will try to resolve it, but it could fail or pick the wrong user if there are multiple claim providers. The safe route is always include the full claim as shown.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;23467&quot; data-start=&quot;23435&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Hyperlink or Picture Columns&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end=&quot;23715&quot; data-start=&quot;23469&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;23485&quot; data-start=&quot;23469&quot;&gt;Column type:&lt;/strong&gt; “Hyperlink or Picture” columns in SharePoint contain a URL and an optional description. In SharePoint list views, a hyperlink field might display as a clickable link (with description text), and a picture field displays an image.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;23813&quot; data-start=&quot;23717&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;23731&quot; data-start=&quot;23717&quot;&gt;FieldName:&lt;/strong&gt; Use the internal name of the hyperlink field (e.g. &lt;code data-end=&quot;23792&quot; data-start=&quot;23783&quot;&gt;Website&lt;/code&gt;, &lt;code data-end=&quot;23805&quot; data-start=&quot;23794&quot;&gt;ImageLink&lt;/code&gt;, etc.).&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;23926&quot; data-start=&quot;23815&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;23837&quot; data-start=&quot;23815&quot;&gt;FieldValue format:&lt;/strong&gt; Provide the URL, followed by a comma and a space, then the description. The format is:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;23957&quot; data-start=&quot;23927&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;language-xml&quot;&gt;&lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;&lt;span class=&quot;hljs-name&quot;&gt;URL&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&amp;gt;, &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-tag&quot;&gt;&amp;lt;&lt;span class=&quot;hljs-name&quot;&gt;Description&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;24057&quot; data-start=&quot;23958&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;If you leave the description blank, SharePoint will use the URL as the display text. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;24143&quot; data-start=&quot;24059&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Website&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;https://www.bing.com, Bing&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;24580&quot; data-start=&quot;24145&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This sets the &lt;strong data-end=&quot;24170&quot; data-start=&quot;24159&quot;&gt;Website&lt;/strong&gt; column to the URL &lt;em data-end=&quot;24211&quot; data-start=&quot;24189&quot;&gt;&lt;span data-end=&quot;24210&quot; data-start=&quot;24190&quot; href=&quot;https://www.bing.com&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_new&quot;&gt;https://www.bing.com&lt;/span&gt;&lt;/em&gt; with the friendly description “Bing” [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;robertschouten.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. In the list, it will show as a hyperlink “Bing” linking to the Bing website. If you wanted to not have a description, you could just provide &lt;code data-end=&quot;24455&quot; data-start=&quot;24430&quot;&gt;&quot;https://www.bing.com,&quot;&lt;/code&gt; with a trailing comma (or possibly just the URL alone). Including the comma is a clear way to indicate an empty description.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;24751&quot; data-start=&quot;24582&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;For a Picture column (which is essentially the same type under the hood), you would also use the same format: the image URL, then comma, then description/alternate text.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;24773&quot; data-start=&quot;24753&quot;&gt;&lt;em data-end=&quot;24771&quot; data-start=&quot;24753&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Common pitfalls:&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;ul data-end=&quot;25792&quot; data-start=&quot;24774&quot;&gt;
&lt;li data-end=&quot;24998&quot; data-start=&quot;24774&quot;&gt;
&lt;p data-end=&quot;24998&quot; data-start=&quot;24776&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Don’t forget the comma. The comma separates the URL and the description. If you omit it, SharePoint might try to treat the whole string as the URL (and fail if it’s not a valid URL format or just ignore the description).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;25369&quot; data-start=&quot;24999&quot;&gt;
&lt;p data-end=&quot;25369&quot; data-start=&quot;25001&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;If your URL or description contains a comma &lt;strong data-end=&quot;25052&quot; data-start=&quot;25045&quot;&gt;&lt;code data-end=&quot;25050&quot; data-start=&quot;25047&quot;&gt;,&lt;/code&gt;&lt;/strong&gt;, that could confuse the parser. Generally, URLs don’t contain commas, but descriptions might. If your description has a comma, unfortunately this format becomes ambiguous. It’s safest to avoid commas in the description or you would need to experiment (it might not be possible to escape the comma in this context).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;25570&quot; data-start=&quot;25370&quot;&gt;
&lt;p data-end=&quot;25570&quot; data-start=&quot;25372&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Ensure the URL is absolute (e.g. starts with &lt;code data-end=&quot;25426&quot; data-start=&quot;25417&quot;&gt;http://&lt;/code&gt; or &lt;code data-end=&quot;25440&quot; data-start=&quot;25430&quot;&gt;https://&lt;/code&gt; or &lt;code data-end=&quot;25453&quot; data-start=&quot;25444&quot;&gt;mailto:&lt;/code&gt; etc., or is a server-relative link like &lt;code data-end=&quot;25523&quot; data-start=&quot;25494&quot;&gt;/sites/xyz/doclib/file.docx&lt;/code&gt;). A relative URL might not resolve correctly.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;25792&quot; data-start=&quot;25571&quot;&gt;
&lt;p data-end=&quot;25792&quot; data-start=&quot;25573&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;For images, if you provide a link to an image file, SharePoint will just store that URL. The actual image is not uploaded by this action (you’d need a separate step if you want to upload an image and then reference it).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;25858&quot; data-start=&quot;25794&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Managed Metadata (Taxonomy) Columns – Single and Multi-value&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end=&quot;26201&quot; data-start=&quot;25860&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;25876&quot; data-start=&quot;25860&quot;&gt;Column type:&lt;/strong&gt; Managed Metadata columns (also known as taxonomy or term columns) allow you to tag items with terms from a term store. They can be single-value or allow multiple terms. These are one of the trickier field types to update via REST traditionally, but &lt;code data-end=&quot;26150&quot; data-start=&quot;26126&quot;&gt;validateUpdateListItem&lt;/code&gt; makes it simpler by using a special string format.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;26398&quot; data-start=&quot;26203&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;26217&quot; data-start=&quot;26203&quot;&gt;FieldName:&lt;/strong&gt; Use the internal name of the term field. If your column is &quot;Department&quot; (and connected to a term set of departments), the internal name might also be &lt;code data-end=&quot;26380&quot; data-start=&quot;26368&quot;&gt;Department&lt;/code&gt; (unless changed).&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;26463&quot; data-start=&quot;26400&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;26446&quot; data-start=&quot;26400&quot;&gt;FieldValue format (Single-value Metadata):&lt;/strong&gt; The format is:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;26484&quot; data-start=&quot;26464&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-selector-tag&quot;&gt;Label&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-selector-tag&quot;&gt;GUID&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;26528&quot; data-start=&quot;26485&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;followed by a trailing semicolon &lt;code data-end=&quot;26521&quot; data-start=&quot;26518&quot;&gt;;&lt;/code&gt;. Here:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-end=&quot;26670&quot; data-start=&quot;26529&quot;&gt;
&lt;li data-end=&quot;26589&quot; data-start=&quot;26529&quot;&gt;
&lt;p data-end=&quot;26589&quot; data-start=&quot;26531&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;26540&quot; data-start=&quot;26531&quot;&gt;Label&lt;/strong&gt; is the term’s label (the text as seen by users).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;26670&quot; data-start=&quot;26590&quot;&gt;
&lt;p data-end=&quot;26670&quot; data-start=&quot;26592&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;26600&quot; data-start=&quot;26592&quot;&gt;GUID&lt;/strong&gt; is the unique identifier of the term (the Term ID in the term store).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;26906&quot; data-start=&quot;26672&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;You should combine them with a pipe character &lt;code data-end=&quot;26721&quot; data-start=&quot;26718&quot;&gt;|&lt;/code&gt; and then end with &lt;code data-end=&quot;26743&quot; data-start=&quot;26740&quot;&gt;;&lt;/code&gt;. For example, suppose you have a term &lt;strong data-end=&quot;26795&quot; data-start=&quot;26782&quot;&gt;“Finance”&lt;/strong&gt; with GUID &lt;strong data-end=&quot;26848&quot; data-start=&quot;26806&quot;&gt;&lt;code data-end=&quot;26846&quot; data-start=&quot;26808&quot;&gt;12345678-90ab-cdef-1234-567890abcdef&lt;/code&gt;&lt;/strong&gt;. To set the metadata field to “Finance”, you would use:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;27014&quot; data-start=&quot;26908&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Department&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Finance|12345678-90ab-cdef-1234-567890abcdef;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;27191&quot; data-start=&quot;27016&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The trailing semicolon is required even for a single value [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Managed%20metadata%20,34e71483bb8a%3B%22&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Managed%20metadata%20,34e71483bb8a%3B%22&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;gist.github.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;robertschouten.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. It denotes the end of the term entry.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;27975&quot; data-start=&quot;27193&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;What about that mysterious &lt;code data-end=&quot;27224&quot; data-start=&quot;27220&quot;&gt;-1&lt;/code&gt; we sometimes see in examples? In some documentation, you might see formats like &lt;code data-end=&quot;27323&quot; data-start=&quot;27305&quot;&gt;&quot;Label|-1|GUID;&quot;&lt;/code&gt;. The &lt;code data-end=&quot;27333&quot; data-start=&quot;27329&quot;&gt;-1&lt;/code&gt; represents the &lt;strong data-end=&quot;27358&quot; data-start=&quot;27349&quot;&gt;WssId&lt;/strong&gt; (a SharePoint internal ID for the term in the site collection’s hidden list) or a LCID. When &lt;code data-end=&quot;27456&quot; data-start=&quot;27452&quot;&gt;-1&lt;/code&gt; is used, it typically means “let SharePoint figure out the WssId”. In our context, you can actually omit the &lt;code data-end=&quot;27571&quot; data-start=&quot;27566&quot;&gt;-1|&lt;/code&gt; portion – SharePoint will handle it if you just provide Label and GUID. However, some references include it. For simplicity, we’ll continue without it in our examples, as it usually works with just Label|GUID. If you find it not working, you can try including &lt;code data-end=&quot;27837&quot; data-start=&quot;27832&quot;&gt;-1|&lt;/code&gt; right before the GUID. For instance: &lt;code data-end=&quot;27899&quot; data-start=&quot;27875&quot;&gt;&quot;Finance|-1|1234-...;&quot;&lt;/code&gt; – both approaches are known to work [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Managed%20metadata%20,34e71483bb8a%3B%22&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Managed%20metadata%20,34e71483bb8a%3B%22&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;gist.github.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;28333&quot; data-start=&quot;27977&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;28022&quot; data-start=&quot;27977&quot;&gt;FieldValue format (Multi-value Metadata):&lt;/strong&gt; For multiple terms, you concatenate each term in the string, separated by semicolons, and each term entry ends with a semicolon. For example, if you have a multi-value metadata field (let’s call it &lt;strong data-end=&quot;28229&quot; data-start=&quot;28221&quot;&gt;Tags&lt;/strong&gt;) and you want to set two terms: “HR” (GUID &lt;code data-end=&quot;28282&quot; data-start=&quot;28273&quot;&gt;aaaa...&lt;/code&gt;) and “Payroll” (GUID &lt;code data-end=&quot;28313&quot; data-start=&quot;28304&quot;&gt;bbbb...&lt;/code&gt;), you would send:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;28479&quot; data-start=&quot;28335&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-json&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Tags&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
  &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;HR|aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb;Payroll|bbbbbbbb-2222-3333-4444-cccccccccccc;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;28718&quot; data-start=&quot;28481&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;So it’s &lt;code data-end=&quot;28517&quot; data-start=&quot;28489&quot;&gt;Label1|GUID1;Label2|GUID2;&lt;/code&gt; – each term separated by &lt;code data-end=&quot;28546&quot; data-start=&quot;28543&quot;&gt;;&lt;/code&gt; and each has its trailing semicolon [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Managed%20metadata%20,d3054f58db4b%3B%22&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Managed%20metadata%20,d3054f58db4b%3B%22&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;gist.github.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Essentially, for N terms, you’ll have N semicolons in the string (one after each term’s GUID).&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;28888&quot; data-start=&quot;28720&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;SharePoint will parse that and assign the two terms to the field. If any term is not found (e.g. typo in label or wrong GUID), that specific term might fail validation.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;28910&quot; data-start=&quot;28890&quot;&gt;&lt;em data-end=&quot;28908&quot; data-start=&quot;28890&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Common pitfalls:&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;ul data-end=&quot;30639&quot; data-start=&quot;28911&quot;&gt;
&lt;li data-end=&quot;29272&quot; data-start=&quot;28911&quot;&gt;
&lt;p data-end=&quot;29272&quot; data-start=&quot;28913&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The &lt;strong data-end=&quot;28947&quot; data-start=&quot;28917&quot;&gt;GUID must be the Term’s ID&lt;/strong&gt;, not the Term Set ID or anything else. If you select a term in the SharePoint UI and use the developer tools or a query, you can obtain its GUID. Alternatively, if you only know the term label and it’s unique, SharePoint &lt;em data-end=&quot;29176&quot; data-start=&quot;29169&quot;&gt;might&lt;/em&gt; resolve by label, but it’s not guaranteed or advisable. Including the GUID is the surest way.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;29547&quot; data-start=&quot;29273&quot;&gt;
&lt;p data-end=&quot;29547&quot; data-start=&quot;29275&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Label is case-insensitive as far as matching the term, but it’s good to use the exact capitalization as the term. If the label has a “|” or “;” character in it (rare, but possible), that could break the format – hopefully your term labels don’t include those characters.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;30310&quot; data-start=&quot;29548&quot;&gt;
&lt;p data-end=&quot;30310&quot; data-start=&quot;29550&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The format with &lt;code data-end=&quot;29575&quot; data-start=&quot;29566&quot;&gt;-1|GUID&lt;/code&gt; or just &lt;code data-end=&quot;29590&quot; data-start=&quot;29584&quot;&gt;GUID&lt;/code&gt; – both have been used in examples. Using &lt;code data-end=&quot;29636&quot; data-start=&quot;29632&quot;&gt;-1&lt;/code&gt; as the second token is essentially telling SharePoint “I don’t have a valid WssId, please look up the term by GUID and assign it”. SharePoint will then replace -1 with the correct WssId internally. Most of the time, you can skip the &lt;code data-end=&quot;29875&quot; data-start=&quot;29870&quot;&gt;-1|&lt;/code&gt; and just do &lt;code data-end=&quot;29901&quot; data-start=&quot;29888&quot;&gt;Label|GUID;&lt;/code&gt;. If you have issues, try the &lt;code data-end=&quot;29936&quot; data-start=&quot;29931&quot;&gt;-1|&lt;/code&gt; in the middle. For example, the gist of field formats shows an example: &lt;code data-end=&quot;30066&quot; data-start=&quot;30009&quot;&gt;&quot;Department 2|-1|220a3627-4cd3-453d-ac54-34e71483bb8a;&quot; [&lt;/code&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Managed%20metadata%20,34e71483bb8a%3B%22&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Managed%20metadata%20,34e71483bb8a%3B%22&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;gist.github.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt; – here &lt;code data-end=&quot;30127&quot; data-start=&quot;30113&quot;&gt;Department 2&lt;/code&gt; is the label, followed by &lt;code data-end=&quot;30159&quot; data-start=&quot;30154&quot;&gt;-1|&lt;/code&gt; then the GUID, then semicolon. The &lt;code data-end=&quot;30199&quot; data-start=&quot;30195&quot;&gt;-1&lt;/code&gt; is not an ID of the term; it’s just a placeholder indicating no ID (so SharePoint should create/lookup one).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;30639&quot; data-start=&quot;30311&quot;&gt;
&lt;p data-end=&quot;30639&quot; data-start=&quot;30313&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;For multi-value, ensure the string is one continuous string. In some documentation, they show it on multiple lines for readability, but it actually should be one line. There should be no extra semicolon at the very end beyond each term’s terminator (though a trailing semicolon at the very end is fine and typically present).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;30676&quot; data-start=&quot;30641&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Other Field Types (Quick Notes)&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end=&quot;30772&quot; data-start=&quot;30678&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The question didn’t explicitly ask for others, but for completeness, a few other common types:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-end=&quot;31650&quot; data-start=&quot;30773&quot;&gt;
&lt;li data-end=&quot;30994&quot; data-start=&quot;30773&quot;&gt;
&lt;p data-end=&quot;30994&quot; data-start=&quot;30775&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;30828&quot; data-start=&quot;30775&quot;&gt;Text (Single line) and &lt;strong data-end=&quot;30808&quot; data-start=&quot;30800&quot;&gt;Note&lt;/strong&gt; (Multiline text):&lt;/strong&gt; These are straightforward – just put the text in FieldValue. E.g. &lt;code data-end=&quot;30936&quot; data-start=&quot;30895&quot;&gt;&quot;Description&quot;: &quot;This is a sample text.&quot;&lt;/code&gt;. Multiline text can include line breaks &lt;code data-end=&quot;30981&quot; data-start=&quot;30977&quot;&gt;\n&lt;/code&gt; if needed.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;31157&quot; data-start=&quot;30995&quot;&gt;
&lt;p data-end=&quot;31157&quot; data-start=&quot;30997&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;31008&quot; data-start=&quot;30997&quot;&gt;Number:&lt;/strong&gt; Similar to currency but without currency symbol. Just provide the number as a string (or number). E.g. &lt;code data-end=&quot;31134&quot; data-start=&quot;31112&quot;&gt;&quot;FieldValue&quot;: &quot;42.5&quot;&lt;/code&gt; for a number column.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;31205&quot; data-start=&quot;31158&quot;&gt;
&lt;p data-end=&quot;31205&quot; data-start=&quot;31160&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;31188&quot; data-start=&quot;31160&quot;&gt;Yes/No (already covered)&lt;/strong&gt; – use &quot;1&quot;/&quot;0&quot;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;31287&quot; data-start=&quot;31206&quot;&gt;
&lt;p data-end=&quot;31287&quot; data-start=&quot;31208&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;31223&quot; data-start=&quot;31208&quot;&gt;Calculated:&lt;/strong&gt; You generally cannot set a calculated column (it’s computed).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;31419&quot; data-start=&quot;31288&quot;&gt;
&lt;p data-end=&quot;31419&quot; data-start=&quot;31290&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;31299&quot; data-start=&quot;31290&quot;&gt;GUID:&lt;/strong&gt; Provide a GUID string if needed (rare). E.g. &lt;code data-end=&quot;31399&quot; data-start=&quot;31345&quot;&gt;&quot;FieldValue&quot;: &quot;3cf2375d-5c8e-4efc-95a3-73a8b4e82102&quot;&lt;/code&gt; for a GUID field.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;31650&quot; data-start=&quot;31420&quot;&gt;
&lt;p data-end=&quot;31650&quot; data-start=&quot;31422&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;31438&quot; data-start=&quot;31422&quot;&gt;Attachments:&lt;/strong&gt; You can’t directly add attachments via this; you would use a different API to attach files. But you can set the Attachments field to &lt;code data-end=&quot;31575&quot; data-start=&quot;31572&quot;&gt;0&lt;/code&gt; or &lt;code data-end=&quot;31582&quot; data-start=&quot;31579&quot;&gt;1&lt;/code&gt; possibly (though it’s read-only indicating if attachments exist).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;31812&quot; data-start=&quot;31652&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Now that we’ve seen all the formats, let’s piece it all together with how to incorporate this into the Power Automate flow and consider when to use this method.&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-end=&quot;31869&quot; data-start=&quot;31814&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Using the HTTP Action in a Flow – End-to-End Example&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;32023&quot; data-start=&quot;31871&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;To illustrate, let’s say we have a SharePoint Online list called &lt;strong data-end=&quot;31948&quot; data-start=&quot;31936&quot;&gt;Projects&lt;/strong&gt; with the following columns we want to update via &lt;code data-end=&quot;32022&quot; data-start=&quot;31998&quot;&gt;validateUpdateListItem&lt;/code&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-end=&quot;32353&quot; data-start=&quot;32024&quot;&gt;
&lt;li data-end=&quot;32052&quot; data-start=&quot;32024&quot;&gt;
&lt;p data-end=&quot;32052&quot; data-start=&quot;32026&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Title (Single line text)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;32074&quot; data-start=&quot;32053&quot;&gt;
&lt;p data-end=&quot;32074&quot; data-start=&quot;32055&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Approved (Yes/No)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;32096&quot; data-start=&quot;32075&quot;&gt;
&lt;p data-end=&quot;32096&quot; data-start=&quot;32077&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Start Date (Date)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;32118&quot; data-start=&quot;32097&quot;&gt;
&lt;p data-end=&quot;32118&quot; data-start=&quot;32099&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Budget (Currency)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;32161&quot; data-start=&quot;32119&quot;&gt;
&lt;p data-end=&quot;32161&quot; data-start=&quot;32121&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Category (Lookup to a Categories list)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;32181&quot; data-start=&quot;32162&quot;&gt;
&lt;p data-end=&quot;32181&quot; data-start=&quot;32164&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Status (Choice)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;32212&quot; data-start=&quot;32182&quot;&gt;
&lt;p data-end=&quot;32212&quot; data-start=&quot;32184&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Tags (Choice multi-select)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;32241&quot; data-start=&quot;32213&quot;&gt;
&lt;p data-end=&quot;32241&quot; data-start=&quot;32215&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Project Manager (Person)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;32281&quot; data-start=&quot;32242&quot;&gt;
&lt;p data-end=&quot;32281&quot; data-start=&quot;32244&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Related Teams (Person multi-select)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;32305&quot; data-start=&quot;32282&quot;&gt;
&lt;p data-end=&quot;32305&quot; data-start=&quot;32284&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Website (Hyperlink)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;32353&quot; data-start=&quot;32306&quot;&gt;
&lt;p data-end=&quot;32353&quot; data-start=&quot;32308&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Department (Managed Metadata single-select)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;32397&quot; data-start=&quot;32355&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;We want to update item ID 42 in this list.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;32446&quot; data-start=&quot;32399&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Our HTTP request action would be configured as:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-end=&quot;32672&quot; data-start=&quot;32448&quot;&gt;
&lt;li data-end=&quot;32468&quot; data-start=&quot;32448&quot;&gt;
&lt;p data-end=&quot;32468&quot; data-start=&quot;32450&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;32461&quot; data-start=&quot;32450&quot;&gt;Method:&lt;/strong&gt; POST&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;32554&quot; data-start=&quot;32469&quot;&gt;
&lt;p data-end=&quot;32554&quot; data-start=&quot;32471&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;32479&quot; data-start=&quot;32471&quot;&gt;URI:&lt;/strong&gt; &lt;code data-end=&quot;32552&quot; data-start=&quot;32480&quot;&gt;_api/web/Lists/GetByTitle(&#39;Projects&#39;)/items(42)/validateUpdateListItem&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;32610&quot; data-start=&quot;32555&quot;&gt;
&lt;p data-end=&quot;32610&quot; data-start=&quot;32557&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;32569&quot; data-start=&quot;32557&quot;&gt;Headers:&lt;/strong&gt; (Accept and Content-Type as discussed)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;32672&quot; data-start=&quot;32611&quot;&gt;
&lt;p data-end=&quot;32672&quot; data-start=&quot;32613&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;32622&quot; data-start=&quot;32613&quot;&gt;Body:&lt;/strong&gt; something like below (formatted for readability):&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;33717&quot; data-start=&quot;32674&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-json&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;formValues&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;[&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
    &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Title&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Project Apollo&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
    &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Approved&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;1&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
    &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;StartDate&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;2025-07-01 00:00:00&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
    &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Budget&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;250000&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
    &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Category&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;3&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
    &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Status&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Active&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
    &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Tags&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;High Priority;#Internal&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
    &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;ProjectManager&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;[{&#39;Key&#39;:&#39;i:0#.f|membership|alice@contoso.com&#39;}]&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
    &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;RelatedTeams&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;[{&#39;Key&#39;:&#39;i:0#.f|membership|teamlead@contoso.com&#39;},{&#39;Key&#39;:&#39;i:0#.f|membership|engineer@contoso.com&#39;}]&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
    &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Website&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;https://contoso.com/projects/apollo, Apollo Internal Site&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
    &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Department&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Research|d85a5c3f-447a-4d5c-9df4-4baf12345678;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
    &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldName&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Editor&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;FieldValue&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;[{&#39;Key&#39;:&#39;i:0#.f|membership|&amp;lt;your login here&amp;gt;&#39;}]&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
  &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
  &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-attr&quot;&gt;&quot;bNewDocumentUpdate&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-literal&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;33761&quot; data-start=&quot;33719&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;A few things to note in this example body:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-end=&quot;34812&quot; data-start=&quot;33762&quot;&gt;
&lt;li data-end=&quot;34179&quot; data-start=&quot;33762&quot;&gt;
&lt;p data-end=&quot;34179&quot; data-start=&quot;33764&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;We included &lt;code data-end=&quot;33784&quot; data-start=&quot;33776&quot;&gt;Editor&lt;/code&gt; with the current user’s claim and set &lt;code data-end=&quot;33849&quot; data-start=&quot;33823&quot;&gt;bNewDocumentUpdate: true&lt;/code&gt;. This means the update will not create a new version [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=This%20pain%20that%20I%20bumped,I%20found%20the%20same%20issue&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=This%20pain%20that%20I%20bumped,I%20found%20the%20same%20issue&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt; and by setting Editor to the same value, SharePoint will treat it as if the last modified by didn’t change, preventing a version bump [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=Within%20the%20System%20Update%20we,that%20you%20include%20the%20Editor&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=Within%20the%20System%20Update%20we,that%20you%20include%20the%20Editor&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Essentially this achieves a &lt;strong data-end=&quot;34161&quot; data-start=&quot;34144&quot;&gt;system update&lt;/strong&gt; (silent update).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;34378&quot; data-start=&quot;34180&quot;&gt;
&lt;p data-end=&quot;34378&quot; data-start=&quot;34182&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;We set Approved to &quot;1&quot; (Yes), StartDate in a standard format, Budget as a number, Category as an ID, Status/Tags with appropriate strings, and the complex fields with their required JSON strings.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;34812&quot; data-start=&quot;34379&quot;&gt;
&lt;p data-end=&quot;34812&quot; data-start=&quot;34381&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;If any value is invalid (say we put an incorrect GUID or a choice that doesn’t exist), &lt;code data-end=&quot;34492&quot; data-start=&quot;34468&quot;&gt;validateUpdateListItem&lt;/code&gt; will return a response indicating which field failed and why. A successful response will return a JSON payload listing each field updated and &lt;code data-end=&quot;34654&quot; data-start=&quot;34635&quot;&gt;ErrorMessage:null&lt;/code&gt; for each [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=The%20last%20advantage%20the%20ValidateUpdateListItem,response%20in%20the%20following%20format&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=The%20last%20advantage%20the%20ValidateUpdateListItem,response%20in%20the%20following%20format&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;robertschouten.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=Summary&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=Summary&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;robertschouten.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. In Power Automate, you can capture the output and parse it if needed.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;34890&quot; data-start=&quot;34814&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Comparing &lt;code data-end=&quot;34851&quot; data-start=&quot;34827&quot;&gt;validateUpdateListItem&lt;/code&gt; with the Standard &quot;Update item&quot; Action&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;35050&quot; data-start=&quot;34892&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;In conclusion, why go through the trouble of using &lt;code data-end=&quot;34967&quot; data-start=&quot;34943&quot;&gt;validateUpdateListItem&lt;/code&gt; instead of the simpler built-in &lt;strong data-end=&quot;35015&quot; data-start=&quot;35000&quot;&gt;Update item&lt;/strong&gt; action? Here’s a quick comparison:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-end=&quot;36993&quot; data-start=&quot;35052&quot;&gt;
&lt;li data-end=&quot;35721&quot; data-start=&quot;35052&quot;&gt;
&lt;p data-end=&quot;35081&quot; data-start=&quot;35054&quot;&gt;&lt;strong data-end=&quot;35079&quot; data-start=&quot;35054&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Standard Update item:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;35721&quot; data-start=&quot;35084&quot;&gt;
&lt;li data-end=&quot;35244&quot; data-start=&quot;35084&quot;&gt;
&lt;p data-end=&quot;35244&quot; data-start=&quot;35086&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;em data-end=&quot;35093&quot; data-start=&quot;35086&quot;&gt;Pros:&lt;/em&gt; Very easy to use for basic updates. You just fill in the fields in the action and it updates them. No need to know internal names or REST endpoints.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;35721&quot; data-start=&quot;35247&quot;&gt;
&lt;p data-end=&quot;35721&quot; data-start=&quot;35249&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;em data-end=&quot;35256&quot; data-start=&quot;35249&quot;&gt;Cons:&lt;/em&gt; It cannot modify system fields like Modified or Modified By. It always counts as a user update (incrementing version and triggering flows). It doesn’t easily handle certain complex field types (for example, multi-select person or taxonomy) unless you supply data in the exact format anyway (and some fields like Managed Metadata can’t be set via Update item in Power Automate at all). Also, you cannot do “no version” updates with it – every call is a normal edit.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;36993&quot; data-start=&quot;35723&quot;&gt;
&lt;p data-end=&quot;35763&quot; data-start=&quot;35725&quot;&gt;&lt;strong data-end=&quot;35761&quot; data-start=&quot;35725&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;validateUpdateListItem via HTTP:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;36993&quot; data-start=&quot;35766&quot;&gt;
&lt;li data-end=&quot;36625&quot; data-start=&quot;35766&quot;&gt;
&lt;p data-end=&quot;36625&quot; data-start=&quot;35768&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;em data-end=&quot;35775&quot; data-start=&quot;35768&quot;&gt;Pros:&lt;/em&gt; Enables &lt;strong data-end=&quot;35802&quot; data-start=&quot;35784&quot;&gt;system updates&lt;/strong&gt; – you can update an item without changing Modified By/date and without creating a new version (when used with &lt;code data-end=&quot;35938&quot; data-start=&quot;35913&quot;&gt;bNewDocumentUpdate:true&lt;/code&gt; and setting Editor) [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=It%20wasn%E2%80%99t%20really%20clear%20to,Nice&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=It%20wasn%E2%80%99t%20really%20clear%20to,Nice&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;robertschouten.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=Within%20the%20System%20Update%20we,that%20you%20include%20the%20Editor&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=Within%20the%20System%20Update%20we,that%20you%20include%20the%20Editor&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. This is perfect for scenarios like updating a status flag in the same flow that was triggered by an update (avoiding infinite loops). It also allows setting values that are otherwise read-only (like you could copy an old Modified date into the Modified field to essentially undo a timestamp change). It supports updating fields that Power Automate’s UI doesn’t support well (people fields require just an email in UI, but you might want to set multiple people, etc., which the HTTP method handles by the formats we used). Basically, it gives you &lt;em data-end=&quot;36602&quot; data-start=&quot;36584&quot;&gt;full flexibility&lt;/em&gt; of SharePoint’s API.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;36993&quot; data-start=&quot;36628&quot;&gt;
&lt;p data-end=&quot;36993&quot; data-start=&quot;36630&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;em data-end=&quot;36637&quot; data-start=&quot;36630&quot;&gt;Cons:&lt;/em&gt; It’s more complex to set up. You have to form the JSON correctly, know internal field names, and handle the claims/ID formats. A mistake in the format can cause the update to fail. Debugging might require looking at the HTTP response. It’s also an “HTTP request”, which some business users shy away from, but it’s not too difficult once you have examples.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;37041&quot; data-start=&quot;36995&quot;&gt;&lt;strong data-end=&quot;37039&quot; data-start=&quot;36995&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;When to prefer &lt;code data-end=&quot;37036&quot; data-start=&quot;37012&quot;&gt;validateUpdateListItem&lt;/code&gt;:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;38148&quot; data-start=&quot;37042&quot;&gt;
&lt;li data-end=&quot;37303&quot; data-start=&quot;37042&quot;&gt;
&lt;p data-end=&quot;37303&quot; data-start=&quot;37044&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;When you need to perform &lt;strong data-end=&quot;37087&quot; data-start=&quot;37069&quot;&gt;silent updates&lt;/strong&gt; that shouldn’t retrigger your flow or bump version history (e.g., writing back a “Processed” flag on the item that triggered the flow) [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=list%20will%20run,status%20field%20without%20triggering%20flows&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=list%20will%20run,status%20field%20without%20triggering%20flows&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://tomriha.com/update-sharepoint-column-without-new-item-version-in-power-automate/#:~:text=action,not%20create%20another%20item%20version&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://tomriha.com/update-sharepoint-column-without-new-item-version-in-power-automate/#:~:text=action,not%20create%20another%20item%20version&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;tomriha.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;37475&quot; data-start=&quot;37304&quot;&gt;
&lt;p data-end=&quot;37475&quot; data-start=&quot;37306&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;When you need to update fields like &lt;strong data-end=&quot;37362&quot; data-start=&quot;37342&quot;&gt;Managed Metadata&lt;/strong&gt;, &lt;strong data-end=&quot;37380&quot; data-start=&quot;37364&quot;&gt;Multi-person&lt;/strong&gt;, or &lt;strong data-end=&quot;37398&quot; data-start=&quot;37385&quot;&gt;Hyperlink&lt;/strong&gt; in one go – especially if the standard action doesn’t support them easily.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;37895&quot; data-start=&quot;37476&quot;&gt;
&lt;p data-end=&quot;37895&quot; data-start=&quot;37478&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;When you need to update &lt;strong data-end=&quot;37526&quot; data-start=&quot;37502&quot;&gt;Modified By/Modified&lt;/strong&gt; (system columns) or do special things like “system update” for record-keeping reasons (perhaps to avoid showing a service account as the last editor). For instance, some solutions capture the original Modified date and user, then use this method to reapply them after making changes, so it’s as if nothing changed those fields [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepoint.stackexchange.com/questions/314160/can-i-update-a-list-item-without-affecting-the-modified-by-and-modified-date#:~:text=Can%20i%20update%20a%20list,modified%20and%20pass%20same%20values&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepoint.stackexchange.com/questions/314160/can-i-update-a-list-item-without-affecting-the-modified-by-and-modified-date#:~:text=Can%20i%20update%20a%20list,modified%20and%20pass%20same%20values&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepoint.stackexchange.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;38148&quot; data-start=&quot;37896&quot;&gt;
&lt;p data-end=&quot;38148&quot; data-start=&quot;37898&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;If you want a single action to update many fields at once (the HTTP request can set multiple fields in one call, whereas you might otherwise use multiple actions or a single Update item action which may be fine but can’t do some of the above points).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;38511&quot; data-start=&quot;38150&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;38189&quot; data-start=&quot;38150&quot;&gt;When to use the normal Update item:&lt;/strong&gt; If your update is straightforward (e.g., just updating a text or choice field) and you don’t need the special capabilities, the standard action is simpler and less error-prone. Use &lt;code data-end=&quot;38395&quot; data-start=&quot;38371&quot;&gt;validateUpdateListItem&lt;/code&gt; only when you have a specific need that it addresses (or if you’re comfortable with it and prefer its flexibility).&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;39022&quot; data-start=&quot;38513&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Finally, always test your flow with sample data. If a field fails to update, inspect the HTTP response. The &lt;code data-end=&quot;38645&quot; data-start=&quot;38621&quot;&gt;validateUpdateListItem&lt;/code&gt; returns a detailed result per field with an error message if something went wrong [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=The%20last%20advantage%20the%20ValidateUpdateListItem,response%20in%20the%20following%20format&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=The%20last%20advantage%20the%20ValidateUpdateListItem,response%20in%20the%20following%20format&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;robertschouten.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. This can help you debug (for example, an invalid choice value or a wrong term GUID will produce an error message in the response for that field). You can see those by capturing the output of the HTTP action (it’s a JSON with a &quot;value&quot; array of results).&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;39660&quot; data-start=&quot;39024&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;39039&quot; data-start=&quot;39024&quot;&gt;Conclusion:&lt;/strong&gt; Using the SharePoint REST API’s &lt;code data-end=&quot;39096&quot; data-start=&quot;39072&quot;&gt;validateUpdateListItem&lt;/code&gt; in Power Automate opens up advanced scenarios like system updates and updating complex field types. It requires a bit more JSON crafting, but with the examples provided above, you can update Yes/No, Date, Currency, Lookup, Choice, Person, Hyperlink, and Managed Metadata fields with ease. This approach is especially powerful for SharePoint Online where keeping flows efficient and avoiding unnecessary versioning is important. Once you get the hang of it, &lt;code data-end=&quot;39578&quot; data-start=&quot;39554&quot;&gt;validateUpdateListItem&lt;/code&gt; can be a reliable tool in your Power Automate arsenal for SharePoint integration.&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-end=&quot;39675&quot; data-start=&quot;39662&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;References&lt;/span&gt;&lt;/h2&gt;
&lt;ul data-end=&quot;41417&quot; data-is-last-node=&quot;&quot; data-is-only-node=&quot;&quot; data-start=&quot;39677&quot;&gt;
&lt;li data-end=&quot;40007&quot; data-start=&quot;39677&quot;&gt;
&lt;p data-end=&quot;40007&quot; data-start=&quot;39679&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Pieter Veenstra – &lt;em data-end=&quot;39789&quot; data-start=&quot;39697&quot;&gt;System Updates in SharePoint from Power Automate using the ValidateUpdateListItem endpoint&lt;/em&gt; (SharePains blog, 2024) – Explanation of using &lt;code data-end=&quot;39861&quot; data-start=&quot;39837&quot;&gt;validateUpdateListItem&lt;/code&gt; for silent updates, importance of Editor field, and example JSON -&amp;nbsp;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=This%20pain%20that%20I%20bumped,I%20found%20the%20same%20issue&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=This%20pain%20that%20I%20bumped,I%20found%20the%20same%20issue&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=Notice%20that%20formValues%20is%20an,with%20the%20following%20two%20properties&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=Notice%20that%20formValues%20is%20an,with%20the%20following%20two%20properties&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepains.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;40277&quot; data-start=&quot;40008&quot;&gt;
&lt;p data-end=&quot;40277&quot; data-start=&quot;40010&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Robert Schouten – &lt;em data-end=&quot;40100&quot; data-start=&quot;40028&quot;&gt;Update file metadata with REST API using ValidateUpdateListItem method&lt;/em&gt; (2018) – Overview of the endpoint’s benefits and formats for taxonomy, person, hyperlink fields -&amp;nbsp;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;robertschouten.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;robertschouten.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;40555&quot; data-start=&quot;40278&quot;&gt;
&lt;p data-end=&quot;40555&quot; data-start=&quot;40280&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Phillip Harding (GitHub Gist) – &lt;em data-end=&quot;40361&quot; data-start=&quot;40312&quot;&gt;SharePoint REST API Add/ValidateUpdateListItems&lt;/em&gt; – A cheat-sheet of &lt;code data-end=&quot;40392&quot; data-start=&quot;40381&quot;&gt;FieldName&lt;/code&gt;/&lt;code data-end=&quot;40405&quot; data-start=&quot;40393&quot;&gt;FieldValue&lt;/code&gt; formats for various field types (Yes/No, Choice, Lookup, User, etc.) -&amp;nbsp;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Yes%2FNo%20field%20,&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Yes%2FNo%20field%20,&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;gist.github.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Hyperlink%20or%20picture%20,&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Hyperlink%20or%20picture%20,&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;gist.github.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;40821&quot; data-start=&quot;40556&quot;&gt;
&lt;p data-end=&quot;40821&quot; data-start=&quot;40558&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;CLI for Microsoft 365 – &lt;em data-end=&quot;40596&quot; data-start=&quot;40582&quot;&gt;spo file add&lt;/em&gt; documentation – Examples of updating metadata (person, date, URL, choice, yes/no, lookup, currency) via &lt;code data-end=&quot;40725&quot; data-start=&quot;40701&quot;&gt;validateUpdateListItem&lt;/code&gt; under the hood -&amp;nbsp;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-add/#:~:text=Adds%20the%20specified%20file%20to,folder%20and%20changes%20yes%2Fno%20field&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-add/#:~:text=Adds%20the%20specified%20file%20to,folder%20and%20changes%20yes%2Fno%20field&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;pnp.github.io&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-add/#:~:text=changes%20lookup%20field%20and%20multi,field&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-add/#:~:text=changes%20lookup%20field%20and%20multi,field&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;pnp.github.io&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;41075&quot; data-start=&quot;40822&quot;&gt;
&lt;p data-end=&quot;41075&quot; data-start=&quot;40824&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Stack Overflow – &lt;em data-end=&quot;40903&quot; data-start=&quot;40841&quot;&gt;Update &#39;date&#39; column using &#39;ValidateUpdateListItem&#39; endpoint&lt;/em&gt; – Discussion on date format issues and recommendation of a locale-independent format (&lt;code data-end=&quot;41011&quot; data-start=&quot;40990&quot;&gt;YYYY-MM-DD hh:mm:ss&lt;/code&gt;) for date/time values -&amp;nbsp;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://stackoverflow.com/questions/71842491/update-date-column-using-validateupdatelistitem-endpoint#:~:text=Referring%20to%20the%20GitHub%20link,independent%20format%20in%20ValidateUpdateListItem%20is&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://stackoverflow.com/questions/71842491/update-date-column-using-validateupdatelistitem-endpoint#:~:text=Referring%20to%20the%20GitHub%20link,independent%20format%20in%20ValidateUpdateListItem%20is&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;stackoverflow.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;41417&quot; data-is-last-node=&quot;&quot; data-start=&quot;41076&quot;&gt;
&lt;p data-end=&quot;41417&quot; data-is-last-node=&quot;&quot; data-start=&quot;41078&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;SharePoint StackExchange – Various Q&amp;amp;A on using &lt;code data-end=&quot;41150&quot; data-start=&quot;41126&quot;&gt;ValidateUpdateListItem&lt;/code&gt; for updating Author/Editor without changing Modified date&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://sharepoint.stackexchange.com/questions/314160/can-i-update-a-list-item-without-affecting-the-modified-by-and-modified-date#:~:text=Can%20i%20update%20a%20list,modified%20and%20pass%20same%20values&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://sharepoint.stackexchange.com/questions/314160/can-i-update-a-list-item-without-affecting-the-modified-by-and-modified-date#:~:text=Can%20i%20update%20a%20list,modified%20and%20pass%20same%20values&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;sharepoint.stackexchange.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt; and handling person field claims&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://learn.microsoft.com/en-us/answers/questions/1018412/sharepoint-rest-validateupdatelistitem-return-erro#:~:text=%22FieldName%22%3A%22Created_x0020_By%22%2C%20%22FieldValue%22%3A%22i%3A0e.t%7Coriginal,&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://learn.microsoft.com/en-us/answers/questions/1018412/sharepoint-rest-validateupdatelistitem-return-erro#:~:text=%22FieldName%22%3A%22Created_x0020_By%22%2C%20%22FieldValue%22%3A%22i%3A0e.t%7Coriginal,&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;learn.microsoft.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://learn.microsoft.com/en-us/answers/questions/1018412/sharepoint-rest-validateupdatelistitem-return-erro#:~:text=,&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://learn.microsoft.com/en-us/answers/questions/1018412/sharepoint-rest-validateupdatelistitem-return-erro#:~:text=,&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;learn.microsoft.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;. These reinforce how to format special fields in the JSON.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;border-token-border-sharp flex flex-col gap-2 border-b&quot;&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;flex flex-col gap-4&quot;&gt;&lt;div class=&quot;flex flex-col&quot;&gt;&lt;div class=&quot;text-base font-medium&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Citations&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ms-[-12px] flex flex-col gap-1&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=list%20will%20run,status%20field%20without%20triggering%20flows&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://sharepains.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;System Updates in SharePoint from Power Automate using the ValidateUpdateListItem endpoint&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=This%20pain%20that%20I%20bumped,I%20found%20the%20same%20issue&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://sharepains.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;System Updates in SharePoint from Power Automate using the ValidateUpdateListItem endpoint&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=If%20you%20want%20to%20do,Update%20for%20quite%20a%20while&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://sharepains.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;System Updates in SharePoint from Power Automate using the ValidateUpdateListItem endpoint&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=It%20wasn%E2%80%99t%20really%20clear%20to,Nice&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://robertschouten.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Update file metadata with REST API using ValidateUpdateListItem method – ROBERT SCHOUTEN&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=The%20way%20these%20system%20updates,in%20the%20SharePoint%20User%20Interface&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://sharepains.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;System Updates in SharePoint from Power Automate using the ValidateUpdateListItem endpoint&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=Notice%20that%20formValues%20is%20an,with%20the%20following%20two%20properties&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://sharepains.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;System Updates in SharePoint from Power Automate using the ValidateUpdateListItem endpoint&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=Within%20the%20System%20Update%20we,that%20you%20include%20the%20Editor&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://sharepains.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;System Updates in SharePoint from Power Automate using the ValidateUpdateListItem endpoint&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Yes%2FNo%20field%20,&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://gist.github.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;SharePoint REST API Add/ValidateUpdateListItems · GitHub&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://stackoverflow.com/questions/71842491/update-date-column-using-validateupdatelistitem-endpoint#:~:text=Referring%20to%20the%20GitHub%20link,independent%20format%20in%20ValidateUpdateListItem%20is&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://stackoverflow.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;sharepoint - Update &#39;date&#39; column using &#39;ValidateUpdateListItem&#39; endpoint - Stack Overflow&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://stackoverflow.com/questions/71842491/update-date-column-using-validateupdatelistitem-endpoint&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=%7B%20&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://sharepains.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;System Updates in SharePoint from Power Automate using the ValidateUpdateListItem endpoint&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=Long%20story%20short%3A&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://robertschouten.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Update file metadata with REST API using ValidateUpdateListItem method – ROBERT SCHOUTEN&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-add/#:~:text=changes%20lookup%20field%20and%20multi,field&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://pnp.github.io&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;spo file add - CLI for Microsoft 365&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-add/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://sharepains.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;System Updates in SharePoint from Power Automate using the ValidateUpdateListItem endpoint&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Choice%20field%20,Choice%202%22&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://gist.github.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;SharePoint REST API Add/ValidateUpdateListItems · GitHub&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Person%20or%20group%2C%20single,f%7Cmembership%7Ceve%40contoso.com%22%20%7D%5D%29&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://gist.github.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;SharePoint REST API Add/ValidateUpdateListItems · GitHub&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://learn.microsoft.com/en-us/answers/questions/1018412/sharepoint-rest-validateupdatelistitem-return-erro#:~:text=%22FieldName%22%3A%22Created_x0020_By%22%2C%20%22FieldValue%22%3A%22i%3A0e.t%7Coriginal,&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://learn.microsoft.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Sharepoint REST ValidateUpdateListItem return error response. - Microsoft Q&amp;amp;A&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://learn.microsoft.com/en-us/answers/questions/1018412/sharepoint-rest-validateupdatelistitem-return-erro&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://learn.microsoft.com/en-us/answers/questions/1018412/sharepoint-rest-validateupdatelistitem-return-erro#:~:text=,&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://learn.microsoft.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Sharepoint REST ValidateUpdateListItem return error response. - Microsoft Q&amp;amp;A&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://learn.microsoft.com/en-us/answers/questions/1018412/sharepoint-rest-validateupdatelistitem-return-erro&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://learn.microsoft.com/en-us/answers/questions/1018412/sharepoint-rest-validateupdatelistitem-return-erro#:~:text=I%27m%20making%20a%20REST%20request,email%20only%20has%20one%20record&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://learn.microsoft.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Sharepoint REST ValidateUpdateListItem return error response. - Microsoft Q&amp;amp;A&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://learn.microsoft.com/en-us/answers/questions/1018412/sharepoint-rest-validateupdatelistitem-return-erro&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://learn.microsoft.com/en-us/answers/questions/1018412/sharepoint-rest-validateupdatelistitem-return-erro#:~:text=,Created&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://learn.microsoft.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Sharepoint REST ValidateUpdateListItem return error response. - Microsoft Q&amp;amp;A&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://learn.microsoft.com/en-us/answers/questions/1018412/sharepoint-rest-validateupdatelistitem-return-erro&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://robertschouten.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Update file metadata with REST API using ValidateUpdateListItem method – ROBERT SCHOUTEN&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Managed%20metadata%20,34e71483bb8a%3B%22&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://gist.github.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;SharePoint REST API Add/ValidateUpdateListItems · GitHub&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://robertschouten.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Update file metadata with REST API using ValidateUpdateListItem method – ROBERT SCHOUTEN&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Managed%20metadata%20,34e71483bb8a%3B%22&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://gist.github.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;SharePoint REST API Add/ValidateUpdateListItems · GitHub&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Managed%20metadata%20,d3054f58db4b%3B%22&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://gist.github.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;SharePoint REST API Add/ValidateUpdateListItems · GitHub&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=The%20last%20advantage%20the%20ValidateUpdateListItem,response%20in%20the%20following%20format&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://robertschouten.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Update file metadata with REST API using ValidateUpdateListItem method – ROBERT SCHOUTEN&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=Summary&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://robertschouten.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Update file metadata with REST API using ValidateUpdateListItem method – ROBERT SCHOUTEN&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://tomriha.com/update-sharepoint-column-without-new-item-version-in-power-automate/#:~:text=action,not%20create%20another%20item%20version&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Update SharePoint column without new item version in Power Automate&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://tomriha.com/update-sharepoint-column-without-new-item-version-in-power-automate/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://sharepoint.stackexchange.com/questions/314160/can-i-update-a-list-item-without-affecting-the-modified-by-and-modified-date#:~:text=Can%20i%20update%20a%20list,modified%20and%20pass%20same%20values&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://sharepoint.stackexchange.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Can i update a list item without affecting the Modified By and ...&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://sharepoint.stackexchange.com/questions/314160/can-i-update-a-list-item-without-affecting-the-modified-by-and-modified-date&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://robertschouten.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;Update file metadata with REST API using ValidateUpdateListItem method – ROBERT SCHOUTEN&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Yes%2FNo%20field%20,&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://gist.github.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;SharePoint REST API Add/ValidateUpdateListItems · GitHub&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Hyperlink%20or%20picture%20,&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://gist.github.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;SharePoint REST API Add/ValidateUpdateListItems · GitHub&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;hover:bg-token-main-surface-secondary flex flex-col gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-add/#:~:text=Adds%20the%20specified%20file%20to,folder%20and%20changes%20yes%2Fno%20field&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://pnp.github.io&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;&lt;p class=&quot;text-normal truncate text-base font-semibold&quot;&gt;spo file add - CLI for Microsoft 365&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;text-token-text-secondary line-clamp-2 text-sm leading-snug font-normal&quot;&gt;https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-add/&lt;/div&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;flex flex-col gap-2.5&quot;&gt;&lt;div class=&quot;text-base font-medium&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;All Sources&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;ms-[-12px] flex flex-wrap&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;a class=&quot;group hover:bg-token-main-surface-secondary flex items-center gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://sharepains.com/2024/01/05/system-update-sharepoint-power-automate/#:~:text=list%20will%20run,status%20field%20without%20triggering%20flows&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://sharepains.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;sharepains&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;group hover:bg-token-main-surface-secondary flex items-center gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://robertschouten.com/2018/04/30/update-file-metadata-with-rest-api-using-validateupdatelistitem-method/#:~:text=It%20wasn%E2%80%99t%20really%20clear%20to,Nice&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://robertschouten.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;robertschouten&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;group hover:bg-token-main-surface-secondary flex items-center gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://gist.github.com/phillipharding/30714d4ee245bfc0cba5699b6bb4193e#:~:text=%2F%2F%20Yes%2FNo%20field%20,&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://gist.github.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;gist.github&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;group hover:bg-token-main-surface-secondary flex items-center gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://stackoverflow.com/questions/71842491/update-date-column-using-validateupdatelistitem-endpoint#:~:text=Referring%20to%20the%20GitHub%20link,independent%20format%20in%20ValidateUpdateListItem%20is&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://stackoverflow.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;stackoverflow&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;group hover:bg-token-main-surface-secondary flex items-center gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://pnp.github.io/cli-microsoft365/cmd/spo/file/file-add/#:~:text=changes%20lookup%20field%20and%20multi,field&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://pnp.github.io&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;pnp.github&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;group hover:bg-token-main-surface-secondary flex items-center gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://learn.microsoft.com/en-us/answers/questions/1018412/sharepoint-rest-validateupdatelistitem-return-erro#:~:text=%22FieldName%22%3A%22Created_x0020_By%22%2C%20%22FieldValue%22%3A%22i%3A0e.t%7Coriginal,&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://learn.microsoft.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;learn.microsoft&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;group hover:bg-token-main-surface-secondary flex items-center gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://tomriha.com/update-sharepoint-column-without-new-item-version-in-power-automate/#:~:text=action,not%20create%20another%20item%20version&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot;&gt;&lt;svg class=&quot;icon-sm text-token-text-quaternary&quot; fill=&quot;none&quot; height=&quot;24&quot; viewbox=&quot;0 0 18 18&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g id=&quot;browser&quot;&gt;&lt;rect fill=&quot;currentColor&quot; height=&quot;18&quot; rx=&quot;9&quot; width=&quot;18&quot;&gt;&lt;/rect&gt;&lt;path clip-rule=&quot;evenodd&quot; d=&quot;M11.5235 10.4348L13.0718 6.07152C13.3238 5.36116 12.6389 4.67627 11.9286 4.92833L7.56533 6.47658C7.05694 6.65697 6.65697 7.05694 6.47658 7.56533L4.92833 11.9286C4.67627 12.6389 5.36116 13.3238 6.07151 13.0718L10.4348 11.5235C10.9432 11.3431 11.3431 10.9432 11.5235 10.4348ZM9.00015 10.1192C9.61825 10.1192 10.1193 9.61814 10.1193 9.00005C10.1193 8.38195 9.61825 7.88089 9.00015 7.88089C8.38206 7.88089 7.88099 8.38195 7.88099 9.00005C7.88099 9.61814 8.38206 10.1192 9.00015 10.1192Z&quot; fill-rule=&quot;evenodd&quot; fill=&quot;white&quot; id=&quot;vector&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;tomriha&lt;/div&gt;&lt;/a&gt;&lt;a class=&quot;group hover:bg-token-main-surface-secondary flex items-center gap-0.5 rounded-xl px-3 py-2.5&quot; href=&quot;https://sharepoint.stackexchange.com/questions/314160/can-i-update-a-list-item-without-affecting-the-modified-by-and-modified-date#:~:text=Can%20i%20update%20a%20list,modified%20and%20pass%20same%20values&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div class=&quot;line-clamp-1 flex h-6 items-center gap-2 text-xs&quot; title=&quot;sharepoint.stackexchange&quot;&gt;&lt;div class=&quot;relative inline-block&quot;&gt;&lt;div class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover&quot;&gt;&lt;/div&gt;&lt;img alt=&quot;Favicon&quot; class=&quot;icon-sm bg-token-main-surface-primary rounded-full object-cover absolute inset-0 duration-200 motion-safe:transition-opacity opacity-100&quot; height=&quot;32&quot; src=&quot;https://www.google.com/s2/favicons?domain=https://sharepoint.stackexchange.com&amp;amp;sz=32&quot; width=&quot;32&quot; /&gt;&lt;/div&gt;sharepoi...kexchange&lt;/div&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/3728271574162931611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/3728271574162931611' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/3728271574162931611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/3728271574162931611'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2025/06/using-sharepoints-validateupdatelistite.html' title='Using SharePoint’s validateUpdateListItem in Power Automate: A Beginner’s Guide'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijV6v8CKhfQ3qzH9szuxN7N5anLTS8qqn4BqRWOl_c7k8CdFKbYbBRkSOaZ8UlF2abIBdyu1e6q1GuMtvnAozkxsSXNkko1ZFj6SZxEiXhdLgnVdjXbXELj9NMLVWswGzy0ONwOvaL5_1OHL4cqJ1WzNSUog8hJQjLvvtrQrQB9w5oHmUvRZ3d/s72-c/ChatGPT%20Image%20Jun%2029,%202025,%2003_11_48%20PM.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-6736694723001221107</id><published>2025-06-19T09:49:00.002+03:00</published><updated>2025-06-29T16:15:00.313+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Citizen Developer"/><category scheme="http://www.blogger.com/atom/ns#" term="Digital Transformation"/><category scheme="http://www.blogger.com/atom/ns#" term="Low Code Development"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft Power Platform"/><category scheme="http://www.blogger.com/atom/ns#" term="No Code Solutions"/><category scheme="http://www.blogger.com/atom/ns#" term="Patch Function Examples"/><category scheme="http://www.blogger.com/atom/ns#" term="PowerApps Tips"/><title type='text'>PowerApps Patch 101: Patching SharePoint Columns for Beginners</title><content type='html'>&lt;div class=&quot;markdown prose dark:prose-invert w-full break-words dark deep-research-result&quot;&gt;&lt;h1 data-end=&quot;64&quot; data-start=&quot;0&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p data-end=&quot;942&quot; data-start=&quot;66&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Power Apps’ &lt;strong data-end=&quot;105&quot; data-start=&quot;96&quot;&gt;Patch&lt;/strong&gt; function is a powerful tool that lets you create or update records in a data source through formulas [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://learn.microsoft.com/en-us/power-platform/power-fx/reference/function-patch#:~:text=For%20example%2C%20this%20formula%20changes,for%20a%20customer%20named%20Contoso&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://learn.microsoft.com/en-us/power-platform/power-fx/reference/function-patch#:~:text=For%20example%2C%20this%20formula%20changes,for%20a%20customer%20named%20Contoso&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;learn.microsoft.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. In a SharePoint context, Patch enables you to save form inputs or custom values back to a SharePoint list without using the standard form submit. This is useful for building dynamic apps with custom logic (e.g. updating multiple lists at once, or partially updating a record) [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://learn.microsoft.com/en-us/power-platform/power-fx/reference/function-patch#:~:text=Use%20the%20Patch%20function%20to,forms%20that%20span%20multiple%20screens&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://learn.microsoft.com/en-us/power-platform/power-fx/reference/function-patch#:~:text=Use%20the%20Patch%20function%20to,forms%20that%20span%20multiple%20screens&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;learn.microsoft.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. We typically use SharePoint as the data source for such examples because it’s readily available in most Microsoft 365 plans, whereas Dataverse (the premium alternative) requires additional licensing&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&amp;nbsp;[&lt;/span&gt;&lt;span data-state=&quot;closed&quot; style=&quot;font-family: arial;&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/getting-started-with-dataverse-a-sharepoint-user-s-guide#:~:text=Before%20you%20jump%20headfirst%20into,premium%20license%20to%20access%20them&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/getting-started-with-dataverse-a-sharepoint-user-s-guide#:~:text=Before%20you%20jump%20headfirst%20into,premium%20license%20to%20access%20them&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;. In short, SharePoint lists are a convenient starting point for new app makers, and Patch gives you flexibility beyond the built-in form controls.&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCaU-j5Zr235fv5o6t5oR8YKDWUTRMDZ-kJFfvzMnn1_aoBOghAisKW2yjYzDyr-ZLUQSuan3CVyVpPNpyzrmZ94DWW7mt38vJaFeXGc5iyFAA2XFdHGGm8kPAFuM9mjcNxynhUWcPE_1HL75syPnXKL6snrW4WaYo9DO40gZQZtjF8l3WNwgg/s1536/ChatGPT%20Image%20Jun%2029,%202025,%2003_14_32%20PM.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1536&quot; data-original-width=&quot;1024&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCaU-j5Zr235fv5o6t5oR8YKDWUTRMDZ-kJFfvzMnn1_aoBOghAisKW2yjYzDyr-ZLUQSuan3CVyVpPNpyzrmZ94DWW7mt38vJaFeXGc5iyFAA2XFdHGGm8kPAFuM9mjcNxynhUWcPE_1HL75syPnXKL6snrW4WaYo9DO40gZQZtjF8l3WNwgg/s320/ChatGPT%20Image%20Jun%2029,%202025,%2003_14_32%20PM.png&quot; width=&quot;213&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p data-end=&quot;1540&quot; data-start=&quot;944&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;In this beginner-friendly guide, we’ll introduce the Patch function syntax using modern Power Fx, then walk through patching various SharePoint column types. We’ll cover Date, Currency, Lookup, Choice (single and multi-select), Person (single and multi-select), Hyperlink, Yes/No, and Managed Metadata (single and multi-select) columns. For each, we’ll describe the SharePoint column setup, show the Patch formula in Power Fx, and note common pitfalls or errors. By the end, you should feel more confident using Patch to build dynamic Power Apps that work with SharePoint data. Let’s get started!&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-end=&quot;1585&quot; data-start=&quot;1542&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patch Function Basics (Syntax and Usage)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;1678&quot; data-start=&quot;1587&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;In Power Fx (the formula language for Power Apps), the Patch function has a simple pattern:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;1771&quot; data-start=&quot;1679&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;powerfx&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-powerfx&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patch(DataSource, BaseRecord, { Field1: NewValue1, Field2: NewValue2, ... })
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;ul data-end=&quot;2367&quot; data-start=&quot;1772&quot;&gt;
&lt;li data-end=&quot;1844&quot; data-start=&quot;1772&quot;&gt;
&lt;p data-end=&quot;1844&quot; data-start=&quot;1774&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;1788&quot; data-start=&quot;1774&quot;&gt;DataSource&lt;/strong&gt; is your connected data source (e.g. a SharePoint list).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2127&quot; data-start=&quot;1845&quot;&gt;
&lt;p data-end=&quot;2127&quot; data-start=&quot;1847&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;1861&quot; data-start=&quot;1847&quot;&gt;BaseRecord&lt;/strong&gt; specifies which record to modify. For updating an existing item, you provide a reference to that item (such as a record or an expression that finds it). For creating a new item, you use &lt;code data-end=&quot;2070&quot; data-start=&quot;2048&quot;&gt;Defaults(DataSource)&lt;/code&gt; as the base record [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=Create%20record%20in%20data%20source&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=Create%20record%20in%20data%20source&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;rezadorrani.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2367&quot; data-start=&quot;2128&quot;&gt;
&lt;p data-end=&quot;2367&quot; data-start=&quot;2130&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The last parameter is one or more &lt;strong data-end=&quot;2180&quot; data-start=&quot;2164&quot;&gt;ChangeRecord&lt;/strong&gt; objects: essentially a &lt;code data-end=&quot;2220&quot; data-start=&quot;2204&quot;&gt;{Field: Value}&lt;/code&gt; mapping that defines which columns to update and their new values [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=Create%20record%20in%20data%20source&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=Create%20record%20in%20data%20source&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;rezadorrani.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Any fields not mentioned remain unchanged.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;2383&quot; data-start=&quot;2369&quot;&gt;&lt;strong data-end=&quot;2382&quot; data-start=&quot;2369&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Examples:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;2923&quot; data-start=&quot;2384&quot;&gt;
&lt;li data-end=&quot;2608&quot; data-start=&quot;2384&quot;&gt;
&lt;p data-end=&quot;2608&quot; data-start=&quot;2386&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;em data-end=&quot;2408&quot; data-start=&quot;2386&quot;&gt;Create a new record:&lt;/em&gt; &lt;code data-end=&quot;2490&quot; data-start=&quot;2409&quot;&gt;Patch(Projects, Defaults(Projects), { Title: &quot;New Project&quot;, Status: &quot;Active&quot; })&lt;/code&gt; – this creates a new item in the &lt;strong data-end=&quot;2536&quot; data-start=&quot;2524&quot;&gt;Projects&lt;/strong&gt; list with Title and Status set, leaving other fields at their defaults.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2923&quot; data-start=&quot;2609&quot;&gt;
&lt;p data-end=&quot;2923&quot; data-start=&quot;2611&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;em data-end=&quot;2639&quot; data-start=&quot;2611&quot;&gt;Update an existing record:&lt;/em&gt; &lt;code data-end=&quot;2706&quot; data-start=&quot;2640&quot;&gt;Patch(Projects, LookUp(Projects, ID=5), { Status: &quot;Completed&quot; })&lt;/code&gt; – this finds the item with ID 5 in &lt;strong data-end=&quot;2754&quot; data-start=&quot;2742&quot;&gt;Projects&lt;/strong&gt; and updates its Status to “Completed”. You could also reference a record from a Gallery’s selection (e.g. &lt;code data-end=&quot;2880&quot; data-start=&quot;2861&quot;&gt;Gallery1.Selected&lt;/code&gt;) in place of the &lt;code data-end=&quot;2906&quot; data-start=&quot;2898&quot;&gt;LookUp&lt;/code&gt; for convenience.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;3498&quot; data-start=&quot;2925&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;2943&quot; data-start=&quot;2925&quot;&gt;Why use Patch?&lt;/strong&gt; Patch is best when you need fine control or to update multiple sources at once. For simple forms, using an &lt;strong data-end=&quot;3064&quot; data-start=&quot;3051&quot;&gt;Edit form&lt;/strong&gt; and SubmitForm is easier; but Patch shines for custom behaviors (e.g. saving different data on different button clicks, or updating part of a record without affecting the rest [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://learn.microsoft.com/en-us/power-platform/power-fx/reference/function-patch#:~:text=Use%20the%20Patch%20function%20to,forms%20that%20span%20multiple%20screens&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://learn.microsoft.com/en-us/power-platform/power-fx/reference/function-patch#:~:text=Use%20the%20Patch%20function%20to,forms%20that%20span%20multiple%20screens&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;learn.microsoft.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;). Patch also allows writing to multiple records at once (advanced scenario) and can be combined with formulas like &lt;code data-end=&quot;3401&quot; data-start=&quot;3393&quot;&gt;ForAll&lt;/code&gt; to batch-update tables. In this post, we focus on single-record patches for various field types.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;4088&quot; data-start=&quot;3500&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;3526&quot; data-start=&quot;3500&quot;&gt;A note on OData types:&lt;/strong&gt; Some SharePoint columns (like People, Choices, Lookups, etc.) are &lt;strong data-end=&quot;3610&quot; data-start=&quot;3593&quot;&gt;complex types&lt;/strong&gt;. Under the hood, Patch needs special record structures (including an &lt;code data-end=&quot;3693&quot; data-start=&quot;3680&quot;&gt;@odata.type&lt;/code&gt; and specific subfields) to update these [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://powerappsguide.com/blog/post/sharepoint-applying-patch-to-the-6-complex-data-types#:~:text=It%27s%20easy%20to%20patch%20simple,person%2Fgroup%2C%20and%20multi%20person%2Fgroup%20columns&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://powerappsguide.com/blog/post/sharepoint-applying-patch-to-the-6-complex-data-types#:~:text=It%27s%20easy%20to%20patch%20simple,person%2Fgroup%2C%20and%20multi%20person%2Fgroup%20columns&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerappsguide.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Manually constructing these can be intimidating for beginners. The good news is that if you use &lt;strong data-end=&quot;3938&quot; data-start=&quot;3868&quot;&gt;controls bound to the SharePoint data (via the &lt;code data-end=&quot;3926&quot; data-start=&quot;3917&quot;&gt;Choices&lt;/code&gt; function)&lt;/strong&gt;, Power Apps will handle those structures for you. We’ll demonstrate both the manual format and the easier method using controls for complex columns.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;4171&quot; data-start=&quot;4090&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;With the basics covered, let’s dive into patching each type of SharePoint column.&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-end=&quot;4198&quot; data-start=&quot;4173&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patching a Date Column&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;4642&quot; data-start=&quot;4200&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;4228&quot; data-start=&quot;4200&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; A Date column in SharePoint can be configured as “Date Only” or “Date &amp;amp; Time”. For example, a &lt;strong data-end=&quot;4336&quot; data-start=&quot;4323&quot;&gt;“DueDate”&lt;/strong&gt; field might store just a date (no time). Power Apps will treat SharePoint dates as &lt;strong data-end=&quot;4432&quot; data-start=&quot;4420&quot;&gt;DateTime&lt;/strong&gt; values. If the column is Date Only, the time portion is ignored (or set to midnight). It’s important to pass a proper date value to Patch – either a Date/Time value or something that can be interpreted as one.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;4801&quot; data-start=&quot;4644&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;4677&quot; data-start=&quot;4644&quot;&gt;Patch Formula (Date Example):&lt;/strong&gt; Suppose we want to patch the &lt;strong data-end=&quot;4718&quot; data-start=&quot;4707&quot;&gt;DueDate&lt;/strong&gt; field of an existing item to December 25, 2025. We can do either of the following:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;5042&quot; data-start=&quot;4802&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;powerfx&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;sticky top-9&quot;&gt;&lt;div class=&quot;absolute end-0 bottom-0 flex h-9 items-center pe-2&quot;&gt;&lt;div class=&quot;bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-powerfx&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;// Using a literal Date value:
Patch(Tasks, LookUp(Tasks, ID=1),
      { DueDate: Date(2025, 12, 25) } );

// Using a Date Picker control value:
Patch(Tasks, LookUp(Tasks, ID=1),
      { DueDate: DatePicker1.SelectedDate } );
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;5411&quot; data-start=&quot;5043&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Both approaches will set the “DueDate” of item ID 1 in the &lt;strong data-end=&quot;5111&quot; data-start=&quot;5102&quot;&gt;Tasks&lt;/strong&gt; list to 25-Dec-2025 [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.matthewdevaney.com/power-apps-patch-function-examples-for-every-sharepoint-column-type/patch-a-sharepoint-date-column-in-power-apps/#:~:text=Patch,&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.matthewdevaney.com/power-apps-patch-function-examples-for-every-sharepoint-column-type/patch-a-sharepoint-date-column-in-power-apps/#:~:text=Patch,&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;matthewdevaney.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.matthewdevaney.com/power-apps-patch-function-examples-for-every-sharepoint-column-type/patch-a-sharepoint-date-column-in-power-apps/#:~:text=Patch%20Function%20Code&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.matthewdevaney.com/power-apps-patch-function-examples-for-every-sharepoint-column-type/patch-a-sharepoint-date-column-in-power-apps/#:~:text=Patch%20Function%20Code&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;matthewdevaney.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. If the SharePoint column includes time, you could use a DateTime value (e.g. &lt;code data-end=&quot;5291&quot; data-start=&quot;5284&quot;&gt;Now()&lt;/code&gt; for current date &amp;amp; time, or &lt;code data-end=&quot;5381&quot; data-start=&quot;5320&quot;&gt;DateAdd(DatePicker1.SelectedDate, TimePicker1.SelectedTime)&lt;/code&gt; if time is taken separately).&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;5435&quot; data-start=&quot;5413&quot;&gt;&lt;strong data-end=&quot;5434&quot; data-start=&quot;5413&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;6314&quot; data-start=&quot;5436&quot;&gt;
&lt;li data-end=&quot;5713&quot; data-start=&quot;5436&quot;&gt;
&lt;p data-end=&quot;5713&quot; data-start=&quot;5438&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Ensure the value patched is recognized as a &lt;strong data-end=&quot;5495&quot; data-start=&quot;5482&quot;&gt;Date/Time&lt;/strong&gt;. If you’re taking input from a text box, convert it using &lt;code data-end=&quot;5565&quot; data-start=&quot;5554&quot;&gt;DateValue&lt;/code&gt; or &lt;code data-end=&quot;5584&quot; data-start=&quot;5569&quot;&gt;DateTimeValue&lt;/code&gt; with an appropriate format. For example, &lt;code data-end=&quot;5651&quot; data-start=&quot;5626&quot;&gt;DateValue(&quot;12/25/2025&quot;)&lt;/code&gt; or using ISO format &lt;code data-end=&quot;5686&quot; data-start=&quot;5672&quot;&gt;&quot;2025-12-25&quot;&lt;/code&gt; to avoid locale confusion.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;6078&quot; data-start=&quot;5714&quot;&gt;
&lt;p data-end=&quot;6078&quot; data-start=&quot;5716&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;If you omit the time for a DateTime column, SharePoint will default it to midnight UTC. Be mindful of time zone differences; using &lt;strong data-end=&quot;5854&quot; data-start=&quot;5847&quot;&gt;UTC&lt;/strong&gt; or adjusting with &lt;code data-end=&quot;5889&quot; data-start=&quot;5873&quot;&gt;TimeZoneOffset&lt;/code&gt; might be necessary for exact times, but for beginners it’s usually not an issue if using Date pickers (they provide Date values without time, which SharePoint stores relative to midnight).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;6314&quot; data-start=&quot;6079&quot;&gt;
&lt;p data-end=&quot;6314&quot; data-start=&quot;6081&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;6098&quot; data-start=&quot;6081&quot;&gt;Common error:&lt;/strong&gt; Patching a date as text (without conversion) will result in a type mismatch error. Always provide a &lt;strong data-end=&quot;6207&quot; data-start=&quot;6199&quot;&gt;Date&lt;/strong&gt; type. If you see a “network error” on Patch, check that your data types match the SharePoint column types.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;6345&quot; data-start=&quot;6316&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patching a Currency Column&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;6623&quot; data-start=&quot;6347&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;6375&quot; data-start=&quot;6347&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; A Currency column in SharePoint is essentially a number field with currency formatting. It has a specific currency locale (e.g. USD, EUR) and decimal precision configured. Let’s say we have a &lt;strong data-end=&quot;6580&quot; data-start=&quot;6568&quot;&gt;“Budget”&lt;/strong&gt; field of type Currency in a Projects list.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;6740&quot; data-start=&quot;6625&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;6662&quot; data-start=&quot;6625&quot;&gt;Patch Formula (Currency Example):&lt;/strong&gt; Patching a currency is just like patching a Number – provide a numeric value:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;6894&quot; data-start=&quot;6741&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;powerfx&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;sticky top-9&quot;&gt;&lt;div class=&quot;absolute end-0 bottom-0 flex h-9 items-center pe-2&quot;&gt;&lt;div class=&quot;bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-powerfx&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;// If using a Text Input for amount, convert text to number
Patch(Projects, Defaults(Projects),
      { Budget: Value(txtAmount.Text) } );
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;7271&quot; data-start=&quot;6895&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;In this example, a new Project record is created with its Budget set to the numeric value of &lt;code data-end=&quot;7004&quot; data-start=&quot;6988&quot;&gt;txtAmount.Text&lt;/code&gt;. If you have the number already (say from a slider or calculation), you can use it directly (e.g. &lt;code data-end=&quot;7120&quot; data-start=&quot;7103&quot;&gt;{Budget: 50000}&lt;/code&gt; for 50,000) [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=%2F%2FNumber%20and%20Currency%20work%20the,MyMultiChoiceColumn%3A%20Table&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=%2F%2FNumber%20and%20Currency%20work%20the,MyMultiChoiceColumn%3A%20Table&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. SharePoint will format it with the currency symbol (configured in the column settings) once patched.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;7295&quot; data-start=&quot;7273&quot;&gt;&lt;strong data-end=&quot;7294&quot; data-start=&quot;7273&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;8041&quot; data-start=&quot;7296&quot;&gt;
&lt;li data-end=&quot;7584&quot; data-start=&quot;7296&quot;&gt;
&lt;p data-end=&quot;7584&quot; data-start=&quot;7298&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;7312&quot; data-start=&quot;7298&quot;&gt;Data type:&lt;/strong&gt; The value must be a number (decimal or integer). If you have a text input, wrap it with the &lt;code data-end=&quot;7414&quot; data-start=&quot;7405&quot;&gt;Value()&lt;/code&gt; function as shown above [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=%2F%2FNumber%20and%20Currency%20work%20the,Selected&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=%2F%2FNumber%20and%20Currency%20work%20the,Selected&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Forgetting to do so is a common mistake – Patch will error if you try to send a text to a numeric column.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;7813&quot; data-start=&quot;7585&quot;&gt;
&lt;p data-end=&quot;7813&quot; data-start=&quot;7587&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;7607&quot; data-start=&quot;7587&quot;&gt;Currency format:&lt;/strong&gt; You cannot change the currency type (e.g. from USD to EUR) via Patch; that’s a list setting. Patch only sets the numeric amount. The SharePoint list will automatically display it with the defined currency.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;8041&quot; data-start=&quot;7814&quot;&gt;
&lt;p data-end=&quot;8041&quot; data-start=&quot;7816&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;7833&quot; data-start=&quot;7816&quot;&gt;Large values:&lt;/strong&gt; Currency in SharePoint has a fixed 4 decimal precision. Very large numbers are generally fine (up to around 10^13 in value). If you attempt an out-of-range value, SharePoint will reject it – but that’s rare.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;8070&quot; data-start=&quot;8043&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patching a Lookup Column&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;8632&quot; data-start=&quot;8072&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;8100&quot; data-start=&quot;8072&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; A Lookup column links to an item in another list. For example, you might have an &lt;strong data-end=&quot;8196&quot; data-start=&quot;8182&quot;&gt;“Employee”&lt;/strong&gt; lookup in a Tasks list that points to an Employees list (perhaps storing the Employee’s Name as the display). SharePoint stores lookup values as a combination of an item ID and a display text (the primary column of the target list, e.g. Title). In Power Apps, a lookup field is represented as a record with at least an &lt;strong data-end=&quot;8522&quot; data-start=&quot;8516&quot;&gt;Id&lt;/strong&gt; field (the linked item’s ID) and a &lt;strong data-end=&quot;8567&quot; data-start=&quot;8558&quot;&gt;Value&lt;/strong&gt; field (the display text) [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;rezadorrani.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;8853&quot; data-start=&quot;8634&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;8669&quot; data-start=&quot;8634&quot;&gt;Patch Formula (Lookup Example):&lt;/strong&gt; To patch a lookup, you need to provide an object with the target item’s Id (and optionally its Value). For example, to set a Task’s Employee lookup to point to the Employee with ID 7:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;8951&quot; data-start=&quot;8854&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;powerfx&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;sticky top-9&quot;&gt;&lt;div class=&quot;absolute end-0 bottom-0 flex h-9 items-center pe-2&quot;&gt;&lt;div class=&quot;bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-powerfx&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patch(Tasks, Defaults(Tasks), 
      { Employee: { Id: 7, Value: &quot;John Doe&quot; } } );
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;9313&quot; data-start=&quot;8952&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This creates a new Task item with its Employee field referencing the item ID 7 from the Employees list [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;rezadorrani.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Alternatively, if you have the record of the employee (say from a dropdown or a lookup formula), you can provide that. A more dynamic approach is to use a dropdown bound to the lookup &lt;strong data-end=&quot;9290&quot; data-start=&quot;9279&quot;&gt;Choices&lt;/strong&gt; and use its selection:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;9475&quot; data-start=&quot;9314&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;powerfx&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;sticky top-9&quot;&gt;&lt;div class=&quot;absolute end-0 bottom-0 flex h-9 items-center pe-2&quot;&gt;&lt;div class=&quot;bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-powerfx&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;// Assume drpEmployee is a Dropdown with Items = Choices(Tasks.Employee)
Patch(Tasks, Defaults(Tasks),
      { Employee: drpEmployee.Selected } );
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;9821&quot; data-start=&quot;9476&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;By setting the Items property to &lt;code data-end=&quot;9534&quot; data-start=&quot;9509&quot;&gt;Choices(Tasks.Employee)&lt;/code&gt;, Power Apps knows to populate the dropdown with actual records of the related Employees. &lt;code data-end=&quot;9646&quot; data-start=&quot;9624&quot;&gt;drpEmployee.Selected&lt;/code&gt; will already be a record with the proper Id/Value shape, so you don’t have to manually build it [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=use&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=use&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=%2F%2FMake%20sure%20you%20are%20using,Selected&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=%2F%2FMake%20sure%20you%20are%20using,Selected&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;9845&quot; data-start=&quot;9823&quot;&gt;&lt;strong data-end=&quot;9844&quot; data-start=&quot;9823&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;11548&quot; data-start=&quot;9846&quot;&gt;
&lt;li data-end=&quot;10073&quot; data-start=&quot;9846&quot;&gt;
&lt;p data-end=&quot;10073&quot; data-start=&quot;9848&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;9862&quot; data-start=&quot;9848&quot;&gt;Id is key:&lt;/strong&gt; The &lt;strong data-end=&quot;9873&quot; data-start=&quot;9867&quot;&gt;Id&lt;/strong&gt; must correspond to a valid item in the lookup’s source list. If you provide an incorrect Id, Patch will fail (and no new item will be created in the target; the lookup won’t accept arbitrary values).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;10647&quot; data-start=&quot;10074&quot;&gt;
&lt;p data-end=&quot;10647&quot; data-start=&quot;10076&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;10092&quot; data-start=&quot;10076&quot;&gt;Value field:&lt;/strong&gt; Including the &lt;strong data-end=&quot;10116&quot; data-start=&quot;10107&quot;&gt;Value&lt;/strong&gt; (the text) is recommended, though SharePoint primarily uses the Id. In many cases, you can actually patch just &lt;code data-end=&quot;10236&quot; data-start=&quot;10228&quot;&gt;{Id:7}&lt;/code&gt; for the lookup and it will resolve, but providing Value (even an empty string) can avoid ambiguity [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://powerappsguide.com/blog/post/sharepoint-applying-patch-to-the-6-complex-data-types#:~:text=Property%3A&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://powerappsguide.com/blog/post/sharepoint-applying-patch-to-the-6-complex-data-types#:~:text=Property%3A&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerappsguide.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Power Apps often includes an &lt;code data-end=&quot;10418&quot; data-start=&quot;10405&quot;&gt;@odata.type&lt;/code&gt; automatically as well (e.g. &lt;code data-end=&quot;10513&quot; data-start=&quot;10447&quot;&gt;&quot;#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference&quot;&lt;/code&gt; behind the scenes) [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://powerappsguide.com/blog/post/sharepoint-applying-patch-to-the-6-complex-data-types#:~:text=Property%3A&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://powerappsguide.com/blog/post/sharepoint-applying-patch-to-the-6-complex-data-types#:~:text=Property%3A&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerappsguide.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;, but if you use the &lt;code data-end=&quot;10603&quot; data-start=&quot;10592&quot;&gt;Choices()&lt;/code&gt; method, you don’t have to worry about that.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;10991&quot; data-start=&quot;10648&quot;&gt;
&lt;p data-end=&quot;10991&quot; data-start=&quot;10650&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;10672&quot; data-start=&quot;10650&quot;&gt;Clearing a lookup:&lt;/strong&gt; If you need to blank out a lookup (and the column allows no value), one trick is to patch an &lt;strong data-end=&quot;10778&quot; data-start=&quot;10766&quot;&gt;Id of -1&lt;/strong&gt; and Value of empty string [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://powerappsguide.com/blog/post/sharepoint-applying-patch-to-the-6-complex-data-types#:~:text=If%20we%20were%20creating%20or,1&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://powerappsguide.com/blog/post/sharepoint-applying-patch-to-the-6-complex-data-types#:~:text=If%20we%20were%20creating%20or,1&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerappsguide.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. This is a special SharePoint convention to clear lookup fields. For example: &lt;code data-end=&quot;10959&quot; data-start=&quot;10922&quot;&gt;{ Employee: { Id: -1, Value: &quot;&quot; } }&lt;/code&gt; would clear the Employee field.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;11548&quot; data-start=&quot;10992&quot;&gt;
&lt;p data-end=&quot;11548&quot; data-start=&quot;10994&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;11015&quot; data-start=&quot;10994&quot;&gt;Multiple lookups:&lt;/strong&gt; If your lookup column is configured to allow multiple values, the Patch needs a &lt;em data-end=&quot;11103&quot; data-start=&quot;11096&quot;&gt;table&lt;/em&gt; of lookup records. The structure is similar but wrapped in a &lt;code data-end=&quot;11174&quot; data-start=&quot;11165&quot;&gt;Table()&lt;/code&gt;. For instance, to patch two lookup values: &lt;code data-end=&quot;11295&quot; data-start=&quot;11218&quot;&gt;{ MultiLookupField: Table( {Id:1, Value:&quot;Item1&quot;}, {Id:2, Value:&quot;Item2&quot;} ) } [&lt;/code&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;rezadorrani.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Using a multi-select ComboBox with &lt;code data-end=&quot;11411&quot; data-start=&quot;11371&quot;&gt;Items = Choices(List.MultiLookupField)&lt;/code&gt; and &lt;code data-end=&quot;11431&quot; data-start=&quot;11416&quot;&gt;SelectedItems&lt;/code&gt; in the Patch is an easier way in that scenario (Power Apps will supply the table of selected records automatically).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;11593&quot; data-start=&quot;11550&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patching a Choice Column (Single-Select)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;12050&quot; data-start=&quot;11595&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;11623&quot; data-start=&quot;11595&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; A Choice column (single-select) provides a dropdown of fixed options (e.g. Status could be a choice of “Open, In Progress, Closed”). In Power Apps, a single-select choice field is treated similarly to a lookup behind the scenes – it has a &lt;strong data-end=&quot;11872&quot; data-start=&quot;11863&quot;&gt;Value&lt;/strong&gt; field containing the selected option text [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=SharePoint%C2%A0Columns%C2%A0Patch%20syntax&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=SharePoint%C2%A0Columns%C2%A0Patch%20syntax&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;rezadorrani.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. (The connector also treats it as a “reference” type, but you typically just provide the value.)&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;12207&quot; data-start=&quot;12052&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;12094&quot; data-start=&quot;12052&quot;&gt;Patch Formula (Single Choice Example):&lt;/strong&gt; To patch a single-choice field, provide a record with a &lt;strong data-end=&quot;12160&quot; data-start=&quot;12151&quot;&gt;Value&lt;/strong&gt;. For example, if &lt;strong data-end=&quot;12188&quot; data-start=&quot;12178&quot;&gt;Status&lt;/strong&gt; is a choice field:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;12288&quot; data-start=&quot;12208&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;powerfx&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;sticky top-9&quot;&gt;&lt;div class=&quot;absolute end-0 bottom-0 flex h-9 items-center pe-2&quot;&gt;&lt;div class=&quot;bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-powerfx&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patch(Issues, ThisItem, 
      { Status: { Value: &quot;Closed&quot; } } );
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;12447&quot; data-start=&quot;12289&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This will set the Status choice to “Closed” [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=SharePoint%C2%A0Columns%C2%A0Patch%20syntax&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=SharePoint%C2%A0Columns%C2%A0Patch%20syntax&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;rezadorrani.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. If you are using a dropdown tied to the choice field, you can simplify it:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;12590&quot; data-start=&quot;12448&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;powerfx&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;sticky top-9&quot;&gt;&lt;div class=&quot;absolute end-0 bottom-0 flex h-9 items-center pe-2&quot;&gt;&lt;div class=&quot;bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-powerfx&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;// drpStatus is a dropdown with Items = Choices(Issues.Status)
Patch(Issues, ThisItem,
      { Status: drpStatus.Selected } );
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;12763&quot; data-start=&quot;12591&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;In this case, &lt;code data-end=&quot;12625&quot; data-start=&quot;12605&quot;&gt;drpStatus.Selected&lt;/code&gt; returns a record like &lt;code data-end=&quot;12669&quot; data-start=&quot;12648&quot;&gt;{ Value: &quot;Closed&quot; }&lt;/code&gt; for the chosen option, so it matches what Patch needs [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=if%20needed%20MyNumberColumn%3A%20Value%28inpNumber,Image&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=if%20needed%20MyNumberColumn%3A%20Value%28inpNumber,Image&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;12787&quot; data-start=&quot;12765&quot;&gt;&lt;strong data-end=&quot;12786&quot; data-start=&quot;12765&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;14142&quot; data-start=&quot;12788&quot;&gt;
&lt;li data-end=&quot;13258&quot; data-start=&quot;12788&quot;&gt;
&lt;p data-end=&quot;13258&quot; data-start=&quot;12790&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;12821&quot; data-start=&quot;12790&quot;&gt;Value must match an option:&lt;/strong&gt; Unlike lookups, SharePoint &lt;strong data-end=&quot;12856&quot; data-start=&quot;12849&quot;&gt;can&lt;/strong&gt; accept values not in the predefined choices (it will still save the text) [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=%2F%2FPass%20a%20date%20or%20a,MyMultiChoiceColumn%3A%20Table&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=%2F%2FPass%20a%20date%20or%20a,MyMultiChoiceColumn%3A%20Table&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;, but it’s not recommended unless the column allows fill-in choices. Stick to the defined options to avoid confusion. If you patch &lt;code data-end=&quot;13122&quot; data-start=&quot;13100&quot;&gt;{Value: &quot;NewOption&quot;}&lt;/code&gt; that wasn’t in the list, the item might show that value but the choice field in list settings won’t automatically update to include it.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;13545&quot; data-start=&quot;13259&quot;&gt;
&lt;p data-end=&quot;13545&quot; data-start=&quot;13261&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;13280&quot; data-start=&quot;13261&quot;&gt;No need for Id:&lt;/strong&gt; Choice options don’t have item IDs like lookups; just the text value suffices (with the record wrapper). If you attempt to patch just the plain text (e.g. &lt;code data-end=&quot;13456&quot; data-start=&quot;13436&quot;&gt;{Status: &quot;Closed&quot;}&lt;/code&gt;), it will error – you need the &lt;code data-end=&quot;13507&quot; data-start=&quot;13488&quot;&gt;{Value: &quot;Closed&quot;}&lt;/code&gt; wrapper unless using a bound control.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;13767&quot; data-start=&quot;13546&quot;&gt;
&lt;p data-end=&quot;13767&quot; data-start=&quot;13548&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;13569&quot; data-start=&quot;13548&quot;&gt;Case sensitivity:&lt;/strong&gt; Choice matching is typically case-insensitive, but it’s best to use the exact casing as defined. “closed” might still patch to “Closed” but to avoid any unpredictable behavior use the exact string.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;14142&quot; data-start=&quot;13768&quot;&gt;
&lt;p data-end=&quot;14142&quot; data-start=&quot;13770&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;13792&quot; data-start=&quot;13770&quot;&gt;Clearing a choice:&lt;/strong&gt; If the choice field is not required and you want to blank it out, you might try &lt;code data-end=&quot;13892&quot; data-start=&quot;13873&quot;&gt;{Status: Blank()}&lt;/code&gt;. However, since it expects a record, you should supply &lt;code data-end=&quot;13973&quot; data-start=&quot;13948&quot;&gt;{Status: { Value: &quot;&quot; }}&lt;/code&gt; (empty string) or use the bound control approach by selecting no value (if the control allows). An empty Value record will clear it, provided the field is not required.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;14186&quot; data-start=&quot;14144&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patching a Choice Column (Multi-Select)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;14509&quot; data-start=&quot;14188&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;14216&quot; data-start=&quot;14188&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; A multi-select Choice column lets users select multiple values from a set of options (SharePoint displays these as a list of selected values). In Power Apps, this field is represented as a &lt;strong data-end=&quot;14415&quot; data-start=&quot;14406&quot;&gt;table&lt;/strong&gt; of records, each record having a Value for one choice [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;rezadorrani.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;14714&quot; data-start=&quot;14511&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;14552&quot; data-start=&quot;14511&quot;&gt;Patch Formula (Multi-Choice Example):&lt;/strong&gt; Patching requires constructing a table of choice values. For example, suppose &lt;strong data-end=&quot;14639&quot; data-start=&quot;14631&quot;&gt;Tags&lt;/strong&gt; is a multi-select choice column and we want to set it to “Red” and “Blue”:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;14821&quot; data-start=&quot;14715&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;powerfx&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;sticky top-9&quot;&gt;&lt;div class=&quot;absolute end-0 bottom-0 flex h-9 items-center pe-2&quot;&gt;&lt;div class=&quot;bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-powerfx&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patch(Issues, Defaults(Issues),
      { Tags: Table( {Value: &quot;Red&quot;}, {Value: &quot;Blue&quot;} ) } );
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;15035&quot; data-start=&quot;14822&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This will create a new issue with &lt;strong data-end=&quot;14864&quot; data-start=&quot;14856&quot;&gt;Tags&lt;/strong&gt; containing those two choices [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;rezadorrani.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=MyDateTimeColumn%3A%20Today,&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=MyDateTimeColumn%3A%20Today,&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. If you have a ComboBox for this field, the formula is simpler:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;15213&quot; data-start=&quot;15036&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;powerfx&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;sticky top-9&quot;&gt;&lt;div class=&quot;absolute end-0 bottom-0 flex h-9 items-center pe-2&quot;&gt;&lt;div class=&quot;bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-powerfx&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;// cmbTags is a ComboBox with Items = Choices(Issues.Tags) and multiple selection enabled
Patch(Issues, Defaults(Issues),
      { Tags: cmbTags.SelectedItems } );
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;15417&quot; data-start=&quot;15214&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Here, &lt;code data-end=&quot;15243&quot; data-start=&quot;15220&quot;&gt;cmbTags.SelectedItems&lt;/code&gt; already returns a table of &lt;code data-end=&quot;15287&quot; data-start=&quot;15271&quot;&gt;{Value: &quot;...&quot;}&lt;/code&gt; records for the selected options [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.matthewdevaney.com/power-apps-patch-function-examples-for-every-sharepoint-column-type/patch-a-sharepoint-person-column-with-multiple-people-in-power-apps/#:~:text=Patch,&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.matthewdevaney.com/power-apps-patch-function-examples-for-every-sharepoint-column-type/patch-a-sharepoint-person-column-with-multiple-people-in-power-apps/#:~:text=Patch,&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;matthewdevaney.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. This approach offloads the heavy lifting to the control.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;15441&quot; data-start=&quot;15419&quot;&gt;&lt;strong data-end=&quot;15440&quot; data-start=&quot;15419&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;16529&quot; data-start=&quot;15442&quot;&gt;
&lt;li data-end=&quot;15683&quot; data-start=&quot;15442&quot;&gt;
&lt;p data-end=&quot;15683&quot; data-start=&quot;15444&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;15464&quot; data-start=&quot;15444&quot;&gt;Table structure:&lt;/strong&gt; The Patch must receive a table of choice records. If you accidentally pass a single record or a single text value, you’ll get an error. Even if selecting one item, it should be in a table (e.g. &lt;code data-end=&quot;15681&quot; data-start=&quot;15659&quot;&gt;Table({Value:&quot;Red&quot;})&lt;/code&gt;).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;15942&quot; data-start=&quot;15684&quot;&gt;
&lt;p data-end=&quot;15942&quot; data-start=&quot;15686&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;15706&quot; data-start=&quot;15686&quot;&gt;Empty selection:&lt;/strong&gt; To clear a multi-choice field, provide an empty table. For example, &lt;code data-end=&quot;15792&quot; data-start=&quot;15775&quot;&gt;{Tags: Table()}&lt;/code&gt; will remove all choices (ensure the column allows empty). Using &lt;code data-end=&quot;15880&quot; data-start=&quot;15857&quot;&gt;cmbTags.SelectedItems&lt;/code&gt; when nothing is selected also yields an empty table to patch.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;16248&quot; data-start=&quot;15943&quot;&gt;
&lt;p data-end=&quot;16248&quot; data-start=&quot;15945&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;15966&quot; data-start=&quot;15945&quot;&gt;Limit on options:&lt;/strong&gt; SharePoint multi-choice fields have an upper limit (usually 255 characters total or a certain count of options). This isn’t usually hit unless you have dozens of options selected. Just be aware if you ever try to patch an extremely large set of choices, SharePoint might reject it.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;16529&quot; data-start=&quot;16249&quot;&gt;
&lt;p data-end=&quot;16529&quot; data-start=&quot;16251&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;16270&quot; data-start=&quot;16251&quot;&gt;Common mistake:&lt;/strong&gt; Forgetting to use &lt;code data-end=&quot;16298&quot; data-start=&quot;16289&quot;&gt;Table()&lt;/code&gt; for multiple values. If you do &lt;code data-end=&quot;16371&quot; data-start=&quot;16330&quot;&gt;{ Tags: {Value:&quot;Red&quot;}, {Value:&quot;Blue&quot;} }&lt;/code&gt; by accident (missing the wrapping Table function), you’ll have a syntax error. Always wrap multiple records in a &lt;code data-end=&quot;16494&quot; data-start=&quot;16485&quot;&gt;Table()&lt;/code&gt; or use a collection/SelectedItems.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;16590&quot; data-start=&quot;16531&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patching a Person (People Picker) Column – Single Person&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;17275&quot; data-start=&quot;16592&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;16620&quot; data-start=&quot;16592&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; A Person or Group column in SharePoint references a user (from Azure AD or SharePoint site) or a SharePoint group. It’s essentially a special lookup to the hidden User Information list. In a canvas app, a Person field appears as a record with various fields like &lt;strong data-end=&quot;16894&quot; data-start=&quot;16884&quot;&gt;Claims&lt;/strong&gt;, &lt;strong data-end=&quot;16911&quot; data-start=&quot;16896&quot;&gt;DisplayName&lt;/strong&gt;, &lt;strong data-end=&quot;16922&quot; data-start=&quot;16913&quot;&gt;Email&lt;/strong&gt;, etc. The &lt;strong data-end=&quot;16943&quot; data-start=&quot;16933&quot;&gt;Claims&lt;/strong&gt; is a key identifier string that SharePoint uses to identify the user (it includes the user’s principal info). Typically, to patch a person field, you supply a record with at least the Claims (and often Email, DisplayName, etc., though SharePoint can fill some of those if Claims is provided) [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=%2F%2FOnly%20Claims%20field%20is%20required,&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=%2F%2FOnly%20Claims%20field%20is%20required,&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;17441&quot; data-start=&quot;17277&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;17319&quot; data-start=&quot;17277&quot;&gt;Patch Formula (Single Person Example):&lt;/strong&gt; Imagine a &lt;strong data-end=&quot;17346&quot; data-start=&quot;17330&quot;&gt;“AssignedTo”&lt;/strong&gt; field that is a single-person column. To patch it to a specific user, say “[email&amp;nbsp;protected]”:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;17724&quot; data-start=&quot;17442&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;powerfx&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;sticky top-9&quot;&gt;&lt;div class=&quot;absolute end-0 bottom-0 flex h-9 items-center pe-2&quot;&gt;&lt;div class=&quot;bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-powerfx&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patch(Tasks, LookUp(Tasks, ID=1), 
      { AssignedTo: {
            Claims: &quot;i:0#.f|membership|john.doe@contoso.com&quot;,
            DisplayName: &quot;John Doe&quot;,
            Email: &quot;john.doe@contoso.com&quot;,
            Department: &quot;&quot;, JobTitle: &quot;&quot;, Picture: &quot;&quot;
        } } );
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;18371&quot; data-start=&quot;17725&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This updates item ID 1’s AssignedTo to John Doe [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;rezadorrani.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. The Claims string format &lt;code data-end=&quot;17875&quot; data-start=&quot;17838&quot;&gt;&quot;i:0#.f|membership|user@domain.com&quot;&lt;/code&gt; is the typical claim for a user in SharePoint Online (using Azure AD authentication). In the above, we provided the user’s email in both Claims and Email, and a DisplayName. In fact, &lt;strong data-end=&quot;18108&quot; data-start=&quot;18059&quot;&gt;only the Claims field is technically required&lt;/strong&gt; for SharePoint to resolve the user [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=%2F%2FOnly%20Claims%20field%20is%20required,&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=%2F%2FOnly%20Claims%20field%20is%20required,&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;, but it’s a good practice to include Email and DisplayName for clarity. (SharePoint will match the claim to the actual user account and populate the name in the list interface regardless.)&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;18836&quot; data-start=&quot;18373&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;18391&quot; data-start=&quot;18373&quot;&gt;Easier method:&lt;/strong&gt; Manually building that record is error-prone. A simpler way is to use a People Picker control (ComboBox) tied to the Person field. For example, if you include the field in an &lt;strong data-end=&quot;18580&quot; data-start=&quot;18567&quot;&gt;Edit form&lt;/strong&gt;, the data card value for AssignedTo will be a combobox (&lt;code data-end=&quot;18652&quot; data-start=&quot;18637&quot;&gt;cmbAssignedTo&lt;/code&gt;). If you set up a combobox yourself, use &lt;code data-end=&quot;18731&quot; data-start=&quot;18694&quot;&gt;Items = Office365Users.SearchUser()&lt;/code&gt; or &lt;code data-end=&quot;18770&quot; data-start=&quot;18735&quot;&gt;Items = Choices(Tasks.AssignedTo)&lt;/code&gt; (Choices on a person field returns the list of site users). Then:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;18933&quot; data-start=&quot;18837&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;powerfx&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;sticky top-9&quot;&gt;&lt;div class=&quot;absolute end-0 bottom-0 flex h-9 items-center pe-2&quot;&gt;&lt;div class=&quot;bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-powerfx&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patch(Tasks, LookUp(Tasks, ID=1),
      { AssignedTo: cmbAssignedTo.Selected } );
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;19201&quot; data-start=&quot;18934&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;If &lt;code data-end=&quot;18952&quot; data-start=&quot;18937&quot;&gt;cmbAssignedTo&lt;/code&gt; is single-select (or a Dropdown bound to Choices(Tasks.AssignedTo)), &lt;code data-end=&quot;19032&quot; data-start=&quot;19022&quot;&gt;Selected&lt;/code&gt; will be a user record with the correct structure (including Claims, etc.) [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.matthewdevaney.com/power-apps-patch-function-examples-for-every-sharepoint-column-type/patch-a-sharepoint-person-column-with-multiple-people-in-power-apps/#:~:text=Patch,&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.matthewdevaney.com/power-apps-patch-function-examples-for-every-sharepoint-column-type/patch-a-sharepoint-person-column-with-multiple-people-in-power-apps/#:~:text=Patch,&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;matthewdevaney.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. This way, you avoid manually concatenating the claims.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;19225&quot; data-start=&quot;19203&quot;&gt;&lt;strong data-end=&quot;19224&quot; data-start=&quot;19203&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;20715&quot; data-start=&quot;19226&quot;&gt;
&lt;li data-end=&quot;19542&quot; data-start=&quot;19226&quot;&gt;
&lt;p data-end=&quot;19542&quot; data-start=&quot;19228&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;19255&quot; data-start=&quot;19228&quot;&gt;Ensure the user exists:&lt;/strong&gt; The email or claim must correspond to an existing user in the tenant or allowed visitors. If you try to patch a claim that SharePoint can’t resolve to a user, it will error. Using the Office365Users connector to find the user by email and then patching the result is a reliable pattern.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;20079&quot; data-start=&quot;19543&quot;&gt;
&lt;p data-end=&quot;20079&quot; data-start=&quot;19545&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;19563&quot; data-start=&quot;19545&quot;&gt;Claims format:&lt;/strong&gt; For Azure AD accounts in SharePoint Online, the claim usually starts with &lt;code data-end=&quot;19660&quot; data-start=&quot;19638&quot;&gt;&quot;i:0#.f|membership|&quot;&lt;/code&gt; followed by the UPN (email). If your tenant uses a different auth provider or you’re on-prem, the claims identity could differ (e.g. &lt;code data-end=&quot;19821&quot; data-start=&quot;19794&quot;&gt;&quot;i:0#.w|domain\\username&quot;&lt;/code&gt; for Windows auth). This typically only matters if you manually build the string. Using &lt;code data-end=&quot;19923&quot; data-start=&quot;19909&quot;&gt;User().Email&lt;/code&gt; as shown in our formula (with &lt;code data-end=&quot;19967&quot; data-start=&quot;19954&quot;&gt;Concatenate&lt;/code&gt; in Reza’s example [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=%7B%20Claims%3A%20Concatenate%28%20%22i%3A0,Person%20email%20JobTitle%3A&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=%7B%20Claims%3A%20Concatenate%28%20%22i%3A0,Person%20email%20JobTitle%3A&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;rezadorrani.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;) or a selected user record avoids guessing the format.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;20385&quot; data-start=&quot;20080&quot;&gt;
&lt;p data-end=&quot;20385&quot; data-start=&quot;20082&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;20105&quot; data-start=&quot;20082&quot;&gt;Single vs multiple:&lt;/strong&gt; A single-person field &lt;em data-end=&quot;20134&quot; data-start=&quot;20128&quot;&gt;must&lt;/em&gt; receive a single record (not a table). Conversely, a multi-person field (see next section) expects a table of such records. If you accidentally pass a single record to a multi-person field or vice versa, Patch will throw an error about type mismatch.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;20715&quot; data-start=&quot;20386&quot;&gt;
&lt;p data-end=&quot;20715&quot; data-start=&quot;20388&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;20418&quot; data-start=&quot;20388&quot;&gt;Clearing the person field:&lt;/strong&gt; To remove a person, you can patch &lt;strong data-end=&quot;20464&quot; data-start=&quot;20453&quot;&gt;Blank()&lt;/strong&gt; or a blank record. Often easiest is to patch &lt;code data-end=&quot;20531&quot; data-start=&quot;20510&quot;&gt;AssignedTo: Blank()&lt;/code&gt; if the field is not required. Alternatively, &lt;code data-end=&quot;20632&quot; data-start=&quot;20577&quot;&gt;{AssignedTo: { Claims:&quot;&quot;, DisplayName:&quot;&quot;, Email:&quot;&quot; }}&lt;/code&gt; might also clear it (the exact method can vary; Blank() is simplest when allowed).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;20766&quot; data-start=&quot;20717&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patching a Person Column – Multiple Selections&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;21173&quot; data-start=&quot;20768&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;20796&quot; data-start=&quot;20768&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; A Person/Group column can be configured to allow multiple people. In SharePoint, multiple persons are stored similarly to multi-choice: an array of people entities. In Power Apps, you will handle it as a &lt;strong data-end=&quot;21026&quot; data-start=&quot;21001&quot;&gt;table of user records&lt;/strong&gt; (each record with Claims, Email, etc., like the single-person case) [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://powerappsguide.com/blog/post/sharepoint-applying-patch-to-the-6-complex-data-types#:~:text=Title%3A&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://powerappsguide.com/blog/post/sharepoint-applying-patch-to-the-6-complex-data-types#:~:text=Title%3A&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerappsguide.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://powerappsguide.com/blog/post/sharepoint-applying-patch-to-the-6-complex-data-types#:~:text=%27%40odata.type%27%3A%22,&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://powerappsguide.com/blog/post/sharepoint-applying-patch-to-the-6-complex-data-types#:~:text=%27%40odata.type%27%3A%22,&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerappsguide.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;21345&quot; data-start=&quot;21175&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;21216&quot; data-start=&quot;21175&quot;&gt;Patch Formula (Multi-Person Example):&lt;/strong&gt; Let’s say &lt;strong data-end=&quot;21244&quot; data-start=&quot;21227&quot;&gt;“TeamMembers”&lt;/strong&gt; is a multi-select person column in a Projects list. To patch two users (e.g. John and Jane) into it:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;21886&quot; data-start=&quot;21346&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;powerfx&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;sticky top-9&quot;&gt;&lt;div class=&quot;absolute end-0 bottom-0 flex h-9 items-center pe-2&quot;&gt;&lt;div class=&quot;bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-powerfx&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patch(Projects, Defaults(Projects),
      { TeamMembers: Table(
            {
               Claims: &quot;i:0#.f|membership|john.doe@contoso.com&quot;,
               DisplayName: &quot;John Doe&quot;, Email: &quot;john.doe@contoso.com&quot;,
               Department: &quot;&quot;, JobTitle: &quot;&quot;, Picture: &quot;&quot;
            },
            {
               Claims: &quot;i:0#.f|membership|jane.smith@contoso.com&quot;,
               DisplayName: &quot;Jane Smith&quot;, Email: &quot;jane.smith@contoso.com&quot;,
               Department: &quot;&quot;, JobTitle: &quot;&quot;, Picture: &quot;&quot;
            }
      ) } );
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;22157&quot; data-start=&quot;21887&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This creates a new Project item with John and Jane in the TeamMembers field [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.matthewdevaney.com/power-apps-patch-function-examples-for-every-sharepoint-column-type/patch-a-sharepoint-person-column-with-multiple-people-in-power-apps/#:~:text=Patch,EmployeePeople%3A%20Table%28&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.matthewdevaney.com/power-apps-patch-function-examples-for-every-sharepoint-column-type/patch-a-sharepoint-person-column-with-multiple-people-in-power-apps/#:~:text=Patch,EmployeePeople%3A%20Table%28&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;matthewdevaney.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.matthewdevaney.com/power-apps-patch-function-examples-for-every-sharepoint-column-type/patch-a-sharepoint-person-column-with-multiple-people-in-power-apps/#:~:text=EmployeePeople%3A%20Table%28%20&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.matthewdevaney.com/power-apps-patch-function-examples-for-every-sharepoint-column-type/patch-a-sharepoint-person-column-with-multiple-people-in-power-apps/#:~:text=EmployeePeople%3A%20Table%28%20&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;matthewdevaney.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. As with single, only the Claims are strictly required for each, but we included names and emails for completeness.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;22444&quot; data-start=&quot;22159&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;22177&quot; data-start=&quot;22159&quot;&gt;Easier method:&lt;/strong&gt; Use a ComboBox that allows multiple selection. For example, set &lt;code data-end=&quot;22289&quot; data-start=&quot;22242&quot;&gt;cmbTeam.Items = Choices(Projects.TeamMembers)&lt;/code&gt; (this will list possible users – it might list all users or a subset like users of the site). Ensure &lt;code data-end=&quot;22430&quot; data-start=&quot;22391&quot;&gt;cmbTeam.AllowMultipleSelection = true&lt;/code&gt;. Then simply:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;22543&quot; data-start=&quot;22445&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;powerfx&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;sticky top-9&quot;&gt;&lt;div class=&quot;absolute end-0 bottom-0 flex h-9 items-center pe-2&quot;&gt;&lt;div class=&quot;bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-powerfx&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patch(Projects, Defaults(Projects),
      { TeamMembers: cmbTeam.SelectedItems } );
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;22796&quot; data-start=&quot;22544&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;If John and Jane are selected in the combo box, &lt;code data-end=&quot;22615&quot; data-start=&quot;22592&quot;&gt;cmbTeam.SelectedItems&lt;/code&gt; will be a table of user records (each with Claims, DisplayName, etc.) that Patch can directly use [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.matthewdevaney.com/power-apps-patch-function-examples-for-every-sharepoint-column-type/patch-a-sharepoint-person-column-with-multiple-people-in-power-apps/#:~:text=Patch,&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.matthewdevaney.com/power-apps-patch-function-examples-for-every-sharepoint-column-type/patch-a-sharepoint-person-column-with-multiple-people-in-power-apps/#:~:text=Patch,&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;matthewdevaney.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. This is much simpler and less error-prone.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;22819&quot; data-start=&quot;22798&quot;&gt;&lt;strong data-end=&quot;22819&quot; data-start=&quot;22798&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;24011&quot; data-start=&quot;22820&quot;&gt;
&lt;li data-end=&quot;22996&quot; data-start=&quot;22820&quot;&gt;
&lt;p data-end=&quot;22996&quot; data-start=&quot;22822&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;22843&quot; data-start=&quot;22822&quot;&gt;Table of records:&lt;/strong&gt; Just like multi-choice, you must send a table. A single record or a single value won’t work. Conversely, for a single-person field, don’t send a table.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;23295&quot; data-start=&quot;22997&quot;&gt;
&lt;p data-end=&quot;23295&quot; data-start=&quot;22999&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;23027&quot; data-start=&quot;22999&quot;&gt;Ordering and duplicates:&lt;/strong&gt; The order of people in the table typically doesn’t matter; SharePoint will store them in some default order (often alphabetically by name). Avoid duplicate entries in the table – if the same person appears twice, SharePoint might either deduplicate or throw an error.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;23773&quot; data-start=&quot;23296&quot;&gt;
&lt;p data-end=&quot;23773&quot; data-start=&quot;23298&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;23330&quot; data-start=&quot;23298&quot;&gt;Adding/removing individuals:&lt;/strong&gt; If you want to append or remove a person without disturbing others, you’ll need to retrieve the current value (e.g. use &lt;code data-end=&quot;23460&quot; data-start=&quot;23451&quot;&gt;Collect&lt;/code&gt; or manipulate the &lt;code data-end=&quot;23494&quot; data-start=&quot;23479&quot;&gt;SelectedItems&lt;/code&gt; of a combo). Patch on its own replaces the entire field value. For example, to &lt;em data-end=&quot;23579&quot; data-start=&quot;23574&quot;&gt;add&lt;/em&gt; a person, you could do: &lt;code data-end=&quot;23688&quot; data-start=&quot;23604&quot;&gt;{TeamMembers: Table(  &amp;lt;Existing team members...&amp;gt;,  {Claims:&quot;…newperson…&quot;, ...} ) }&lt;/code&gt;. But typically, you would manage this through the UI by using a combo box selection.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;24011&quot; data-start=&quot;23774&quot;&gt;
&lt;p data-end=&quot;24011&quot; data-start=&quot;23776&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;23801&quot; data-start=&quot;23776&quot;&gt;User not found error:&lt;/strong&gt; If one of the entries isn’t recognized as a valid user, the whole Patch fails. Double-check spelling of emails or ensure the user has access to the site (they might need to be added in Azure AD or as a guest).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;24049&quot; data-start=&quot;24013&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patching a Hyperlink (URL) Column&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;24690&quot; data-start=&quot;24051&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;24079&quot; data-start=&quot;24051&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; A Hyperlink column in SharePoint consists of two parts: &lt;strong data-end=&quot;24143&quot; data-start=&quot;24136&quot;&gt;URL&lt;/strong&gt; and &lt;strong data-end=&quot;24163&quot; data-start=&quot;24148&quot;&gt;Description&lt;/strong&gt;. In list views, SharePoint either displays the description text as a clickable link or (if the column is set to “Picture” format) displays the URL’s target image. When connecting to Power Apps, a hyperlink field is typically treated as a string (especially in newer connectors). In older implementations, one could patch a record like &lt;code data-end=&quot;24533&quot; data-start=&quot;24499&quot;&gt;{URL: &quot;...&quot;, Description: &quot;...&quot;}&lt;/code&gt;. However, currently the recommended approach is to patch just the URL as text [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=%2A%20MyHyperlinkColumn%3A%20&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=%2A%20MyHyperlinkColumn%3A%20&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;25033&quot; data-start=&quot;24692&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;24730&quot; data-start=&quot;24692&quot;&gt;Patch Formula (Hyperlink Example):&lt;/strong&gt; If &lt;strong data-end=&quot;24745&quot; data-start=&quot;24734&quot;&gt;Website&lt;/strong&gt; is a Hyperlink field (with an optional description) and you want to set it to &lt;span data-end=&quot;24843&quot; data-start=&quot;24824&quot; href=&quot;https://contoso.com&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_new&quot;&gt;https://contoso.com&lt;/span&gt; with description “Contoso Site”, you might expect to do &lt;code data-end=&quot;24957&quot; data-start=&quot;24900&quot;&gt;{URL:&quot;https://contoso.com&quot;, Description:&quot;Contoso Site&quot;}&lt;/code&gt;. But the SharePoint connector will actually take a simple text for the URL:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;25128&quot; data-start=&quot;25034&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;powerfx&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;sticky top-9&quot;&gt;&lt;div class=&quot;absolute end-0 bottom-0 flex h-9 items-center pe-2&quot;&gt;&lt;div class=&quot;bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-powerfx&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patch(Projects, Defaults(Projects),
      { Website: &quot;https://contoso.com&quot; } );
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;25536&quot; data-start=&quot;25129&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This will set the hyperlink value to “&lt;span data-end=&quot;25187&quot; data-start=&quot;25167&quot; href=&quot;https://contoso.com%E2%80%9D&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_new&quot;&gt;https://contoso.com”&lt;/span&gt;. The description part &lt;strong data-end=&quot;25237&quot; data-start=&quot;25210&quot;&gt;cannot be set via Patch&lt;/strong&gt; – by default, SharePoint will display the URL as the clickable text, or if the column was previously set with a description, that description may remain unchanged if you only patch the URL. Essentially, Power Apps only writes to the URL component with Patch [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;25858&quot; data-start=&quot;25538&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;If you want to allow user input for both URL and Description, one workaround is to combine them into a single string like &lt;code data-end=&quot;25680&quot; data-start=&quot;25660&quot;&gt;&quot;URL, Description&quot;&lt;/code&gt; and patch that. However, the easier method is to use an &lt;strong data-end=&quot;25750&quot; data-start=&quot;25737&quot;&gt;Edit form&lt;/strong&gt; for that field or a Power Automate flow. For simplicity, assume we only care about the URL in this example.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;25882&quot; data-start=&quot;25860&quot;&gt;&lt;strong data-end=&quot;25881&quot; data-start=&quot;25860&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;27684&quot; data-start=&quot;25883&quot;&gt;
&lt;li data-end=&quot;26331&quot; data-start=&quot;25883&quot;&gt;
&lt;p data-end=&quot;26331&quot; data-start=&quot;25885&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;25923&quot; data-start=&quot;25885&quot;&gt;Description is read-only in Patch:&lt;/strong&gt; As mentioned, you cannot directly set the Description through Patch (there is no supported structure in the current connector to do so). So whatever string you patch is taken as the URL. The Description will either remain what it was or mirror the URL. In many cases, SharePoint will set the Description equal to the URL if none is provided. So don’t be surprised if the link text is the URL after patching.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;27003&quot; data-start=&quot;26332&quot;&gt;
&lt;p data-end=&quot;27003&quot; data-start=&quot;26334&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;26364&quot; data-start=&quot;26334&quot;&gt;Picture format limitation:&lt;/strong&gt; If the hyperlink column is configured to show as an image (picture), patching via Power Apps is not supported [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. You would need to switch the column to hyperlink format (or use a different approach like an attachment or image column). In picture mode, SharePoint expects an image URL and possibly handles it differently, which the Patch function can’t fulfill. The PowerApps911 reference states that you &lt;em data-end=&quot;26869&quot; data-start=&quot;26806&quot;&gt;cannot patch a hyperlink column when it’s set to picture mode &lt;/em&gt;&lt;span data-end=&quot;26869&quot; data-start=&quot;26806&quot;&gt;[&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. The workaround is to change the column display to standard hyperlink if you need to Patch it.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;27290&quot; data-start=&quot;27004&quot;&gt;
&lt;p data-end=&quot;27290&quot; data-start=&quot;27006&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;27021&quot; data-start=&quot;27006&quot;&gt;Validation:&lt;/strong&gt; Ensure the string is a valid URL (starts with &lt;code data-end=&quot;27077&quot; data-start=&quot;27068&quot;&gt;http://&lt;/code&gt; or &lt;code data-end=&quot;27091&quot; data-start=&quot;27081&quot;&gt;https://&lt;/code&gt; or other supported scheme). SharePoint might reject obviously malformed URLs. If the user omits the scheme (e.g. types “&lt;span href=&quot;http://www.contoso.com%E2%80%9D&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_new&quot;&gt;www.contoso.com”&lt;/span&gt;), you might need to prepend “https://” in your patch formula.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;27684&quot; data-start=&quot;27291&quot;&gt;
&lt;p data-end=&quot;27684&quot; data-start=&quot;27293&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;27332&quot; data-start=&quot;27293&quot;&gt;Alternate approach for description:&lt;/strong&gt; If a description is crucial, one approach is to concatenate URL and description in a single string separated by comma in a &lt;strong data-end=&quot;27476&quot; data-start=&quot;27456&quot;&gt;Single Line Text&lt;/strong&gt; field and then use SharePoint column formatting or a flow to split them. But that’s beyond this scope – generally, consider using the hyperlink column primarily for URL storage when patching from Power Apps.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;27723&quot; data-start=&quot;27686&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patching a Yes/No (Boolean) Column&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;27996&quot; data-start=&quot;27725&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;27753&quot; data-start=&quot;27725&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; A Yes/No column is a boolean value (stored as true/false in SharePoint, displayed as Yes/No). In Power Apps, it appears as a boolean (true/false) value. Patching it is straightforward with a boolean literal or a control that provides boolean.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;28104&quot; data-start=&quot;27998&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;28033&quot; data-start=&quot;27998&quot;&gt;Patch Formula (Yes/No Example):&lt;/strong&gt; For a field &lt;strong data-end=&quot;28060&quot; data-start=&quot;28046&quot;&gt;“Approved”&lt;/strong&gt; (Yes/No) that we want to set to Yes (true):&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;28167&quot; data-start=&quot;28105&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;powerfx&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-powerfx&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patch(Requests, ThisItem, { Approved: true } );
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;28348&quot; data-start=&quot;28168&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This marks the Approved column as “Yes” [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=Yes%20No%20columns%20require%20you,Example&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=Yes%20No%20columns%20require%20you,Example&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Conversely, use &lt;code data-end=&quot;28271&quot; data-start=&quot;28264&quot;&gt;false&lt;/code&gt; for “No”. If using a toggle or checkbox control, you can patch its &lt;code data-end=&quot;28347&quot; data-start=&quot;28339&quot;&gt;.Value&lt;/code&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;28424&quot; data-start=&quot;28349&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;powerfx&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;sticky top-9&quot;&gt;&lt;div class=&quot;absolute end-0 bottom-0 flex h-9 items-center pe-2&quot;&gt;&lt;div class=&quot;bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-powerfx&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patch(Requests, ThisItem, { Approved: chkApproved.Value } );
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;28631&quot; data-start=&quot;28425&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Here, &lt;code data-end=&quot;28450&quot; data-start=&quot;28431&quot;&gt;chkApproved.Value&lt;/code&gt; is either true or false depending on the user’s selection (for a Check box, &lt;code data-end=&quot;28534&quot; data-start=&quot;28527&quot;&gt;Value&lt;/code&gt; is true when checked; for a Toggle, use &lt;code data-end=&quot;28590&quot; data-start=&quot;28575&quot;&gt;Toggle1.Value&lt;/code&gt;) [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=MyImageColumn%3A%20UploadedImage1,way%20to%20set%20Alternative%20Text%2FDescription&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=MyImageColumn%3A%20UploadedImage1,way%20to%20set%20Alternative%20Text%2FDescription&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;28655&quot; data-start=&quot;28633&quot;&gt;&lt;strong data-end=&quot;28654&quot; data-start=&quot;28633&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;29914&quot; data-start=&quot;28656&quot;&gt;
&lt;li data-end=&quot;29061&quot; data-start=&quot;28656&quot;&gt;
&lt;p data-end=&quot;29061&quot; data-start=&quot;28658&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;28675&quot; data-start=&quot;28658&quot;&gt;Boolean type:&lt;/strong&gt; Use actual boolean values (&lt;code data-end=&quot;28709&quot; data-start=&quot;28703&quot;&gt;true&lt;/code&gt;/&lt;code data-end=&quot;28717&quot; data-start=&quot;28710&quot;&gt;false&lt;/code&gt;). You might see some sources using &lt;code data-end=&quot;28756&quot; data-start=&quot;28753&quot;&gt;1&lt;/code&gt; or &lt;code data-end=&quot;28763&quot; data-start=&quot;28760&quot;&gt;0&lt;/code&gt; to represent true/false [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;rezadorrani.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. In fact, Patch will accept &lt;code data-end=&quot;28858&quot; data-start=&quot;28855&quot;&gt;1&lt;/code&gt; as true (Yes) and &lt;code data-end=&quot;28884&quot; data-start=&quot;28877&quot;&gt;false&lt;/code&gt; as No in some cases [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;rezadorrani.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;, but for clarity stick to explicit booleans. Do &lt;strong data-end=&quot;28999&quot; data-start=&quot;28992&quot;&gt;not&lt;/strong&gt; use the strings &quot;Yes&quot;/&quot;No&quot; – that will cause a type mismatch.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;29365&quot; data-start=&quot;29062&quot;&gt;
&lt;p data-end=&quot;29365&quot; data-start=&quot;29064&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;29083&quot; data-start=&quot;29064&quot;&gt;Default values:&lt;/strong&gt; If the SharePoint column has a default (Yes or No), and you are creating a new item with Patch without specifying that field, SharePoint will apply its default (unlike some fields where a missing value is just blank, booleans will default to either yes or no per the list setting).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;29723&quot; data-start=&quot;29366&quot;&gt;
&lt;p data-end=&quot;29723&quot; data-start=&quot;29368&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;29384&quot; data-start=&quot;29368&quot;&gt;Nullability:&lt;/strong&gt; SharePoint Yes/No fields cannot be null – they are always either Yes or No. In Power Apps, if you treat it as a required field, make sure to provide true or false. If you use a checkbox that is not defaulted, its Value might start as false (No). Just be mindful that leaving it “unset” in UI still results in a value (false if unchecked).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;29914&quot; data-start=&quot;29724&quot;&gt;
&lt;p data-end=&quot;29914&quot; data-start=&quot;29726&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;29745&quot; data-start=&quot;29726&quot;&gt;Common pitfall:&lt;/strong&gt; If you accidentally patch a Yes/No field with a text value like &quot;true&quot;/&quot;false&quot; (as strings) or &quot;Yes&quot;, it will error. Ensure no quotes around true/false in your formula.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;29974&quot; data-start=&quot;29916&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patching a Managed Metadata (Tag) Column (Single Value)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;30532&quot; data-start=&quot;29976&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;30004&quot; data-start=&quot;29976&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; Managed Metadata columns connect to the Term Store, allowing you to tag items with taxonomy terms. These are one of the more complex field types to patch because the record requires multiple pieces of information about the term. A single-value Managed Metadata field in Power Apps is represented as a record with fields including &lt;strong data-end=&quot;30347&quot; data-start=&quot;30335&quot;&gt;TermGuid&lt;/strong&gt;, &lt;strong data-end=&quot;30358&quot; data-start=&quot;30349&quot;&gt;Label&lt;/strong&gt;, &lt;strong data-end=&quot;30369&quot; data-start=&quot;30360&quot;&gt;WssId&lt;/strong&gt;, &lt;strong data-end=&quot;30379&quot; data-start=&quot;30371&quot;&gt;Path&lt;/strong&gt;, and &lt;strong data-end=&quot;30394&quot; data-start=&quot;30385&quot;&gt;Value [&lt;/strong&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;rezadorrani.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Essentially, you must tell SharePoint which term to apply by its GUID and provide the text label.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;30716&quot; data-start=&quot;30534&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;For example, suppose we have a &lt;strong data-end=&quot;30581&quot; data-start=&quot;30565&quot;&gt;“Department”&lt;/strong&gt; Managed Metadata column that points to a term set of departments. We want to patch the term &lt;strong data-end=&quot;30687&quot; data-start=&quot;30674&quot;&gt;“Finance”&lt;/strong&gt; which has a known Term GUID.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;30764&quot; data-start=&quot;30718&quot;&gt;&lt;strong data-end=&quot;30763&quot; data-start=&quot;30718&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patch Formula (Managed Metadata Example):&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;31101&quot; data-start=&quot;30765&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;powerfx&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;sticky top-9&quot;&gt;&lt;div class=&quot;absolute end-0 bottom-0 flex h-9 items-center pe-2&quot;&gt;&lt;div class=&quot;bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-powerfx&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patch(Docs, Defaults(Docs),
      { Department: {
           &#39;@odata.type&#39;: &quot;#Microsoft.Azure.Connectors.SharePoint.SPListExpandedTaxonomy&quot;,
           TermGuid: &quot;b8c3899a-5d9e-4f7c-8ced-8c2f761b9e75&quot;,
           Label: &quot;Finance&quot;,
           WssId: -1,
           Path: &quot;Finance&quot;,
           Value: &quot;Finance&quot;
      } } );
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;31328&quot; data-start=&quot;31102&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This will create a new item in &lt;strong data-end=&quot;31141&quot; data-start=&quot;31133&quot;&gt;Docs&lt;/strong&gt; with the Department metadata set to the term &lt;em data-end=&quot;31196&quot; data-start=&quot;31187&quot;&gt;Finance&lt;/em&gt; identified by that GUID [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://community.powerplatform.com/blogs/post/?postid=acb09ed6-bda5-4c3a-b70d-ccda63a6ba2e#:~:text=Here%20is%20the%20formula%20to,to%20the%20Managed%20Metadata%20column&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://community.powerplatform.com/blogs/post/?postid=acb09ed6-bda5-4c3a-b70d-ccda63a6ba2e#:~:text=Here%20is%20the%20formula%20to,to%20the%20Managed%20Metadata%20column&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;community.powerplatform.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://community.powerplatform.com/blogs/post/?postid=acb09ed6-bda5-4c3a-b70d-ccda63a6ba2e#:~:text=Patch%28ManagedMetadataTest%2CDefaults%28ManagedMetadataTest%29%2C%7BTitle%3A%20DataCardValue1.Text%2C%20Department%3A%7B%27%40odata.type%27%3A%22,Value&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://community.powerplatform.com/blogs/post/?postid=acb09ed6-bda5-4c3a-b70d-ccda63a6ba2e#:~:text=Patch%28ManagedMetadataTest%2CDefaults%28ManagedMetadataTest%29%2C%7BTitle%3A%20DataCardValue1.Text%2C%20Department%3A%7B%27%40odata.type%27%3A%22,Value&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;community.powerplatform.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Let’s break down the fields:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-end=&quot;32254&quot; data-start=&quot;31329&quot;&gt;
&lt;li data-end=&quot;31470&quot; data-start=&quot;31329&quot;&gt;
&lt;p data-end=&quot;31470&quot; data-start=&quot;31331&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;31343&quot; data-start=&quot;31331&quot;&gt;TermGuid&lt;/strong&gt;: The unique identifier of the term in the term store (you often have to get this from SharePoint’s term store or via a query).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;31525&quot; data-start=&quot;31471&quot;&gt;
&lt;p data-end=&quot;31525&quot; data-start=&quot;31473&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;31482&quot; data-start=&quot;31473&quot;&gt;Label&lt;/strong&gt;: The term’s name as you want it displayed.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;31715&quot; data-start=&quot;31526&quot;&gt;
&lt;p data-end=&quot;31715&quot; data-start=&quot;31528&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;31536&quot; data-start=&quot;31528&quot;&gt;Path&lt;/strong&gt;: The full hierarchical path of the term (for nested terms). In this case “Finance” has no parent so Path could be just &quot;Finance&quot;. Often this can be an empty string if not needed.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;32005&quot; data-start=&quot;31716&quot;&gt;
&lt;p data-end=&quot;32005&quot; data-start=&quot;31718&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;31727&quot; data-start=&quot;31718&quot;&gt;WssId&lt;/strong&gt;: An internal ID used by SharePoint for caching terms in the site collection; setting it to -1 or 0 indicates “not cached yet, resolve by TermGuid” [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://powerappsguide.com/blog/post/sharepoint-applying-patch-to-the-6-complex-data-types#:~:text=It%27s%20easy%20to%20patch%20simple,person%2Fgroup%2C%20and%20multi%20person%2Fgroup%20columns&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://powerappsguide.com/blog/post/sharepoint-applying-patch-to-the-6-complex-data-types#:~:text=It%27s%20easy%20to%20patch%20simple,person%2Fgroup%2C%20and%20multi%20person%2Fgroup%20columns&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerappsguide.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. Common practice is to use -1 or 0 when patching; SharePoint will assign the correct WssId.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;32254&quot; data-start=&quot;32006&quot;&gt;
&lt;p data-end=&quot;32254&quot; data-start=&quot;32008&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;32017&quot; data-start=&quot;32008&quot;&gt;Value&lt;/strong&gt;: Historically used similarly to Label (sometimes redundant). Including it as blank or same as Label is fine. The key ones are TermGuid and Label (and providing all expected fields to avoid errors) [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=MyImageColumn%3A%20Image2,WssId%3A%200&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=MyImageColumn%3A%20Image2,WssId%3A%200&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;32455&quot; data-start=&quot;32256&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The &lt;code data-end=&quot;32273&quot; data-start=&quot;32260&quot;&gt;@odata.type&lt;/code&gt; is also provided to tell the connector which data type this is (taxonomy type). If you use the &lt;strong data-end=&quot;32380&quot; data-start=&quot;32369&quot;&gt;Choices&lt;/strong&gt; function or connect the field to a control, this might be handled for you.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;33241&quot; data-start=&quot;32457&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;32475&quot; data-start=&quot;32457&quot;&gt;Easier method:&lt;/strong&gt; If your app can get the term information through a control, that helps. Unfortunately, Power Apps does not have a built-in &lt;strong data-end=&quot;32612&quot; data-start=&quot;32599&quot;&gt;Choices()&lt;/strong&gt; for taxonomy that returns all terms (unless the terms are used in that list already). One approach is to use a ComboBox and a custom source (for example, a SharePoint Online connector call or a predefined list of terms, or use the DataCard from an edit form). If you have the term GUID and label available (perhaps via a dropdown of term names tied to some data source), you can construct the record as above. There isn’t a straightforward out-of-the-box combo bound to &lt;code data-end=&quot;33105&quot; data-start=&quot;33083&quot;&gt;Choices(List.Column)&lt;/code&gt; for taxonomy, because it doesn’t enumerate terms. Often, people use a separate hidden list or manual entry of terms to drive selection.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;33482&quot; data-start=&quot;33243&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;However, if you &lt;em data-end=&quot;33263&quot; data-start=&quot;33259&quot;&gt;do&lt;/em&gt; use the default SharePoint form integration or a custom form with the taxonomy control, you can patch using that control’s selected item. For example, if &lt;code data-end=&quot;33427&quot; data-start=&quot;33418&quot;&gt;cmbDept&lt;/code&gt; is a combo box inside a form data card for Department:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;33567&quot; data-start=&quot;33483&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;powerfx&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;sticky top-9&quot;&gt;&lt;div class=&quot;absolute end-0 bottom-0 flex h-9 items-center pe-2&quot;&gt;&lt;div class=&quot;bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-powerfx&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patch(Docs, Defaults(Docs),
      { Department: cmbDept.Selected } );
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;33820&quot; data-start=&quot;33568&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;In a SharePoint-integrated app, &lt;code data-end=&quot;33618&quot; data-start=&quot;33600&quot;&gt;cmbDept.Selected&lt;/code&gt; might already be a record with the needed term fields (TermGuid, Label, etc.) as provided by the form’s data source. Always verify what structure &lt;code data-end=&quot;33775&quot; data-start=&quot;33765&quot;&gt;Selected&lt;/code&gt; has by testing or looking at its properties.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;33844&quot; data-start=&quot;33822&quot;&gt;&lt;strong data-end=&quot;33843&quot; data-start=&quot;33822&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;35072&quot; data-start=&quot;33845&quot;&gt;
&lt;li data-end=&quot;34264&quot; data-start=&quot;33845&quot;&gt;
&lt;p data-end=&quot;34264&quot; data-start=&quot;33847&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;33871&quot; data-start=&quot;33847&quot;&gt;All fields required:&lt;/strong&gt; When manually patching, &lt;strong data-end=&quot;33922&quot; data-start=&quot;33896&quot;&gt;provide all the fields&lt;/strong&gt; (TermGuid, Label, etc.) for the term [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://community.powerplatform.com/blogs/post/?postid=acb09ed6-bda5-4c3a-b70d-ccda63a6ba2e#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://community.powerplatform.com/blogs/post/?postid=acb09ed6-bda5-4c3a-b70d-ccda63a6ba2e#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;community.powerplatform.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://community.powerplatform.com/blogs/post/?postid=acb09ed6-bda5-4c3a-b70d-ccda63a6ba2e#:~:text=SharePointColumnName%3A%7B%27%40odata.type%27%3A%22,Value&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://community.powerplatform.com/blogs/post/?postid=acb09ed6-bda5-4c3a-b70d-ccda63a6ba2e#:~:text=SharePointColumnName%3A%7B%27%40odata.type%27%3A%22,Value&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;community.powerplatform.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. If any is missing, Patch will likely fail. For example, a known pitfall is to omit &lt;code data-end=&quot;34129&quot; data-start=&quot;34122&quot;&gt;WssId&lt;/code&gt; – this can cause a network error. Use &lt;code data-end=&quot;34179&quot; data-start=&quot;34168&quot;&gt;WssId: -1&lt;/code&gt; (or 0 as some use) if you don’t have one. It signals SharePoint to resolve the term.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;34794&quot; data-start=&quot;34265&quot;&gt;
&lt;p data-end=&quot;34794&quot; data-start=&quot;34267&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;34288&quot; data-start=&quot;34267&quot;&gt;Getting TermGuid:&lt;/strong&gt; You usually need to fetch the GUID of the term. This might involve using the SharePoint REST API or a manual lookup. For a beginner, if you’re just testing, you can get the GUID by looking at term store settings or by temporarily using a SharePoint form to set a value and then reading it in Power Apps. Community blogs often show using a hidden data card to grab &lt;code data-end=&quot;34686&quot; data-start=&quot;34653&quot;&gt;DataCardValue.Selected.TermGuid [&lt;/code&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://community.powerplatform.com/blogs/post/?postid=acb09ed6-bda5-4c3a-b70d-ccda63a6ba2e#:~:text=SharePointColumnName%3A%7B%27%40odata.type%27%3A%22,Value&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://community.powerplatform.com/blogs/post/?postid=acb09ed6-bda5-4c3a-b70d-ccda63a6ba2e#:~:text=SharePointColumnName%3A%7B%27%40odata.type%27%3A%22,Value&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;community.powerplatform.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt; – which is exactly how one would do it inside an edit form scenario.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;34967&quot; data-start=&quot;34795&quot;&gt;
&lt;p data-end=&quot;34967&quot; data-start=&quot;34797&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;34823&quot; data-start=&quot;34797&quot;&gt;Multi-language labels:&lt;/strong&gt; If your term store has multiple language labels, the Label you patch should match one of the labels. Typically it’s the default language label.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;35072&quot; data-start=&quot;34968&quot;&gt;
&lt;p data-end=&quot;35072&quot; data-start=&quot;34970&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;34990&quot; data-start=&quot;34970&quot;&gt;Single vs multi:&lt;/strong&gt; For a single-value metadata column, supply a record. Let’s discuss multiple next.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;35126&quot; data-start=&quot;35074&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patching a Managed Metadata Column (Multi-Select)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;35433&quot; data-start=&quot;35128&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;35156&quot; data-start=&quot;35128&quot;&gt;SharePoint Column Setup:&lt;/strong&gt; A Managed Metadata column can allow multiple tags to be assigned. This behaves like a multi-select choice in concept, but with terms. You will need to patch a &lt;strong data-end=&quot;35341&quot; data-start=&quot;35316&quot;&gt;table of term records&lt;/strong&gt; in this case [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=,WssId%3A%200&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=,WssId%3A%200&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=,WssId%3A%200&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=,WssId%3A%200&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;35650&quot; data-start=&quot;35435&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;35478&quot; data-start=&quot;35435&quot;&gt;Patch Formula (Multi-Taxonomy Example):&lt;/strong&gt; Suppose &lt;strong data-end=&quot;35503&quot; data-start=&quot;35487&quot;&gt;“Categories”&lt;/strong&gt; is a multi-select Managed Metadata field, and we want to tag an item with two terms: &lt;em data-end=&quot;35598&quot; data-start=&quot;35589&quot;&gt;Finance&lt;/em&gt; (GUID &lt;code data-end=&quot;35614&quot; data-start=&quot;35605&quot;&gt;aaaa...&lt;/code&gt;) and &lt;em data-end=&quot;35632&quot; data-start=&quot;35620&quot;&gt;Healthcare&lt;/em&gt; (GUID &lt;code data-end=&quot;35648&quot; data-start=&quot;35639&quot;&gt;bbbb...&lt;/code&gt;):&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;36309&quot; data-start=&quot;35651&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;powerfx&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;sticky top-9&quot;&gt;&lt;div class=&quot;absolute end-0 bottom-0 flex h-9 items-center pe-2&quot;&gt;&lt;div class=&quot;bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-powerfx&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Patch(Docs, LookUp(Docs, ID=1),
      { Categories: Table(
            {
               &#39;@odata.type&#39;: &quot;#Microsoft.Azure.Connectors.SharePoint.SPListExpandedTaxonomy&quot;,
               TermGuid: &quot;aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa&quot;,
               Label: &quot;Finance&quot;,
               WssId: -1, Path: &quot;Finance&quot;, Value: &quot;Finance&quot;
            },
            {
               &#39;@odata.type&#39;: &quot;#Microsoft.Azure.Connectors.SharePoint.SPListExpandedTaxonomy&quot;,
               TermGuid: &quot;bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb&quot;,
               Label: &quot;Healthcare&quot;,
               WssId: -1, Path: &quot;Healthcare&quot;, Value: &quot;Healthcare&quot;
            }
      ) } );
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;36559&quot; data-start=&quot;36310&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;This updates item ID 1’s Categories field to contain the Finance and Healthcare tags [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=,WssId%3A%200&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=,WssId%3A%200&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=,WssId%3A%200&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=,WssId%3A%200&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. As you can see, it’s verbose – each term needs the full record as in the single case.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;37421&quot; data-start=&quot;36561&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;36579&quot; data-start=&quot;36561&quot;&gt;Easier method:&lt;/strong&gt; Similar to multi-choice or multi-person, using a ComboBox that allows multiple selection can simplify things &lt;em data-end=&quot;36693&quot; data-start=&quot;36689&quot;&gt;if&lt;/em&gt; you have a way to feed the terms into it. If you set &lt;code data-end=&quot;36768&quot; data-start=&quot;36747&quot;&gt;cmbCategories.Items&lt;/code&gt; to a list of term labels or a custom data source of terms (e.g. from a SharePoint list that mirrors the term set), you could then collect the GUID and label on selection. But out of the box, Power Apps doesn’t directly pull term store data without a connector or custom approach. Another approach is to use the SharePointIntegration in customized forms (when customizing a SharePoint list form with Power Apps, the taxonomy control is provided). In that case, the combobox inside the data card will manage the terms. You could patch using &lt;code data-end=&quot;37337&quot; data-start=&quot;37308&quot;&gt;cmbCategories.SelectedItems&lt;/code&gt; which would be a table of term records already formatted. This is advanced, though.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;37634&quot; data-start=&quot;37423&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;For beginners, if you need multi-terms, consider patching one term at a time (e.g. if user selects multiple, you can build the table as above in your formula). Or use an edit form which handles it automatically.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;37658&quot; data-start=&quot;37636&quot;&gt;&lt;strong data-end=&quot;37657&quot; data-start=&quot;37636&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Notes &amp;amp; Pitfalls:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;39007&quot; data-start=&quot;37659&quot;&gt;
&lt;li data-end=&quot;37914&quot; data-start=&quot;37659&quot;&gt;
&lt;p data-end=&quot;37914&quot; data-start=&quot;37661&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;37677&quot; data-start=&quot;37661&quot;&gt;Performance:&lt;/strong&gt; Building a big table of terms with GUIDs in the formula can be cumbersome. If the set of terms is large, consider an alternative like using Power Automate to handle taxonomy updates or limiting the number of selectable terms in the app.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;38156&quot; data-start=&quot;37915&quot;&gt;
&lt;p data-end=&quot;38156&quot; data-start=&quot;37917&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;37940&quot; data-start=&quot;37917&quot;&gt;Term GUID accuracy:&lt;/strong&gt; Double-check each GUID. If one is wrong or doesn’t exist in that term set, the whole patch will fail. If a term has a duplicate label in a different part of the hierarchy, the GUID ensures the correct one is picked.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;38456&quot; data-start=&quot;38157&quot;&gt;
&lt;p data-end=&quot;38456&quot; data-start=&quot;38159&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;38189&quot; data-start=&quot;38159&quot;&gt;Mixing with existing tags:&lt;/strong&gt; If you want to &lt;em data-end=&quot;38210&quot; data-start=&quot;38205&quot;&gt;add&lt;/em&gt; a tag while keeping existing ones, you would need to retrieve the current value (which comes as a table of records) and then &lt;code data-end=&quot;38345&quot; data-start=&quot;38336&quot;&gt;Collect&lt;/code&gt; the new one into it, then patch the combined table. If you just patch a new table, it overwrites the old tags.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;38629&quot; data-start=&quot;38457&quot;&gt;
&lt;p data-end=&quot;38629&quot; data-start=&quot;38459&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;38477&quot; data-start=&quot;38459&quot;&gt;Clearing tags:&lt;/strong&gt; To remove all tags, patch an empty table: &lt;code data-end=&quot;38543&quot; data-start=&quot;38520&quot;&gt;{Categories: Table()}&lt;/code&gt;. To remove one out of many, patch the new list of terms excluding that term’s record.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;39007&quot; data-start=&quot;38630&quot;&gt;
&lt;p data-end=&quot;39007&quot; data-start=&quot;38632&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;38667&quot; data-start=&quot;38632&quot;&gt;Not supported in some contexts:&lt;/strong&gt; In older PowerApps versions, taxonomy fields were not delegable or readily accessible via Choices(). This might still be the case, so testing is important. Some makers use a hidden data card in an Edit form to leverage its combo box for term selection and then patch using that value, as a workaround for the lack of direct term querying.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;39022&quot; data-start=&quot;39009&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Conclusion&lt;/span&gt;&lt;/h2&gt;
&lt;p data-end=&quot;39752&quot; data-start=&quot;39024&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The Power Apps Patch function is an essential tool for any app maker who wants to go beyond the limitations of standard forms. As we’ve seen, with SharePoint as a data source, Patch can handle everything from simple text and number updates to complex field types like lookups, people pickers, and managed metadata. Mastering the syntax for each column type unlocks the ability to create highly dynamic apps – for example, apps that update several lists at once, or save data in custom ways with a single button click. By using Patch, you can provide a smoother user experience (no page reloads, more control over what happens on save) and implement business logic (conditional updates, default values, etc.) in your canvas apps.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;40377&quot; data-start=&quot;39754&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;SharePoint is a great starting point because it’s readily available and easy to use. We also noted that &lt;strong data-end=&quot;39871&quot; data-start=&quot;39858&quot;&gt;Dataverse&lt;/strong&gt; is the more powerful, scalable option as apps grow – but it requires premium licensing [&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/getting-started-with-dataverse-a-sharepoint-user-s-guide#:~:text=Before%20you%20jump%20headfirst%20into,premium%20license%20to%20access%20them&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/getting-started-with-dataverse-a-sharepoint-user-s-guide#:~:text=Before%20you%20jump%20headfirst%20into,premium%20license%20to%20access%20them&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;. As your app scales up or your organization’s needs get more complex (relationships, security roles, large data volume), you might explore moving to Dataverse or SQL. The good news is that the skills you learned here with Patch and Power Fx will carry over. In Dataverse, for example, you also use Patch (though many complex field types are handled more uniformly in Dataverse).&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;40865&quot; data-start=&quot;40379&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;For now, with SharePoint lists and the Patch function, you can build robust custom solutions within the standard licensing. Practice patching different field types in a test app – perhaps create a sample list with columns of each type and try the examples above. Always remember to match the data types, use the &lt;code data-end=&quot;40702&quot; data-start=&quot;40691&quot;&gt;Choices()&lt;/code&gt; function and proper controls to simplify complex patches, and handle any errors (use &lt;code data-end=&quot;40797&quot; data-start=&quot;40788&quot;&gt;IfError&lt;/code&gt; or check the return value of Patch) to make your app user-friendly.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;41138&quot; data-start=&quot;40867&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Happy patching, and enjoy the flexibility it brings to your Power Apps development! If you found this guide helpful, you’re well on your way to building apps that save data exactly how and when you want. Keep experimenting with Patch, and soon it’ll become second nature.&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-end=&quot;41153&quot; data-start=&quot;41140&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;References&lt;/span&gt;&lt;/h2&gt;
&lt;ul data-end=&quot;43773&quot; data-is-only-node=&quot;&quot; data-start=&quot;41155&quot;&gt;
&lt;li data-end=&quot;41347&quot; data-start=&quot;41155&quot;&gt;
&lt;p data-end=&quot;41347&quot; data-start=&quot;41157&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;41207&quot; data-start=&quot;41157&quot;&gt;Microsoft Learn – Patch function documentation&lt;/strong&gt;: Official reference for Patch syntax and usage in Power Fx&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://learn.microsoft.com/en-us/power-platform/power-fx/reference/function-patch#:~:text=For%20example%2C%20this%20formula%20changes,for%20a%20customer%20named%20Contoso&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://learn.microsoft.com/en-us/power-platform/power-fx/reference/function-patch#:~:text=For%20example%2C%20this%20formula%20changes,for%20a%20customer%20named%20Contoso&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;learn.microsoft.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://learn.microsoft.com/en-us/power-platform/power-fx/reference/function-patch#:~:text=,1234%22%20%7D&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://learn.microsoft.com/en-us/power-platform/power-fx/reference/function-patch#:~:text=,1234%22%20%7D&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;learn.microsoft.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;41661&quot; data-start=&quot;41348&quot;&gt;
&lt;p data-end=&quot;41661&quot; data-start=&quot;41350&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;41414&quot; data-start=&quot;41350&quot;&gt;Power Apps &amp;amp; SharePoint Complex Fields – Reza Dorrani’s Blog&lt;/strong&gt;: &lt;em data-end=&quot;41461&quot; data-start=&quot;41416&quot;&gt;“Power Apps Patch function with SharePoint”&lt;/em&gt; – outlines Patch syntax for SharePoint columns like Choice, People, Lookup, etc., including required record structures&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;rezadorrani.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://rezadorrani.com/index.php/2020/05/04/power-apps-patch-function-with-sharepoint/#:~:text=&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;rezadorrani.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;42047&quot; data-start=&quot;41662&quot;&gt;
&lt;p data-end=&quot;42047&quot; data-start=&quot;41664&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;41718&quot; data-start=&quot;41664&quot;&gt;PowerApps911 – Patching Complex SharePoint Columns&lt;/strong&gt;: Shane Young’s tutorial on patching choice, multi-choice, people, multi-people, lookup, and managed metadata fields (both with static values and using controls)&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=%2F%2FNumber%20and%20Currency%20work%20the,MyMultiChoiceColumn%3A%20Table&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=%2F%2FNumber%20and%20Currency%20work%20the,MyMultiChoiceColumn%3A%20Table&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=MyImageColumn%3A%20Image2,WssId%3A%200&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/patch-complex-sharepoint-columns-with-power-apps#:~:text=MyImageColumn%3A%20Image2,WssId%3A%200&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;. Great best practices on using Dropdowns/ComboBoxes with &lt;code data-end=&quot;42026&quot; data-start=&quot;42015&quot;&gt;Choices()&lt;/code&gt; to simplify Patch.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;42341&quot; data-start=&quot;42048&quot;&gt;
&lt;p data-end=&quot;42341&quot; data-start=&quot;42050&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;42104&quot; data-start=&quot;42050&quot;&gt;Power Apps Community Blog – Managed Metadata Patch&lt;/strong&gt;: “Saving to SharePoint Managed Metadata columns using Patch” by Darogael – shows how to construct the record for taxonomy fields with TermGuid, Label, etc.&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://community.powerplatform.com/blogs/post/?postid=acb09ed6-bda5-4c3a-b70d-ccda63a6ba2e#:~:text=Here%20is%20the%20formula%20to,to%20the%20Managed%20Metadata%20column&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://community.powerplatform.com/blogs/post/?postid=acb09ed6-bda5-4c3a-b70d-ccda63a6ba2e#:~:text=Here%20is%20the%20formula%20to,to%20the%20Managed%20Metadata%20column&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;community.powerplatform.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://community.powerplatform.com/blogs/post/?postid=acb09ed6-bda5-4c3a-b70d-ccda63a6ba2e#:~:text=Patch%28ManagedMetadataTest%2CDefaults%28ManagedMetadataTest%29%2C%7BTitle%3A%20DataCardValue1.Text%2C%20Department%3A%7B%27%40odata.type%27%3A%22,Value&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://community.powerplatform.com/blogs/post/?postid=acb09ed6-bda5-4c3a-b70d-ccda63a6ba2e#:~:text=Patch%28ManagedMetadataTest%2CDefaults%28ManagedMetadataTest%29%2C%7BTitle%3A%20DataCardValue1.Text%2C%20Department%3A%7B%27%40odata.type%27%3A%22,Value&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;community.powerplatform.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;42725&quot; data-start=&quot;42342&quot;&gt;
&lt;p data-end=&quot;42725&quot; data-start=&quot;42344&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;42407&quot; data-start=&quot;42344&quot;&gt;Power Apps Guide by Tim Leung – Patching complex data types&lt;/strong&gt;: Summarizes the Patch syntax for the 6 most complex SharePoint field types (lookup, single choice, multi-choice, yes/no, person, multi-person) with examples&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://powerappsguide.com/blog/post/sharepoint-applying-patch-to-the-6-complex-data-types#:~:text=It%27s%20easy%20to%20patch%20simple,person%2Fgroup%2C%20and%20multi%20person%2Fgroup%20columns&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://powerappsguide.com/blog/post/sharepoint-applying-patch-to-the-6-complex-data-types#:~:text=It%27s%20easy%20to%20patch%20simple,person%2Fgroup%2C%20and%20multi%20person%2Fgroup%20columns&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerappsguide.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://powerappsguide.com/blog/post/sharepoint-applying-patch-to-the-6-complex-data-types#:~:text=Property%3A&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://powerappsguide.com/blog/post/sharepoint-applying-patch-to-the-6-complex-data-types#:~:text=Property%3A&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerappsguide.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;. A handy reference for understanding the OData type requirements and structures.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;43081&quot; data-start=&quot;42726&quot;&gt;
&lt;p data-end=&quot;43081&quot; data-start=&quot;42728&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;42773&quot; data-start=&quot;42728&quot;&gt;Matthew Devaney – Patch Function Examples&lt;/strong&gt;: A collection of examples for every SharePoint column type. Useful for seeing real examples with screenshots of before/after in the SharePoint list&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.matthewdevaney.com/power-apps-patch-function-examples-for-every-sharepoint-column-type/patch-a-sharepoint-date-column-in-power-apps/#:~:text=Patch,&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.matthewdevaney.com/power-apps-patch-function-examples-for-every-sharepoint-column-type/patch-a-sharepoint-date-column-in-power-apps/#:~:text=Patch,&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;matthewdevaney.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.matthewdevaney.com/power-apps-patch-function-examples-for-every-sharepoint-column-type/patch-a-sharepoint-date-column-in-power-apps/#:~:text=Patch,&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.matthewdevaney.com/power-apps-patch-function-examples-for-every-sharepoint-column-type/patch-a-sharepoint-date-column-in-power-apps/#:~:text=Patch,&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;matthewdevaney.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;. Matthew’s site also provides a PDF guide which is great for offline reference.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;43397&quot; data-start=&quot;43082&quot;&gt;
&lt;p data-end=&quot;43397&quot; data-start=&quot;43084&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;43116&quot; data-start=&quot;43084&quot;&gt;PowerApps Official Forum Q&amp;amp;A&lt;/strong&gt;: Various community answers and threads (on Power Users and Stack Exchange) discussing common Patch errors (e.g., &lt;em data-end=&quot;43264&quot; data-start=&quot;43230&quot;&gt;“Network error when using Patch”&lt;/em&gt; which often means invalid data or missing required fields). These can be useful if you run into specific issues not covered above.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;43773&quot; data-start=&quot;43398&quot;&gt;
&lt;p data-end=&quot;43773&quot; data-start=&quot;43400&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;strong data-end=&quot;43453&quot; data-start=&quot;43400&quot;&gt;Dataverse vs SharePoint for Power Apps – Overview&lt;/strong&gt;: Blog post &lt;em data-end=&quot;43526&quot; data-start=&quot;43465&quot;&gt;“Getting Started with Dataverse: A SharePoint User&#39;s Guide”&lt;/em&gt; on PowerApps911 highlights key differences (e.g., Dataverse requires premium licenses, whereas SharePoint is included in M365)&lt;span data-state=&quot;closed&quot;&gt;&lt;span class=&quot;ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]&quot;&gt;&lt;a alt=&quot;https://www.powerapps911.com/post/getting-started-with-dataverse-a-sharepoint-user-s-guide#:~:text=Before%20you%20jump%20headfirst%20into,premium%20license%20to%20access%20them&quot; class=&quot;flex h-4.5 overflow-hidden rounded-xl px-2 text-[0.5625em] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out&quot; href=&quot;https://www.powerapps911.com/post/getting-started-with-dataverse-a-sharepoint-user-s-guide#:~:text=Before%20you%20jump%20headfirst%20into,premium%20license%20to%20access%20them&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;relative start-0 bottom-0 flex h-full w-full items-center&quot;&gt;&lt;span class=&quot;flex h-4 w-full items-center justify-between overflow-hidden&quot; style=&quot;opacity: 1; transform: none;&quot;&gt;&lt;span class=&quot;max-w-full grow truncate overflow-hidden text-center&quot;&gt;powerapps911.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;. Good to read when you’re considering scaling up from SharePoint in the future.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/6736694723001221107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/6736694723001221107' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/6736694723001221107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/6736694723001221107'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2025/06/powerapps-patch-101-patching-sharepoint.html' title='PowerApps Patch 101: Patching SharePoint Columns for Beginners'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCaU-j5Zr235fv5o6t5oR8YKDWUTRMDZ-kJFfvzMnn1_aoBOghAisKW2yjYzDyr-ZLUQSuan3CVyVpPNpyzrmZ94DWW7mt38vJaFeXGc5iyFAA2XFdHGGm8kPAFuM9mjcNxynhUWcPE_1HL75syPnXKL6snrW4WaYo9DO40gZQZtjF8l3WNwgg/s72-c/ChatGPT%20Image%20Jun%2029,%202025,%2003_14_32%20PM.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-756405346059539346</id><published>2018-03-16T09:29:00.001+02:00</published><updated>2018-03-16T09:43:02.206+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="azure function"/><category scheme="http://www.blogger.com/atom/ns#" term="blockchain"/><category scheme="http://www.blogger.com/atom/ns#" term="future"/><category scheme="http://www.blogger.com/atom/ns#" term="intranet"/><category scheme="http://www.blogger.com/atom/ns#" term="trends"/><title type='text'>I have seen the future in IT.</title><content type='html'>&lt;span style=&quot;background-color: #dddeef; color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px;&quot;&gt;Due to some anomaly with the space-time continuum, I was sent to the future! I saw some key upcoming disruptions and was sent back to warn you all, so we can prepare for these disruptions now, before its too late. Oh, while I was there, I accidentally killed someone called Sarah Conner, hope that does not bite us in the @$$ later!&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #dddeef; color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;Everything that we find normal is GONE, and we better adapt or die!&amp;nbsp; The Microsoft Tech Summit I recently attended confirmed a few big changes in the not-so-far future that we better prepare for NOW.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;1. The Intranet is no more.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtcQexKNoVSTXx5QsN__Rhg-Iq1N-Hl1pTrlbxmEEsfuVffC0kIVRcqV1wW9jXo_Q5GwZf3mb4KV5QvYo_-8z2E_9g6jpEKvNDUjbKUpRx4NnPHhkYy8VeRCFpoHuYeFjDweWa/s1600/deadIntranet.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;414&quot; data-original-width=&quot;654&quot; height=&quot;202&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtcQexKNoVSTXx5QsN__Rhg-Iq1N-Hl1pTrlbxmEEsfuVffC0kIVRcqV1wW9jXo_Q5GwZf3mb4KV5QvYo_-8z2E_9g6jpEKvNDUjbKUpRx4NnPHhkYy8VeRCFpoHuYeFjDweWa/s320/deadIntranet.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;Do you still use your intranet?&amp;nbsp; No, like really use it?&amp;nbsp; The intranet was a platform for collaboration, but these days, people use it to access their leave form, expense claim form, maybe the corporate telephone directory, see pics from the corporate function or to see the canteens menu and, well, that&#39;s about it.&amp;nbsp; We don&#39;t use it for collaborating, people are now collaborating via tools like MS Teams.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;What makes tools like MS Teams good, is well, its just like SharePoint (YES! that&#39;s a good thing!).&amp;nbsp; what&amp;nbsp; I mean to say is that it is also a development platform.&amp;nbsp; So, while its a great starting point for forming communication channels within teams, you can also add some customisation and do just about anything.&amp;nbsp; You can develop some bots to automate you leave application and expense claim on a chat-based platform that feels more natural to your users.&amp;nbsp; It has great integration support with a large host of applications, it even has connectors that allows applications to send notifications directly to your channel with very useful, customisable card style views.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;MS Teams now gives you whatever you wanted in the intranet in an interface that is intuitive and natural. &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;The Intranet&amp;nbsp; had a good run but we have now outgrown it.&amp;nbsp; It will take a while for Corporate Communication to realize this, so this change will start off slow, but once the penny drops, Intranets will be like Netscape.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;2. Azure Functions, the missing link to everything!&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #002000; font-family: &amp;quot;segoe ui&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTorlhzWZpe46bhry_JcKfkbg6BUuaHCBk9Pe-aVAlHgOd7koANj8Q51luDhnO__3Lm8NDtkARY7KkVMVPFUFBIWAiK9izLJJWQ9kYiW1AzaWdMgZIBYbqdKteGwtMWbIngI11/s1600/AzureFunctionMissingLink.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;720&quot; data-original-width=&quot;1280&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTorlhzWZpe46bhry_JcKfkbg6BUuaHCBk9Pe-aVAlHgOd7koANj8Q51luDhnO__3Lm8NDtkARY7KkVMVPFUFBIWAiK9izLJJWQ9kYiW1AzaWdMgZIBYbqdKteGwtMWbIngI11/s320/AzureFunctionMissingLink.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;color: #b03200; font-family: &amp;quot;segoe ui&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;The SharePoint Framework is Microsoft s&amp;nbsp;way of allowing us to customise SharePoint, its great and its getting better everyday.&amp;nbsp; But its a client side solution and there are things that we just wont be able to be via the framework alone.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;But wait, the framework can now call Azure Functions, and this baby is not as restrictive as the SharePoint Framework.&amp;nbsp; Azure Functions are serverless. &quot;functions as a service&quot; solutions that can work in the language of your choice, you can run it via triggers or webhooks and its a great solution for complex tasks like automation, enforcing governance, site provisioning or integration that just would have been impossible, or at least, very difficult otherwise.&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;So Azure Functions will soon be known as the missing link that everyone didn&#39;t know, they always wanted.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;span style=&quot;color: #b01100;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #007670;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #000111;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #000017;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;

&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;3. Skynet is becoming self-aware&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXvQGIk8zE9FZe0gU9jJ3RbMPI1b6sNXWvk7kyvcA3oKqy5gGQPtEJGvEvfqLWEul7X2o-SsfxwullaGrgO4bG8PzWr7gbMoNXsfoTUtirX3YMqpTP6OHOsYJ2sgNdP4UsAZ2b/s1600/icon-machine-learning.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;459&quot; data-original-width=&quot;510&quot; height=&quot;288&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXvQGIk8zE9FZe0gU9jJ3RbMPI1b6sNXWvk7kyvcA3oKqy5gGQPtEJGvEvfqLWEul7X2o-SsfxwullaGrgO4bG8PzWr7gbMoNXsfoTUtirX3YMqpTP6OHOsYJ2sgNdP4UsAZ2b/s320/icon-machine-learning.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;AI is getting good, really good, scary good!&amp;nbsp; Its now easy to use and its a great value add that worth considering.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;While AI alone isn&#39;t that impressive.&amp;nbsp; IoT is betting big, this means that data collection of things that was impossible to collect data on before and now coming in fast. AI is at its best when it has lots of data to work with,&amp;nbsp; and Big-data is becoming even bigger-data!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;This type of data leads to advanced analytics and is a great component of block-chain applications.&amp;nbsp; In fact, the environment is now perfect for decentralised applications to flourish and it wont take long for us to apply block-chain tech to applications that are now dependent on centralised organisations or teams like banks, lawyers, HR, accountants, government, etc.&amp;nbsp; It could be used to enforce contracts, pay salaries, calculate BEE status, manage benefits or training.&amp;nbsp; Its provides a trusted transactions that needs no central control.&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;We will soon create token systems for things of value like diversity in company, water consumption, carbon footprint.&amp;nbsp; Block-chain tech, together with data collected from IoT, will allocate tokens when warranted which can be used to confirm certain characteristics without the need of central organisations to confirm.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;In the not-too-far future, all information will be centralised and contextualised and personalised and available in an intuitive&amp;nbsp;and natural way.&amp;nbsp; We dont look for stuff anymore, we just get the right stuff, when we need it most.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #16233a; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;Money will lose its value as we find trad-able&amp;nbsp;&quot;value&quot; in other things.&amp;nbsp; And people will lose jobs once Blockchain&#39;s&amp;nbsp;&quot;smart contracts&quot; take over as the preferred way to handle tasks by being transparent and reliable.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #002000; font-family: &amp;quot;segoe ui&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #007600; font-family: &amp;quot;segoe ui&amp;quot;;&quot;&gt;So the world is changing, if you are still doing things the way it was done 3 years ago, then you are doing things the old way and if you don&#39;t adapt now, it might be too late.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;segoe ui&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #007600;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/756405346059539346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/756405346059539346' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/756405346059539346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/756405346059539346'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2018/03/i-have-seen-future-in-it.html' title='I have seen the future in IT.'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtcQexKNoVSTXx5QsN__Rhg-Iq1N-Hl1pTrlbxmEEsfuVffC0kIVRcqV1wW9jXo_Q5GwZf3mb4KV5QvYo_-8z2E_9g6jpEKvNDUjbKUpRx4NnPHhkYy8VeRCFpoHuYeFjDweWa/s72-c/deadIntranet.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-2137260387824031687</id><published>2017-09-23T11:15:00.000+02:00</published><updated>2017-09-23T20:03:48.671+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="chatbot"/><category scheme="http://www.blogger.com/atom/ns#" term="O365"/><title type='text'>Get into ChatBots NOW, its what your customers want, but don&amp;#39;t know it yet</title><content type='html'>&lt;p&gt;OK, lets cover the basics.&amp;nbsp; What are ChatBots?&amp;nbsp; Its a computer program designed to simulate conversation with human users, typically via messenger apps or chat windows.&amp;nbsp; I’m sure most of you already got that, but I wanted to make sure that we all on the same page here.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLJpQ2-kteqKs5BD3PoKUr3AvLs577vRSdcG86fE7-pIBeyzEYWKmYBHmipEaozljptMyrKQtacep_9kJWt1yOWwj2Fhr-9ticeSoDBqb2SmckEMjZpPPj6wK4bOvuRlUzls8q/s1600-h/thZV44XYN7%255B2%255D&quot;&gt;&lt;img width=&quot;244&quot; height=&quot;168&quot; title=&quot;thZV44XYN7&quot; style=&quot;margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;&quot; alt=&quot;thZV44XYN7&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC6wXl3R0__VKD4_9DbUL8KlarrYEK3E07hZIuRpVSB8Fnr2RyHwJiJ0DjU_TXLIhQtjBzqGwbkoqKHAapiwAVl4UUh_aKj0ZWHYMM-Gv5UAF2nqCekEB0HFr6-frAS6vFv1Dh/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;So why should we focus on ChatBots?&amp;nbsp; No one is asking for them, right? Wrong.&amp;nbsp; Companies are looking for ways to engage with their customers in a way that their customers are already familiar with.&amp;nbsp; Customers don’t want to download an extra app for the companies they engage with so in order to engage with your customers in a manner that is convenient to them, you need to use a medium that they are already familiar with.&lt;/p&gt;&lt;p&gt;You may have noticed that chat tools are becoming our clients more natural and preferred way to communicate.&amp;nbsp; In fact, towards the end of 2016, Facebook announced that they host over 30 000 ChatBots.&amp;nbsp; These bots can check the weather, order food, organise travel and even play games. China uses WeChat and they have over 10 million ChatBot accounts and lets face it, we are getting familiar with ChatBots thanks to Siri, Google Now and Cortana.&lt;/p&gt;&lt;p&gt;So companies are starting to see ChatBots as the perfect medium to engage with their clients, they are also figuring out that ChatBots are well suited for routine customer queries like:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Self Service&lt;/li&gt;&lt;li&gt;FAQ’s&lt;/li&gt;&lt;li&gt;Onboarding&lt;/li&gt;&lt;li&gt;Completing Forms&lt;/li&gt;&lt;li&gt;Workflow Approval&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;So ChatBots should be considered when:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Customer requests are in a specific area and the solution is well known and predictable&lt;/li&gt;&lt;li&gt;Guided steps and input parameters&lt;/li&gt;&lt;li&gt;High volume requests&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Just try to avoid using ChatBots in situations where your customers are already stressed.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTtJ5P9g2Cv6id3EJX6phgIjID8m7-1qR6KjAyX1EF50ozSAzP-jl3OtnCIlSJj08elOFAC8g0WxrDvCpGlzupJkH3skLDGQURcJ3HI-NRx-n191nZ6cJXK2gRwbaH-aLOB10h/s1600-h/3059439-poster-1280-why-the-latest-invasion-of-chatbots-isnt-like-the-others%255B3%255D&quot;&gt;&lt;img width=&quot;494&quot; height=&quot;280&quot; title=&quot;3059439-poster-1280-why-the-latest-invasion-of-chatbots-isnt-like-the-others&quot; style=&quot;margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;&quot; alt=&quot;3059439-poster-1280-why-the-latest-invasion-of-chatbots-isnt-like-the-others&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4EW2Udx-6wKRt0eTe04x20gBxsTRaKlgJD_HtoQHnf1UXbAPvx0LIF5aEYQLfWwVrvnHXsnxBnKawkXeXfSysNUprlsjUX5l2H61QTxf5Nhg9req8w4H6IlGlHq2loQLEWZgi/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;So you get it right?&amp;nbsp; There&#39;s a need for ChatBots, and once your customers figure out that ChatBots are an option, there will be a huge demand for ChatBot development.&amp;nbsp; So where do you, as a developer, get started with ChatBot development? &lt;/p&gt;&lt;p&gt;Thankfully, Microsoft has made ChatBot development easy via:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Microsoft Azure – Bot Services&lt;/li&gt;&lt;li&gt;Cognitive Services&lt;/li&gt;&lt;li&gt;Louise (Microsoft’s language, understanding and intelligence service)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Here are a few tools that can help you:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Microsoft Bot Developer Portal (dev.botframework.com)&lt;/li&gt;&lt;li&gt;Bot Builder SDK (github.com/Microsoft/BotBuilder)&lt;/li&gt;&lt;li&gt;Bot Emulator (download.botframework.com/botconnector/emulator)&lt;/li&gt;&lt;li&gt;Visual Studio Bot Project Template (aka.ms/bf-bc-vstemplate)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnQEhNQCmzKqig-o0pMpfksqueyRfC3iQitF9NzR92rsVruhjIBhRvREGUuiKBapa6AzmpK66_iTFm_V1GjKvkij_6rxu9aOSNUGL0Fbz22dM4uBJlGea8bw7A7zcBjf0h9HA_/s1600-h/chatbots%255B3%255D&quot;&gt;&lt;img width=&quot;453&quot; height=&quot;303&quot; title=&quot;chatbots&quot; style=&quot;margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;&quot; alt=&quot;chatbots&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsizBWBn9cWam-RVhpECJTQKgxeUz7n9b9GSgyl5uxmDwKQ5CgCR2syN9S0qjIqH18EMgpQCll7RXlWF3lyaIx6dZawrvPleb_5feIwcSt0uTbN9DFFmx-JCPKQ3qGtLTfg3R_/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;Before you begin, you should know that the following platforms are supported:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Bing (the bot will appear in search results)&lt;/li&gt;&lt;li&gt;Cortana (can be deployed as self service to organisation)&lt;/li&gt;&lt;li&gt;Skype and Skype for Business &lt;/li&gt;&lt;li&gt;Web&lt;/li&gt;&lt;li&gt;Email&lt;/li&gt;&lt;li&gt;Facebook&lt;/li&gt;&lt;li&gt;GroupMe&lt;/li&gt;&lt;li&gt;Kik&lt;/li&gt;&lt;li&gt;Slack&lt;/li&gt;&lt;li&gt;Telegram&lt;/li&gt;&lt;li&gt;Twilio&lt;/li&gt;&lt;li&gt;Microsoft Teams bots support 1:1 chats (not group chats yet)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;You will notice that I didn&#39;t mention WhatsApp.&amp;nbsp; Yes, WhatsApp does NOT allow ChatBots to use that platform.&amp;nbsp; Infact, WhatsApp are actively blocking accounts once its discovered to be a ChatBot.&amp;nbsp; &lt;/p&gt;&lt;p&gt;This is unfortunate because its the biggest and most preferred chatting tool in South Africa, and I am sure in many other parts of the world, and I dont see this changing anytime soon since FaceBook owns WhatsApp, and they are pushing for Messenger (another chat tool owned by FaceBook) to be the preferred chat tool.&lt;/p&gt;&lt;p&gt;If you want to build a ChatBot solution in 10 minutes with no code. Check out QnA maker, &lt;a title=&quot;https://qnamaker.ai/&quot; href=&quot;https://qnamaker.ai/&quot;&gt;https://qnamaker.ai/&lt;/a&gt;, a service provided by Microsoft that converts a FAQ page to a ChatBot service within minutes.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/2137260387824031687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/2137260387824031687' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/2137260387824031687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/2137260387824031687'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2017/09/get-into-chatbots-now-its-what-your.html' title='Get into ChatBots NOW, its what your customers want, but don&amp;#39;t know it yet'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC6wXl3R0__VKD4_9DbUL8KlarrYEK3E07hZIuRpVSB8Fnr2RyHwJiJ0DjU_TXLIhQtjBzqGwbkoqKHAapiwAVl4UUh_aKj0ZWHYMM-Gv5UAF2nqCekEB0HFr6-frAS6vFv1Dh/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-3008723698038748663</id><published>2017-09-17T15:37:00.001+02:00</published><updated>2017-09-28T08:40:22.326+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Data Table"/><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><category scheme="http://www.blogger.com/atom/ns#" term="JS Links"/><category scheme="http://www.blogger.com/atom/ns#" term="sharepoint"/><title type='text'>SharePoint Lists Views + JS Links + Data Tables = Awesome Threesome</title><content type='html'>&lt;h2&gt;
SharePoint Lists Views&lt;/h2&gt;
SharePoint lists are the primary building blocks when setting up a SharePoint site. Pretty much any system is designed to takes and give information and SharePoint relies on lists to make that happen. &lt;br /&gt;
&lt;br /&gt;
So list are important, it stores the information you want to share, it sources workflows and forms and it defines how things relate to each other. We rely on List Views to interact with these lists which is great, but these views are created by SharePoint and gives us limited control in how we can configure the interface, which is a shame because sometimes the lists are just too important to rely of the basic configurations. &lt;br /&gt;
Thankfully, Microsoft gave us JS links, an ability to influence the way the views are rendered via JavaScript.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
JS Links&lt;/h2&gt;
This opens a great new world of possibilities, we can now use JavaScript to read the data from the list view, check if certain conditions are met, and if these conditions are met, we can change the information that needs to be displayed. &lt;br /&gt;
For example, if you have a SharePoint list with a column that stores a RAG indicator, i.e. Red, Amber or Green indicator, you can, via JS Links, check the indicator value and display an image with the appropriate colour instead of the boring text. &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwC2e81T8xAIW6WEwCszH-qCDWn_tFV4KQOcW1GW4rg0q3wURti1uZCZnqJSeIVOykTmmcQtFhDDyBJXK2fi3oQMJyHsR1KkSrK32OePNIg1vKjpwW-I6qJFwLZt9lrR9CawZB/s1600-h/clip_image002%255B1%255D&quot;&gt;&lt;img alt=&quot;clip_image002&quot; border=&quot;0&quot; height=&quot;78&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPfjgS_LBXQQohtmeBkutk8dvRDpnhQLV0EDRrRHZ5WbGXIGc_08V0Ry90HbqOGgLssBhifpWFaF2PhmiG0MuBopk0azNO7D-QAgKg1uVp0yzpms1sx2VwoWM-o-3ppBA-XfOS/?imgmax=800&quot; style=&quot;background-image: none; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;clip_image002&quot; width=&quot;221&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
And that’s the big advantage of JS Links, by being able to change the design of the list view, you can provide a much better user experience.&amp;nbsp; Better user experience leads to better adoption, less room for errors and ultimately, greater success.&lt;br /&gt;
&lt;br /&gt;
When it comes to JavaScript, there’s awesome open source libraries available (you can find them here: &lt;a href=&quot;https://www.javascripting.com/&quot;&gt;https://www.javascripting.com/&lt;/a&gt;). You may know the more popular ones like jQuery, React.js and Angular.js. I want to draw your attention to a library called Data Tables, a highly customisable tool that adds advanced interaction controls to HTML tables.&lt;br /&gt;
&lt;h2&gt;
 Data Tables&lt;/h2&gt;
Data Tables, &lt;a href=&quot;https://www.datatables.net/&quot;&gt;https://www.datatables.net/&lt;/a&gt;, are awesome, with a single line of code, you point this JavaScript library to a HTML table and it auto-magically provides search capabilities, sorting, styling and paging, it also stores everything in memory so the paging, searching and sorting works very fast, even with large dataset.&lt;br /&gt;
So if you are looking for alternatives to the standard List Views, then the Data Tables JavaScript library is a great option. The views provided by SharePoint are still tops and should be used most of the time, but there are scenarios where I would see Data Tables as the better alternative, these scenarios are:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt; For consuming, not necessary creating information – the greater range of styling options available via Data Tables makes this tool a great option for presenting information&lt;/li&gt;
&lt;li&gt;Enhanced User Experience – getting into the code of what is displayed gives you better control when defining the interface&lt;/li&gt;
&lt;/ul&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQD3XfUQJ4zlR0lGOPiU907T5vb8Bp8DJraO2pTTJK-g7h6DpgfvQdAw8T44xNnrouLxN0ZULPZ2EyUo_uXHKvoCIAGsaQM-X8j7MM-_2h35qR5x5pEuJsh5y7pMy42DyuJ9gz/s1600-h/clip_image004%255B1%255D&quot;&gt;&lt;img alt=&quot;clip_image004&quot; border=&quot;0&quot; height=&quot;373&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD08kvrLyk0lTKH6YpZLANZLmz7Lm_9aow1AZ1x9YbN0_afw3l492gOIWlVymlFQFH9XqCR3qQX8Xd_qAEwF4xLamSwk3-LjMbZCeVxIi8IJhaeh58rPxCQ8qs5CxD2xub5VQm/?imgmax=800&quot; style=&quot;background-image: none; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;clip_image004&quot; width=&quot;394&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Working with large amount of data (but not too large) – with the data stored in memory, less database calls are needed when paging, searching or sorting making it a great choice for large, but not massive lists will take a long time to load into memory so there is a threshold to consider. I am assuming that 500 items is a good number for Data Tables, but will set the scene for some threshold testing.&lt;/li&gt;
&lt;/ul&gt;
This alternative, where you use &lt;strong&gt;Data Tables&lt;/strong&gt; to display information from a &lt;strong&gt;SharePoint List View&lt;/strong&gt; via &lt;strong&gt;JS Links&lt;/strong&gt; is something that I and now calling the “Awesome Threesome”. (Apologies if this is not the type of Awesome Threesome you were Googling!)&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;h2&gt;
So how do we get this Awesome Threesome?&lt;/h2&gt;
&lt;h3&gt;
&lt;b&gt;1. &lt;/b&gt;&lt;b&gt;Setting up the SharePoint List&lt;/b&gt;&lt;/h3&gt;
&lt;b&gt;&lt;/b&gt;First, let’s setup a SharePoint list. I want to see how Data Tables work with large lists, so I Googled and found an Excel file (&lt;a href=&quot;https://community.tableau.com/servlet/JiveServlet/downloadBody/1236-102-1-1149/Sample%20-%20Superstore%20Sales%20(Excel).xls&quot;&gt;https://community.tableau.com/servlet/JiveServlet/downloadBody/1236-102-1-1149/Sample%20-%20Superstore%20Sales%20(Excel).xls&lt;/a&gt;) with 21 columns and 8 400 rows of data, definitely overkill, since best practice dictates that SharePoint lists should not exceed 5 000 rows, but this will help us determine what threshold is acceptable and I want to see how Excel and SharePoint will handle this volume of data.&lt;br /&gt;
&lt;br /&gt;
To export this data to SharePoint, format the data as a table, select a cell in the table, select Design (if you don’t see the Design option, then you did not format the data as a Table), Select Export and then Export Table to SharePoint List (Confused? See image below).&lt;br /&gt;
&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid1MsWpbihI3MxRsylz_6W-ZSysZeRAMtKs_vgjKKeycZ4mp_jFXgOiIRXvedsLZxFxAokSIE7mAJlrjSyJs5psLsN1VAZFsgJaom6n7cGWn4t2m4V9jmR8jY8Gx54pLzP71ti/s1600-h/clip_image006%255B2%255D&quot;&gt;&lt;img alt=&quot;clip_image006&quot; border=&quot;0&quot; height=&quot;291&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4h-2VJaohVV6tGJiXO9Jl0ltHZaJGDh4QY5Xe4w_2hX6P7v6foXFzn683tknWV7K8FRSYe8B4Avq9i9hLXCLxmQFNMszCunbCcIY8tFf2UgEWNABmmhnwrHIqYYHYPKAtIeiU/?imgmax=800&quot; style=&quot;background-image: none; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;clip_image006&quot; width=&quot;469&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
Specify the SharePoint URL and List details and “Ta Daa!” the list exported to SharePoint successfully. (For this article, I used SharePoint Online via my O365 subscription and I defined a new list called “DataTableDemo”).&lt;br /&gt;
&lt;br /&gt;
For those interested, uploading 8 400 rows to SharePoint Online took 12 minutes to complete, that’s pretty good.&lt;br /&gt;
Excel provided a nice progress bar for the first 75%, then it looked like it crashed with a “Not Responding” status. I ignored that message and checked the SharePoint site. I could see the new library and I could see the number of items increasing every time I refreshed the page, so it was still working. It finally stopped at 8 399 rows (I counted the header row which makes 8 400) and Excel got out of the “Not Responding” Status and in its place showed a wonderful “Export Successful” message with a link to the new list.&lt;br /&gt;
&lt;br /&gt;
Given the volume of data I was exporting and where I was exporting it to, the way Excel handled it was impressive. Well done Microsoft! &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ8hqqJA1fLkFKBwRugUoWDXO1Y9NnJRn1ixO2-OQBXrNbIAV-jzH3ABYR8kLM7oMw18dazi3T-39pZJGAP-127RUkMTGHFqtAiynP_2h7726d8wS92ZnmiHXigVKwMgL9hgYa/s1600-h/clip_image008%255B1%255D&quot;&gt;&lt;img alt=&quot;clip_image008&quot; border=&quot;0&quot; height=&quot;216&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZEqf7exUl-TpfnZ2NYb_JmkOcbz86xzZkVnlODTyvVL3IyAoLYVQ4v1VHtlmUczWTA-TEvZbMFOj8E1dcrybjJ93xVCqxTgQmq_xk8fl965eAAlEN3r4zEkSBLsF5lucTXoZM/?imgmax=800&quot; style=&quot;background-image: none; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;clip_image008&quot; width=&quot;451&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
Its good practice to create a new view rather than modifying the default “All Items” view.  So I created a new, standard view called DataTableView with all the defaults selected.  I will be working with this view going forward.&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;2. &lt;/b&gt;&lt;b&gt;Setting up the JS Link&lt;/b&gt;&lt;/h3&gt;
Now we need to configure the list to reference our JavaScript Code via JS Link&lt;br /&gt;
Firstly, SharePoint needs to be configured to accept Custom Script. To do so, navigate to the SharePoint Admin Centre and set the &quot;Custom Script&quot; option to &quot;Allow&quot;.&lt;br /&gt;
Also, Modern views do not support JS Links, so you need to change the list settings from Modern Experience to Classic Experience. To do so, navigate to your list, then go to List Settings &amp;gt; Advanced Settings and select Classic Experience in the List and Libraries Experience section.&lt;br /&gt;
The system needs around 24 hours to fully apply all these changes.  So log off and come back tomorrow to see if everything is working. This is important, I spent whole night trying to figure out why some options were not available, only to discover that I needed to wait it out. &lt;br /&gt;
You will know that all is configured correctly when you can navigate to your List view, edit the page, edit the web part that is displaying the list, and see the JS Link textbox under the Miscellaneous section.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRbH_W8QhDLbQOxisW5EFy3S6zdQBzRA1cGobPPOGVrrNrC7e73iH5L2oerZaRb4cKSMwLqQJSpoqHF4zo4R0dP-dnL8IdoYkzUKvcxg1-yy71-sLN7FQUyAfS6PF6PPlT9IpD/s1600-h/clip_image010%255B1%255D&quot;&gt;&lt;img alt=&quot;clip_image010&quot; border=&quot;0&quot; height=&quot;286&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizB0uEMZRaQqPJANpwkiAO2T66FG2LHX_1nDNiG-lvfkSW7d_rknStJqczg1Oqv-BjUHkZJH18VjbV5WVtzQ93vzBAm0NG7ncQyvDvKMzsCAWJb7vDEa8y5QWNNNqgqwS3pvSu/?imgmax=800&quot; style=&quot;background-image: none; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;clip_image010&quot; width=&quot;453&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
Since we are here, lets add a reference to the JS file that we will use. Full paths will not work (SharePoint trims it to a relative path and does a poor job at that), so you need to reference a file in the site collection with the following syntax “~sitecollection/[Library]/[filename].js”&lt;br /&gt;
Now, open your site via SharePoint Designer and navigate to the Site Assets folder, create a blank file with a .JS extension. &lt;br /&gt;
I named my file DataTableJS.js. (so in the JS Link text Box, I entered ~sitecollection/SiteAssets/DataTableJS.js).&lt;br /&gt;
Muawiyah Shannak provides a great set of JS Link samples: The articles and code can be found here, &lt;a href=&quot;https://code.msdn.microsoft.com/office/Client-side-rendering-JS-2ed3538a&quot;&gt;https://code.msdn.microsoft.com/office/Client-side-rendering-JS-2ed3538a&lt;/a&gt;, and  It’s an excellent resource that provides JS Link sample code from basic tasks to pretty sweet advanced stuff.&lt;br /&gt;
I will be focusing on the code that he used to transform a SharePoint list View into an Accordion style view (Sample 6). But instead of transforming the list into an Accordion, I’m going to transform it into a Data Table.  Its pretty much the same concept, and I see&amp;nbsp; Muawiyah’s code helping me the same way I help my wife: He will get me 95% of the way there, with the remaining 5% I have to do on my own. (Yes, I help my wife code ;).&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;3. &lt;/b&gt;&lt;b&gt;Setting up the Data Tables&lt;/b&gt;&lt;/h3&gt;
Muawiyah Shannak samples are clear and complete and I encourage you to go over there first to better understand how code via JS Link works. I won’t cover that, but I will talk about the adjustments I made to his Accordion view code (&lt;a href=&quot;https://code.msdn.microsoft.com/office/Client-side-rendering-code-ccdb2a0e&quot;&gt;https://code.msdn.microsoft.com/office/Client-side-rendering-code-ccdb2a0e&lt;/a&gt;). &lt;br /&gt;
First, here are a few things you need to do before you start writing code.&lt;br /&gt;
1. Know that web browsers cache .js files.  So when you are editing your file and you want to see the results in the browser, refreshing the browser is not good enough. You must always do a “Clear Cache” refresh by pressing Ctrl+Shift+F5 or Ctrl+Shift+R.&lt;br /&gt;
2. The columns that you want to display MUST be selected for display in the View Settings section. If it’s not in the View, it’s not available for the Data Table to use and you will be presented with an “Undefined” error. I have selected a few columns of different types so we can see how they are handled. &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzpycpkDTKg4LoSEeQ77yJNccBWNYm0EV7MAuQW22bs8G528Q_R4Qw6JHVu5j5AqzlMPJjKjlxgdT3-CtvsUN_ngQPFsCumHBnCXyWQtKLg98BS9yrR5slA9lLyC6XIVLrZqXb/s1600-h/clip_image012%255B1%255D&quot;&gt;&lt;img alt=&quot;clip_image012&quot; border=&quot;0&quot; height=&quot;198&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4Gn0gH46VC40G6k3DHblQMAw5aLERTFhPFBxCPG4N4urttrubciz-OOHrU7fNmaW1O7ptyNmc03hr0CtGS5saHvRXPmaE2XZQHDyHZlXLwsoZydrfBcWSrgEgNYJuQVcQbiQE/?imgmax=800&quot; style=&quot;background-image: none; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;clip_image012&quot; width=&quot;448&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
3. In extension to point 2 above, de-select all the columns you will not use in the Data Table, otherwise you are giving SharePoint unnecessary work and if you don’t treat SharePoint well, he won’t treat you well. &lt;br /&gt;
4. The View must have an Item Limit that is high enough to send ALL the rows you want to display in the Data Table, not just the rows you want to display on the first page.  The DataTable will handle the paging for you, but it needs all the data up front to store that into memory. I set the Item Limit for my DataTableView to 500 for now and will check acceptable thresholds at a later stage, most likely in a later blog post.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6f50EtnwWtDRFZHJwoop2IGz3AlNvNmA4SEO-QxWYQC0PE3c-Tr7Ir7dsjEwFX_O0i5MDBxWT5yyKr26ww-2J1ES_DrVS-myC1QAWwlqPCHqq3MwOy90FHg4FtmXh7hjJxH0A/s1600-h/clip_image014%255B1%255D&quot;&gt;&lt;img alt=&quot;clip_image014&quot; border=&quot;0&quot; height=&quot;130&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuv_xwar2Rby_6Yc25AseH0AKtL3OKTZ9Cf3J4itkJWicd2SIf1ugaYB3QNG-9g6-psiMp9C_fSCO1zF6vBbrlJKNFC2nweiChccQpfZ_ryWRVdXGZGsBNkNXRp5ixML70CA9c/?imgmax=800&quot; style=&quot;background-image: none; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;clip_image014&quot; width=&quot;454&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
5. Know that Data Table library will only work on valid, well formatted HTML tables. These tables need a header (thead) and a single body (tbody), an optional footer (tfoot) can also be used. Here’s the outline that we need to build:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&amp;lt;table id=&quot;table_id&quot; class=&quot;display&quot;&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;lt;thead&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp; &amp;lt;tr&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;th&amp;gt;Column 1&amp;lt;/th&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;th&amp;gt;Column 2&amp;lt;/th&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/tr&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;lt;/thead&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;lt;tbody&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp; &amp;lt;tr&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td&amp;gt;Row 1 Data 1&amp;lt;/td&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td&amp;gt;Row 1 Data 2&amp;lt;/td&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/tr&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp; &amp;lt;tr&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td&amp;gt;Row 2 Data 1&amp;lt;/td&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td&amp;gt;Row 2 Data 2&amp;lt;/td&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/tr&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;lt;/tbody&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;lt;/table&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;em&gt;&lt;/em&gt;&lt;br /&gt;
So, with all the prep work done, let’s look at the code. &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiE2MZdde19IRXEKfdQM9CGTtBqeMFX7a3sAydWNA3bZt077NwEOHFlw_Ut-cXj4PLt72AU76h9xswgYID5x_aN4ELhnEbvjYfbHVaJkOD0BOoCqRneG07-_TG8pC7vk2jrm2a/s1600-h/clip_image016%255B3%255D&quot;&gt;&lt;img alt=&quot;clip_image016&quot; border=&quot;0&quot; height=&quot;327&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPyPAjt2GW07-0lee2_Oi9lBrE-YuTxopjyBD4vS6wMiisKEXIUTOqp_lTtXkd1K0HY4K4MRWAJHq_q9DyflcLE2rtcxWKBAOUeLfCyb8yjSmp6N9F1SYGgpgcBA8FKu70cG1Y/?imgmax=800&quot; style=&quot;background-image: none; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;clip_image016&quot; width=&quot;510&quot; /&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
1. This code links the Data Table JS library to the correct HTML table. The table been referenced has an id of “DataTableMain” (I defined this id in section 3 below).&lt;br /&gt;
This is the standard code that you use when using Data Tables (as explained here: &lt;a href=&quot;https://datatables.net/examples/basic_init/zero_configuration.html&quot;&gt;https://datatables.net/examples/basic_init/zero_configuration.html&lt;/a&gt;). &lt;br /&gt;
I kept this area separate because DataTables are highly configurable and if these examples: &lt;a href=&quot;https://datatables.net/examples/index&quot;&gt;https://datatables.net/examples/index&lt;/a&gt;, inspires you take your DataTable to the next level, this is where you will do it. &lt;br /&gt;
2. This is the full line (cut off from the screenshot above): &lt;br /&gt;
“&lt;br /&gt;
&lt;i&gt;(window.jQuery || document.write(&#39;&amp;lt;script type=&quot;text/javascript&quot; charset=&quot;utf8&quot; src=&quot;https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;script type=&quot;text/javascript&quot; charset=&quot;utf8&quot; src=&quot;https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;https://cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css&quot;&amp;gt;&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;&#39;+dataTableBinding+&#39;&amp;lt;/script&amp;gt;&#39;)); &lt;/i&gt;&lt;br /&gt;
“&lt;br /&gt;
This code references jQuery (a pre-requisite for the Data Table library), the Data Tables library, the Data Table Stylesheet and the code created in point 1 above. &lt;br /&gt;
Note that SharePoint Online will block all http references, so if you are using a CDN reference, make sure it’s a secured https reference.&lt;br /&gt;
3. This is the full line (cut off from the screenshot above): &lt;br /&gt;
&lt;i&gt;“&lt;/i&gt;&lt;br /&gt;
&lt;i&gt; dataTableContext.Templates.Header = &quot;&amp;lt;table id=\&quot;DataTableMain\&quot; class=\&quot;display\&quot;&amp;gt;&amp;lt;thead&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Order Priority&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Order Quantity&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Order Date&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Customer Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Product Name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Modified By&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Action&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/thead&amp;gt;&amp;lt;tbody&amp;gt;&quot;;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;”&lt;/i&gt;&lt;br /&gt;
Here we are replacing the header and footer components with our own code.&lt;br /&gt;
The code that we are applying is building the main shell for a valid, well-formed HTML table with an id of “DataTableMain” (so we can reference it to the Data Table library, as done in point 1 above) and a class of “display” (so we can use the default stylesheet available)&lt;br /&gt;
4. This is where we populate the HTML table with the data available via the SharePoint View.&lt;br /&gt;
This code is in a function that runs for each item in the View (so in this case, it will run 500 times).&lt;br /&gt;
SharePoint may see columns names differently to how we see it, and in code, we must reference the columns the way SharePoint sees it. &lt;br /&gt;
To see how SharePoint has named these columns “for internal use”, go to the List Settings section, select a column, as if you want to edit it, look for the “Field” parameter in the URL QueryString, and you will see the column name the way SharePoint recognises it.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg9t4TuxdCap-9faAyEGwUh9ZQy7bKfVFlE_E3fOtAwnX2Vh6gcYecxZ5BBBrRUCV_ymY6BEGmZ5LGTVb-F4M3CxnPM94QYTBTHoovcmbMfspyRyOfYdI6CTrBtwV0udtbNR2H/s1600-h/clip_image018%255B1%255D&quot;&gt;&lt;img alt=&quot;clip_image018&quot; border=&quot;0&quot; height=&quot;259&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBRgjlfMuWu7kd2J0aAcwR_cSiVh0OPKgP8SkNGA7QgGLyPHDIJFueaiVECLLdua5P-ob5nkCIFhHVJh5s_78Uifx75UmUabWo3BJ3eZHCRiMmX662KLONhb6oGTY2fsIy7k2D/?imgmax=800&quot; style=&quot;background-image: none; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;clip_image018&quot; width=&quot;489&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
So in the screenshot above, the Order Priority column is recognised as “Title” within SharePoint, so that&#39;s what I looked for when I populated the dataOrderPriority variable.&amp;nbsp; Do this check for all your columns, you may be surprised on how SharePoint referenced them.&amp;nbsp; &lt;br /&gt;
For the Order Date column (a date column), I provided code that shows you how to change the format of the date. The format that I used is probably the best one to use if you want to use the sorting feature for that column.&amp;nbsp; &lt;br /&gt;
I included the Modified By column, so I could provide code on how to handle a People column. I extracted the name and email address so I can create a mailto link in section 5 below.&lt;br /&gt;
&lt;br /&gt;
5. This is the full line (cut off from the screenshot above): &lt;br /&gt;
&lt;i&gt;“&lt;/i&gt;&lt;br /&gt;
&lt;i&gt; return &quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&quot;+dataOrderPriority +&quot;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&quot;+dataOrderQty +&quot;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&quot;+dataOrderDate +&quot;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&quot;+dataCustomerName +&quot;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&quot;+dataProductName +&quot;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&#39;mailto:&quot;+dataModifiedByEmail+&quot;&#39;&amp;gt;&quot;+dataModifiedByName +&quot;&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&#39;EditForm.aspx?id=&quot;+dataID +&quot;&#39;&amp;gt;&amp;lt;image src=&#39;/SiteAssets/edit.png&#39; alt=&#39;Edit&#39;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot;;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;”&lt;/i&gt;&lt;br /&gt;
The code exits the function with a table row that is appended to the HTML table that we are building.
&lt;br /&gt;
In the code, you will see that I am adding link that will allow the user to edit the list item. I added this because the standard way to edit a list item, i.e. via the Ribbon Bar, stopped working when we replaced the header and item portion of the display template with our own code.&amp;nbsp; &lt;br /&gt;
SharePoint no longer knows when an item is selected, so it won’t enable the edit button in the ribbon. I’m sure we can write code via JavaScript that will “educate” SharePoint on what is selected, but I haven’t figured out how SharePoint is doing this, and since the edit button that I am providing is an acceptable workaround (it even has a cool icon image that I stored in the Site Asset library), I lost the motivation to study the default code. But if anyone knows how to do this, please mention in the comments.&lt;br /&gt;
And that’s it, the animation below shows the result. &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIpjK5j_xdtMBhZmXNClCjdn-ueJzU6e6yBwtgtlICcBfeB3Vw_fBIWEqmX-topuyVP0wAhQJsHloLqaNxmBmxxMS3ZfbFxoNpr_zcz_XTbDUalydpAIvLxrKmfMU1WVIIjmIr/s1600-h/clip_image019%255B2%255D&quot;&gt;&lt;img alt=&quot;clip_image019&quot; height=&quot;329&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVlWBy34i_P3EsRJ-zAWIPuxkO-WHCJibOVy_nVsB06XoJfWe-qU6ZKrdxJTCT3J_sH7C8HoWtyVjzjoSFXoIfg0SXI1YptC91RNcK3quISqt5ZYiM60SUmRc32SJVepChR1AB/?imgmax=800&quot; style=&quot;display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;clip_image019&quot; width=&quot;503&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
I think that this is a pretty powerful alternative that gives me great control on what I want my end users to see and how I want them to see it. The interaction with the Data Table with 500 items is very fast (so I can see that it can handle a lot more) &lt;br /&gt;
With only 40 odd lines of code, I believe that this option is a true winner that I am sure that you will see and start using this as well. </content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/3008723698038748663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/3008723698038748663' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/3008723698038748663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/3008723698038748663'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2017/09/sharepoint-lists-js-links-datatables.html' title='SharePoint Lists Views + JS Links + Data Tables = Awesome Threesome'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPfjgS_LBXQQohtmeBkutk8dvRDpnhQLV0EDRrRHZ5WbGXIGc_08V0Ry90HbqOGgLssBhifpWFaF2PhmiG0MuBopk0azNO7D-QAgKg1uVp0yzpms1sx2VwoWM-o-3ppBA-XfOS/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-718416698608373460</id><published>2017-09-08T16:39:00.000+02:00</published><updated>2017-09-13T13:43:16.298+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Excel"/><category scheme="http://www.blogger.com/atom/ns#" term="transpose"/><title type='text'>Transposing a single column of data in Excel with a set number of columns</title><content type='html'>&lt;div class=&quot;MsoNormal&quot;&gt;
I was faced with an interesting challenge, I was tasked to
provide a list of all the sites available via our O365 subscription, but I was
not given sufficient access rights to navigate to the administration portal to
pull this list.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br&gt;&lt;/div&gt;
&lt;br&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
In fact, this is the only view I had available to me:&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7eizn9R-op7DadfwiKaoxQtNX2XehBrbm1IPKAZ12Q_AY-doumzCnsfXacx0uq9074bc64PesMdq3SnSQ4CcGO9WwOjrYLRwT2QOuL49qqmuse7j0kyjOl0lkvbgK9DI_9MqZ/s1600/image1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;904&quot; data-original-width=&quot;1466&quot; height=&quot;245&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7eizn9R-op7DadfwiKaoxQtNX2XehBrbm1IPKAZ12Q_AY-doumzCnsfXacx0uq9074bc64PesMdq3SnSQ4CcGO9WwOjrYLRwT2QOuL49qqmuse7j0kyjOl0lkvbgK9DI_9MqZ/s400/image1.png&quot; width=&quot;400&quot;&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,sans-serif; font-size: 11.0pt; line-height: 107%; mso-ansi-language: EN-ZA; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;Selecting,
copying and pasting the content into Excel seems like the obvious next step,
but alas, I was faced with one column of data with all the information that appeared in my view, i.e. the site
title, the news title, the news synopsis the author and the modified date. All
I want was the site title.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,sans-serif; font-size: 11.0pt; line-height: 107%; mso-ansi-language: EN-ZA; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjWqgJHeSQ4AR2pYrJRWAM0DpfuBjnulbhnKmjy7PO1mITNfDZDCNTxdcyt3f6skysEIodBfCLyIDSL4vB0NVdj_k92xjeZfuosC-VA6651hLi2G6miIszYf1v8yADolto7g55/s1600/CopyAndPaste.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;450&quot; data-original-width=&quot;800&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjWqgJHeSQ4AR2pYrJRWAM0DpfuBjnulbhnKmjy7PO1mITNfDZDCNTxdcyt3f6skysEIodBfCLyIDSL4vB0NVdj_k92xjeZfuosC-VA6651hLi2G6miIszYf1v8yADolto7g55/s400/CopyAndPaste.gif&quot; width=&quot;400&quot;&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,sans-serif; font-size: 11.0pt; line-height: 107%; mso-ansi-language: EN-ZA; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
After cleaning up the Excel a bit, I noticed that the
information that I wanted appeared in every 4&lt;sup&gt;th&lt;/sup&gt; row.&amp;nbsp; Meaning that if I could somehow transpose
this single column of data into a grid with 4 columns, I will easily get the
information I want. Unfortunately, this type of transpose function does not
exist in Excel. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,sans-serif; font-size: 11.0pt; line-height: 107%; mso-ansi-language: EN-ZA; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;

&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
After a little googling and tweaking I finally derived a
formula that will transpose the data for me.&amp;nbsp;
The formula is:&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;=INDEX($B$3:$B$50;ROWS(D$3:D3)*4-4+COLUMNS($D3:D3))&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,sans-serif; font-size: 11.0pt; line-height: 107%; mso-ansi-language: EN-ZA; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Where &lt;b&gt;B3&lt;/b&gt; is the 1&lt;sup&gt;st&lt;/sup&gt;
cell in the column of data that you want to transpose and &lt;b&gt;B50&lt;/b&gt; is the last cell.&amp;nbsp; &lt;b&gt;D3&lt;/b&gt; is the first cell of your transposed
data and the number &lt;b&gt;4&lt;/b&gt; is the number
of columns you want in the transposed grid. &amp;nbsp;Adjust the formula to match your data and you
are ready to transpose.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,sans-serif; font-size: 11.0pt; line-height: 107%; mso-ansi-language: EN-ZA; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;

&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Copy the formula to cell D3, Drag the formula across 4 cells
and then down until there’s no more data to transpose.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB0blPLv3MMTAzZx7hN8epA0479j207U7s3zPwLJsMdcrWadgW8AGBtdwD3wZCrmQaD4OP8wreylxIBMoQRbB9F5mCRFMh3Ivg2U-AjLhJyvcieD4OAepNOxpteG05cJdBAS_u/s1600/CopyAndPaste4.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;450&quot; data-original-width=&quot;800&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB0blPLv3MMTAzZx7hN8epA0479j207U7s3zPwLJsMdcrWadgW8AGBtdwD3wZCrmQaD4OP8wreylxIBMoQRbB9F5mCRFMh3Ivg2U-AjLhJyvcieD4OAepNOxpteG05cJdBAS_u/s400/CopyAndPaste4.gif&quot; width=&quot;400&quot;&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
And that’s it, copy the row that you need and take a break,
you may have saved yourself hours.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,sans-serif; font-size: 11.0pt; line-height: 107%; mso-ansi-language: EN-ZA; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/718416698608373460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/718416698608373460' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/718416698608373460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/718416698608373460'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2017/09/transposing-single-column-of-data-in.html' title='Transposing a single column of data in Excel with a set number of columns'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7eizn9R-op7DadfwiKaoxQtNX2XehBrbm1IPKAZ12Q_AY-doumzCnsfXacx0uq9074bc64PesMdq3SnSQ4CcGO9WwOjrYLRwT2QOuL49qqmuse7j0kyjOl0lkvbgK9DI_9MqZ/s72-c/image1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-2000519747004929122</id><published>2017-09-08T15:07:00.000+02:00</published><updated>2017-09-08T20:11:15.768+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="O365 intranet"/><title type='text'>  Office 365 is changing the rules for Intranets</title><content type='html'>&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Sitka Text&amp;quot;, Georgia, Times, &amp;quot;Times New Roman&amp;quot;, serif; font-size: 19px; padding-top: 0px;&quot;&gt;
Before Office 365 (O365), when we were asked to build an intranet, we built a SharePoint solution with an inviting home page and some sub sites that promotes team collaboration. Maybe we&amp;nbsp;added in a few interactive features and &quot;Ta-daaa&quot;, your intranet was done.&lt;/div&gt;
&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Sitka Text&amp;quot;, Georgia, Times, &amp;quot;Times New Roman&amp;quot;, serif; font-size: 19px; margin-bottom: 20px; margin-top: 20px; padding-top: 0px;&quot;&gt;
&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;Now, its the game is different, and many of the players don&#39;t even realise this.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Sitka Text&amp;quot;, Georgia, Times, &amp;quot;Times New Roman&amp;quot;, serif; font-size: 19px; margin-bottom: 20px; margin-top: 20px; padding-top: 0px;&quot;&gt;
&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;An intranet that is using&amp;nbsp;Office 365 is more than just a pre-defined&amp;nbsp;set of pages that&amp;nbsp;has a starting point and set navigation plan that should be used by all.&amp;nbsp;Its use is now dictated by the users, and if done right, no 2 users will experience their Intranet in the same way.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Sitka Text&amp;quot;, Georgia, Times, &amp;quot;Times New Roman&amp;quot;, serif; font-size: 19px; margin-bottom: 20px; margin-top: 20px; padding-top: 0px;&quot;&gt;
&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;We all know that O365 has&amp;nbsp;this new, beautiful SharePoint Communications sites, for example, this site can help promote Corporate-Level communication and is typically seen as an ideal Home Page to an intranet, but why force that as the Home Page to everyone? Everyone is different, with different objectives when using the Intranet, why not make the users&amp;nbsp;chose a homepage&amp;nbsp;that best suite their interest?&lt;/div&gt;
&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Sitka Text&amp;quot;, Georgia, Times, &amp;quot;Times New Roman&amp;quot;, serif; font-size: 19px; margin-bottom: 20px; margin-top: 20px; padding-top: 0px;&quot;&gt;
&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;If they plan to use the intranet to access there web tools quickly,&amp;nbsp;then they could use the O365 Home Page which provides quick access to all their Office tools.&amp;nbsp; Alternatively,&amp;nbsp;they could use Delve, a O365 tool that provides great insight on what relevant&amp;nbsp;people are doing. Maybe the SharePoint Site Selection page should is a preferred starting point, so they can easily&amp;nbsp;view the sites of the projects that they are currently working on.&amp;nbsp;The rule of having a central home page is gone, and we need to focus on an approach that is more user-centric.&lt;/div&gt;
&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Sitka Text&amp;quot;, Georgia, Times, &amp;quot;Times New Roman&amp;quot;, serif; font-size: 19px; margin-bottom: 20px; margin-top: 20px; padding-top: 0px;&quot;&gt;
&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;This change in the Intranet rules does not apply to the home page alone. Why force everyone to use&amp;nbsp;Team Sites to collaborate? The end users now have a great selection of tools available to them.&amp;nbsp;Tools like Groups, Teams and Yammer are all available via O365 to promote collaboration through discussions but each tool appeals to different audiences (i.e. some users prefer to engage via email, others via chat)&amp;nbsp;so the one size fits all approach is now the wrong way to handle this. &amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Sitka Text&amp;quot;, Georgia, Times, &amp;quot;Times New Roman&amp;quot;, serif; font-size: 19px; margin-bottom: 20px; margin-top: 20px; padding-top: 0px;&quot;&gt;
Also, previously, if we wanted our Intranet to stream video content from a secure environment, we needed to invest in a dedicated Video Streaming Server, NOW with O365&#39;s video service, its easier that&amp;nbsp;ever to load video content. meaning that users are now using their cell phone, record a quick video that&amp;nbsp;promotes&amp;nbsp;some&amp;nbsp;news or corporate interest and quickly sharing it to all via the Intranet.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Sitka Text&amp;quot;, Georgia, Times, &amp;quot;Times New Roman&amp;quot;, serif; font-size: 19px; padding-top: 0px;&quot;&gt;
Now, thanks to O365 and other cloud services, an&amp;nbsp;intranet is more than just a website, just like a car is more than just an engine, the rules of this game is changing, its less rigid and more user-focused. People are only figuring this out now (if at all), so stop building intranets the way you did 5 years ago, and figure out how the new playing field is removing the restrictions we had before and change your approach before its too late.&amp;nbsp;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/2000519747004929122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/2000519747004929122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/2000519747004929122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/2000519747004929122'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2017/09/office-365-is-changing-rules-for.html' title='  Office 365 is changing the rules for Intranets'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-2690718964712736096</id><published>2012-09-08T16:37:00.003+02:00</published><updated>2012-09-08T16:49:40.017+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CMM"/><category scheme="http://www.blogger.com/atom/ns#" term="ECM3"/><category scheme="http://www.blogger.com/atom/ns#" term="maturity"/><category scheme="http://www.blogger.com/atom/ns#" term="sharepoint"/><category scheme="http://www.blogger.com/atom/ns#" term="SPMM"/><title type='text'>SharePoint Saturday Cape Town Presentation</title><content type='html'>Thank you all who attended my session, as promised, please find my presentation slides below.&lt;br /&gt;
&lt;br /&gt;
For those who missed it, my talk was on SharePoint and Maturity, I talked about the importance of the maturity assessment, and what maturity assessments models are available. &lt;br /&gt;
&lt;br /&gt;
This presentation is focused around SharePoint, but I am sure the information here can assist you with other types of maturity assessments.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;

&lt;iframe frameborder=&quot;0&quot; height=&quot;400&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://www.slideshare.net/slideshow/embed_code/14214684?hostedIn=slideshare&amp;amp;page=upload&quot; width=&quot;476&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
(You can download it here :&amp;nbsp;&lt;a href=&quot;http://www.slideshare.net/nadirkamdar/oh-grow-up-a-look-at-share-point-and-maturity-2012-final&quot;&gt;http://www.slideshare.net/nadirkamdar/oh-grow-up-a-look-at-share-point-and-maturity-2012-final&lt;/a&gt;)</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/2690718964712736096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/2690718964712736096' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/2690718964712736096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/2690718964712736096'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2012/09/sharepoint-saturday-cape-town.html' title='SharePoint Saturday Cape Town Presentation'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-8417125865346355578</id><published>2012-07-22T13:36:00.000+02:00</published><updated>2012-08-26T08:32:14.613+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="BETA"/><category scheme="http://www.blogger.com/atom/ns#" term="review"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint 15"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint 2013"/><title type='text'>SharePoint 15, the BETA review</title><content type='html'>&lt;div class=&quot;WordSection1&quot;&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
I remember the excitement when SharePoint 2010 came out, us developers and architects saw this as the solution that will resolve ALL the flaws found in SharePoint 2007.&amp;nbsp; The SharePoint 2010 demos were, well, to narrow it down to one word, seductive!&amp;nbsp; We were convinced that this would be the best product to sell, deploy, use and support.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
But SharePoint 2010 is not perfect.&amp;nbsp; Sure, it kicks 2007’s butt!&amp;nbsp; But some of the issues identified from SharePoint 2007’s time was carried over to SharePoint 2010 and some new issues were “invented” when added functionality and complexity was added.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
SharePoint 2010’s approach in providing us with a web solution is already dated by about 5 years.&amp;nbsp; Remember that SharePoint may have been available to the public in 2010, but the magicians in Microsoft started designing, planning and building the solution from 2008 at the latest.&amp;nbsp; That’s when Silverlight still had a future, Social Networking has no place in the business world and the explosion of mobile and tablet devise has not even started, in fact, the iPad wasn’t even invented then!&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Therefore, times have changed, and so should your web-based solution.&amp;nbsp; Based on online videos and demonstrations performed by my team, I’m going to provide a beta review on certain areas of SharePoint 15, these areas has been identified as potential problem areas in SharePoint 2010.&amp;nbsp; So I am very interested to see how well they were tackled in the new SharePoint.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
I don’t want to rush through each area – so I will publish this post while its incomplete and place the titles of the areas I plan to review, and will update the post when I have done the analysis – add comments if you want me to add more areas.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;General Appearance and Usability&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
SharePoint 2010 looks great when compared to SharePoint 2007.&amp;nbsp; But its “busy” when compared to todays standards, when we deploy solutions to our clients, our most successful deployments involves simplifying the interface so its easier to understand and use.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Let’s back this up with an example.&amp;nbsp; Below is an image of a team site created in SharePoint 2010.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZU1o2k-1tzySntvBDouvwMXceFb3cZqulYdfSzlcL2SPiYvN0uhoU13e6qgHQRtaA85u1PI6TPIbCXZlgXWl3k-IKlqUaxyglaz1ZRIrND6370ASltVi_Z0Rxm8ypb0aE4b-P/s1600/image006-735790.jpg&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5767955688292537554&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZU1o2k-1tzySntvBDouvwMXceFb3cZqulYdfSzlcL2SPiYvN0uhoU13e6qgHQRtaA85u1PI6TPIbCXZlgXWl3k-IKlqUaxyglaz1ZRIrND6370ASltVi_Z0Rxm8ypb0aE4b-P/s320/image006-735790.jpg&quot; /&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
The first thing I see is many things many of my users will not necessary use:&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; text-indent: -18pt;&quot;&gt;That large image that means nothing to anyone&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; text-indent: -18pt;&quot;&gt;The “Welcome” message Place Holder.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: Symbol; text-indent: -18pt;&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; text-indent: -18pt;&quot;&gt;The “Like” and “Tags and Notes” button&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
These components are not needed for the team site, yet they are there by default.&amp;nbsp; This clutters the site too much and it confuses the end users.&amp;nbsp; These components are usually removed or ignored.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
I won’t start with the navigation right now, (saving that for a later section of this blog).&amp;nbsp; I will add that the “Getting Started” section is a great idea to assist users in getting started with this site, but it’s not intuitive or user friendly and is typically ignored or removed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Let us check out the SharePoint 15 team site.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWe2f1K1Hh7Jw-vuc6FDbu738hXdpEjstDpjJ85GlQhCdyZqXdbSNyZ_Ftadv7I2ul3AqVfg13KFb2zqN_fqXvaUNdcj5E2WWbjqJYpdGydAcb1qlCkGeuIW448nKnMoVTGtCs/s1600/SP2013TeamSite+(3).jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;127&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWe2f1K1Hh7Jw-vuc6FDbu738hXdpEjstDpjJ85GlQhCdyZqXdbSNyZ_Ftadv7I2ul3AqVfg13KFb2zqN_fqXvaUNdcj5E2WWbjqJYpdGydAcb1qlCkGeuIW448nKnMoVTGtCs/s320/SP2013TeamSite+(3).jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
(Video walkthrough of SharePoint 15 is available here : &lt;a href=&quot;http://www.sharepoint-videos.com/walkthrough-of-sharepoint-2013-team-site/&quot;&gt;http://www.sharepoint-videos.com/walkthrough-of-sharepoint-2013-team-site/&lt;/a&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
I am seeing less clutter, useless images and text are removed, important “Getting Started” links has a greater prominence and is more inviting, thanks to Metro Style navigation.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
This is a much more inviting, intuitive and user-friendly interface.&amp;nbsp; It even supports drag and drop and a new feature that hides the navigation so the focus is on the content only.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
I see good use of “Share” and “Follow”, which is more professional than “I Like it”, and has a more subtle presence that in the previous version.&amp;nbsp; I don’t know right now, but I hope those buttons can be easily removed if requested by my client.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
They seem to have tackled all the issues I have identified in SharePoint 2010.&amp;nbsp; 5 out of 5 for this section!&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6EDvhFjDxJolhVcW7wEEN8ecJuWPHLtvasGKIN5pOnUAs3SXpWUDj3fBWsK2s47BiDCOK9VUkufF3CSWjXFA2p7Cxw3iqPGrpHtcz7Kd_BhWTM2YiopfhobDqPU2-_ojLxPxb/s1600/image005-739405.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5767955707431438994&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6EDvhFjDxJolhVcW7wEEN8ecJuWPHLtvasGKIN5pOnUAs3SXpWUDj3fBWsK2s47BiDCOK9VUkufF3CSWjXFA2p7Cxw3iqPGrpHtcz7Kd_BhWTM2YiopfhobDqPU2-_ojLxPxb/s320/image005-739405.png&quot; /&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;Changing he Look and
Feel&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;[SECTION UPDATED on 29th July 2012]&amp;nbsp;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Every single SharePoint project I worked on has one
consistent requirement, that’s to make the SharePoint site not look like a
SharePoint site.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Creating a site that is inviting and represents the
corporate brand is important, buts its not an easy thing to do, since you need
tools like SharePoint Designer to do a decent job. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Microsoft’s best practice approach involves limiting your
design to themes, and unfortunately, that approach was very limiting, and more
often than not, the designers are forced to open up designer and tinker with
the master pages to get that better design.&amp;nbsp;
This approach is a workaround that bypasses all the limitations of
themes and gives you amazing looking sites but it also affects the stability of
the solution.&amp;nbsp; Nevertheless, a visually
appealing and inviting site that represents the corporate brand is important –
so this has to be done.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
What I am looking for in SharePoint 2013, is an easier way
to change the appearance, with fewer limitations and no risk of destabilising
the environment.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Did SharePoint 2013 deliver?&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Well, this, &lt;a href=&quot;http://www.sharepoint-videos.com/changing-the-look-and-feel-of-sharepoint-2013-team-site/&quot;&gt;http://www.sharepoint-videos.com/changing-the-look-and-feel-of-sharepoint-2013-team-site/&lt;/a&gt;,
&amp;nbsp;impressive video shows how easy it is to
change the style of the site.&amp;nbsp; You don’t
need SharePoint Designer, it has great preview facilities, you seem to have a
greater range of templates to get started and also a good range of options when
modifying the styles.&amp;nbsp; Seems like they
did an excellent job in improving the ability to change the appearance of
SharePoint.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Looking at SharePoint related press releases from Microsoft
(&lt;a href=&quot;http://sharepoint.microsoft.com/blog/Pages/BlogPost.aspx?pID=1012&quot;&gt;http://sharepoint.microsoft.com/blog/Pages/BlogPost.aspx?pID=1012&lt;/a&gt;
– near the end of the article).&amp;nbsp; It is
clear that Microsoft is recommending us to stick to the tools mentioned above
to modify the look.&amp;nbsp; Anything done beyond
these tools (like tinkering with the site templates in SharePoint Designer) will
affect the complexity, performance, upgradability and stability of the solution.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
So its still (and now officially) NOT a good idea to move
beyond the tools provided to change the look, but is the tools provided enough?&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
SharePoint is cleaner, simpler and faster by default, so
there are fewer reasons to move beyond the tools provided.&amp;nbsp; But the visual element sells the products and
gives the client that warm fuzzy feeling when its done with flare, so in order
to impress, I see the developers forced to push the limitations and bend the
rules to make that client say “WOW”!&amp;nbsp;
Sadly, at the cost of performance and stability.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
I would have preferred Microsoft to not prohibit us from
going beyond the tools, but rather supporting it with guidelines, templates and
additional, more&amp;nbsp;advanced&amp;nbsp;tools made for skilled designers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh87cm4Pk-iGnyrASPoTbHV0MHwEtLxuxYV6rpoml0hoNd-GE-ko8qY_bmIbPQs3xX88qI7s6ReiachfHYoc6y8wqIJ1rGxY7AnXbJJoxWjg_9i7cpz93e_Q35SPxT1HF4GiuJf/s1600/3outof5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;61&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh87cm4Pk-iGnyrASPoTbHV0MHwEtLxuxYV6rpoml0hoNd-GE-ko8qY_bmIbPQs3xX88qI7s6ReiachfHYoc6y8wqIJ1rGxY7AnXbJJoxWjg_9i7cpz93e_Q35SPxT1HF4GiuJf/s320/3outof5.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;Navigation&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
[Section Updated on 3 August 2012]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The navigation provided by SharePoint has always led to difficult conversations with the client.&lt;br /&gt;
&lt;br /&gt;
Navigation menus is important, it needs to have a logical structure that allows the user to navigate to their desired area, and what SharePoint lacks was the flexibility to adjust the menus to fit the structure the end users will find logical.&lt;br /&gt;
&lt;br /&gt;
One problem was SharePoint was adding their own headings like “sites” and “libraries” to the current navigation; these are SharePoint terms that are not familiar to the end users, thus confusing them. &amp;nbsp;Users also expect different types of navigation like fly out menus or tree views, these options were not available in SharePoint (well, the tree view is, but it’s not user friendly, flexible or attractive at all, so as far as I am concerned, it’s an unusable feature). &lt;br /&gt;
&lt;br /&gt;
Other points worth mentioning was friendly URL’s were not used (making it more difficult for search engines to pick up) and navigation did not go past two level unless you edited the code in SharePoint Designer.&lt;br /&gt;
&lt;br /&gt;
So, what I am looking for is greater flexibility in controlling the Navigation in SharePoint 2013. &amp;nbsp;Did they deliver?&lt;br /&gt;
&lt;br /&gt;
This post, &lt;a href=&quot;https://www.nothingbutsharepoint.com/sites/eusp/Pages/SharePoint-2013-Navigation-using-Managed-Metadata-Term-Store.aspx&quot;&gt;https://www.nothingbutsharepoint.com/sites/eusp/Pages/SharePoint-2013-Navigation-using-Managed-Metadata-Term-Store.aspx&lt;/a&gt;, covers SharePoint 2013 and navigation pretty well. &amp;nbsp;I see that term sets are now been used to source the menus.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6zelgYA-NlYOjRAmMciqVQ0mM4A7h38q0SM109kJbtTBGqXRAwbhVt0rEc7eDYhxG4jv5kt_RkuHkWAuvEiSkNVDwjQrzH6iovPxFdsy_Nx7_TnW96oqZj1Hr9uxsCAUZg1WB/s1600/pic.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;122&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6zelgYA-NlYOjRAmMciqVQ0mM4A7h38q0SM109kJbtTBGqXRAwbhVt0rEc7eDYhxG4jv5kt_RkuHkWAuvEiSkNVDwjQrzH6iovPxFdsy_Nx7_TnW96oqZj1Hr9uxsCAUZg1WB/s320/pic.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
That’s great, in the past when SharePoint navigation sources were not sufficient, we had to create site map files, which gave us the results we needed but really made the support and maintenance of the solution more complex. &lt;br /&gt;
&lt;br /&gt;
So the flexibility of controlling the menus content has improved, friendly URL’s are now available and term sets allow for multiple levels of navigation, and also I see that the confusing terms like “sites” and “Libraries” are no longer there by default. &amp;nbsp;This is fantastic.&lt;br /&gt;
&lt;br /&gt;
The only thing I have not found was the ability to change the menu type to a tree view or fly out menu out of the box, but I am not too worried about that, that’s an easy fix with a little coding and 3rd party products, it was the menu source that gave me the biggest problems.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2bFf6ofLfakuQJ8rP_iPYLv6p6GLvRTEIgO2ywcuu_7iofZ5-gXcGTc31bFV7T9EoCnGuEcujKllIk6Ofrl76JTAMqyh2N8vtEq8MaB4ztChlULE51g3Xbb4F4KqtNxgYjPEd/s1600/4outof5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;69&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2bFf6ofLfakuQJ8rP_iPYLv6p6GLvRTEIgO2ywcuu_7iofZ5-gXcGTc31bFV7T9EoCnGuEcujKllIk6Ofrl76JTAMqyh2N8vtEq8MaB4ztChlULE51g3Xbb4F4KqtNxgYjPEd/s320/4outof5.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;Mobile Access&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;
[Section Updated on 12 August 2012]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
The one big thing that SharePoint 2010 lacked was good
mobile support.&amp;nbsp; Sure SharePoint works on
a tablet, but not 100% (and for some features, like BI reports, not at all),
and today, you expect 100%.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
I&#39;m not expecting much when it comes to mobile, all I am asking for is good HTML5 and CSS3 support. &amp;nbsp;With
that in place, I’m expecting a good future proof environment (well, until the next SharePoint release at least) what will work on
all devices worth mentioning.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11.0pt; line-height: 115%; mso-ansi-language: EN-ZA; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;Looks like SharePoint delivers, the screenshots
below shows good support for HTML5 with the classic options for devices that do
not support HTML5 and of course the standard full screen option.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11.0pt; line-height: 115%; mso-ansi-language: EN-ZA; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://i.technet.microsoft.com/dynimg/IC597479.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;222&quot; src=&quot;http://i.technet.microsoft.com/dynimg/IC597479.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
SharePoint 2013 exceeds my expectation by providing push notification
support.&amp;nbsp; That’s when a mobile device
registers with SharePoint and then receives notifications via Microsoft Push
notification services and other similar services, very nice.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
My expectations are exceeded even further with location-aware
services, where the SharePoint content can be more location aware and can use
services like Bing Maps to display information relative to your location.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Also, SharePoint 2013 has improved the ability for apps to
interact with the content in SharePoint, allowing for a greater range of mobile
apps to be created.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11.0pt; line-height: 115%; mso-ansi-language: EN-ZA; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;So, I am seeing a lot of new features made specifically for mobile devices, and I also see exciting times for developers who now have more options available when it comes to mobile development, its really hard to find any fault here.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11.0pt; line-height: 115%; mso-ansi-language: EN-ZA; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6EDvhFjDxJolhVcW7wEEN8ecJuWPHLtvasGKIN5pOnUAs3SXpWUDj3fBWsK2s47BiDCOK9VUkufF3CSWjXFA2p7Cxw3iqPGrpHtcz7Kd_BhWTM2YiopfhobDqPU2-_ojLxPxb/s1600/image005-739405.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;67&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6EDvhFjDxJolhVcW7wEEN8ecJuWPHLtvasGKIN5pOnUAs3SXpWUDj3fBWsK2s47BiDCOK9VUkufF3CSWjXFA2p7Cxw3iqPGrpHtcz7Kd_BhWTM2YiopfhobDqPU2-_ojLxPxb/s320/image005-739405.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;Custom Development&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
[Section Updated on 26 August 2012]
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
I have mixed feelings on this one, custom development is very important when deploying SharePoint solutions, but I always tried to sell it as a last resort and then place a lot of control measures to the custom approach to help maintain an acceptable degree of stability on the environment.&lt;br /&gt;
&lt;br /&gt;
In short, I don’t like custom development, it seems to eventually be the root cause to more problems, it dangerously creates a SharePoint environment that does not behave like a SharePoint environment that leads to unpredictable results in scenarios that you may have missed during testing. &lt;br /&gt;
&lt;br /&gt;
What I am looking for when reviewing this component is a set of tools and processes that will give my developers a better “guarantee” that the custom component …&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;can be easily created&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Will work as intended&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Can be easily deployed&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Will not affect the stability of the environment&lt;br /&gt;
&lt;br /&gt;
Also, right now, when we create a functionality or feature, be it custom or OOB, we have to deploy it to the Testing server and, once approved, deploy it to the Production server. &amp;nbsp;To do this in a way that that agrees with company policies – we build installation scripts and installation manuals, this document and script creates all the necessary sites and sub sites, the content types, term sets, workflows, configurations, workflows. &lt;br /&gt;
&lt;br /&gt;
It also applies all the necessary configurations. &amp;nbsp;Building this script and manual is takes a lot of time, it’s difficult to build, needs to be frequently tested and it’s difficult to troubleshoot and update, and we do this because there isn’t a good installation package type feature available from SharePoint that can package ALL the necessary components for easy deployment to different environments.&lt;br /&gt;
&lt;br /&gt;
It looks like SharePoint 2013 did not focus on this much needed feature, instead, they focused on Apps and the Apps market so new features and updates are more centrally available and controlled. &amp;nbsp;But these apps has limitations where they can only use client side code and the SharePoint components like content types and term sets that may be needed to make the app work well, will need to be manually created and configured, something that should have been avoided with an installation package. &lt;br /&gt;
&lt;br /&gt;
I can see they are discouraging custom development, and while I know the apps will be a hit. &amp;nbsp;The limitations will be frustrating and more importantly, I wish Microsoft provided a way to more easily package and deploy solutions WITH all its necessary counterparts.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh87cm4Pk-iGnyrASPoTbHV0MHwEtLxuxYV6rpoml0hoNd-GE-ko8qY_bmIbPQs3xX88qI7s6ReiachfHYoc6y8wqIJ1rGxY7AnXbJJoxWjg_9i7cpz93e_Q35SPxT1HF4GiuJf/s1600/3outof5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;61&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh87cm4Pk-iGnyrASPoTbHV0MHwEtLxuxYV6rpoml0hoNd-GE-ko8qY_bmIbPQs3xX88qI7s6ReiachfHYoc6y8wqIJ1rGxY7AnXbJJoxWjg_9i7cpz93e_Q35SPxT1HF4GiuJf/s320/3outof5.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;Conclusion&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;
SharePoint 2013 has met my expectation in many ways, managed to find ways to exceed my expectations and in a few yet critical situations, it failed to meet my expectations. &amp;nbsp;This is a BETA review on a BETA product, so things may change once I get to know the product better or get involved in some early training and official demonstrations. &amp;nbsp;Do you think I missed the mark? &amp;nbsp;Let me know&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/8417125865346355578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/8417125865346355578' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/8417125865346355578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/8417125865346355578'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2012/07/sharepoint-15-beta-review.html' title='SharePoint 15, the BETA review'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZU1o2k-1tzySntvBDouvwMXceFb3cZqulYdfSzlcL2SPiYvN0uhoU13e6qgHQRtaA85u1PI6TPIbCXZlgXWl3k-IKlqUaxyglaz1ZRIrND6370ASltVi_Z0Rxm8ypb0aE4b-P/s72-c/image006-735790.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-2869470752351433190</id><published>2012-06-04T12:50:00.000+02:00</published><updated>2012-06-04T16:35:10.708+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="paperless office"/><category scheme="http://www.blogger.com/atom/ns#" term="sharepoint"/><title type='text'>Paperless Trail - Going green with SharePoint</title><content type='html'>&lt;div class=&quot;WordSection1&quot;&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
A paperless office is a work environment in which the use of paper is eliminated or (more realistically) greatly reduced.&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaS_eknLNP8aZ-SKJm1C_iUDFDyXTcmQIAoVL2xbVo-MrDdrvqm1eKGY2il2sdedQivelqzgqITVYpW6ql2DTNTzwqxe-e0MGT0lRKZHU2W7uYbk2B7S4DahqwCDYzEnJkmjxU/s1600/image001-733202.jpg&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;308&quot; id=&quot;BLOGGER_PHOTO_ID_5750130706685183506&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaS_eknLNP8aZ-SKJm1C_iUDFDyXTcmQIAoVL2xbVo-MrDdrvqm1eKGY2il2sdedQivelqzgqITVYpW6ql2DTNTzwqxe-e0MGT0lRKZHU2W7uYbk2B7S4DahqwCDYzEnJkmjxU/s320/image001-733202.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;
You achieve this by converting your documents and other papers into digital form.&amp;nbsp; By “going paperless” you can …&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l1 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Save money (paper, printers, inks and toners)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Boost productivity&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Save space&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Make documentation and information sharing and searching easier&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Keep personal information more secure&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;And, of course, help the environment.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l1 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0iy0QKm_u0yaB0AputcLXgyTO4fruc0ikGaVZKvIiU7933d69vOvtN2UzvI3TEETd36aNpb6KsNg6YUdCCxA1o6bn2ipj8QXyTIQgZebAidEuXGY2v9nDnJqAVNdNvFjz2__E/s1600/image002-734481.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;121&quot; id=&quot;BLOGGER_PHOTO_ID_5750130708856612002&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0iy0QKm_u0yaB0AputcLXgyTO4fruc0ikGaVZKvIiU7933d69vOvtN2UzvI3TEETd36aNpb6KsNg6YUdCCxA1o6bn2ipj8QXyTIQgZebAidEuXGY2v9nDnJqAVNdNvFjz2__E/s400/image002-734481.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
We are now more environmentally aware, we see the production of paper as a significant contributor to deforestation and climate change.&amp;nbsp; We have added measures like recycling and tree-free paper to help reduce the environmental impact, but online document management systems like SharePoint is seen as the strongest contributor in reducing the need for paper.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
A solution like SharePoint provides a paperless alternative to …&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l0 level1 lfo2; text-indent: -18.0pt;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Business cards, Index cards and&amp;nbsp;&lt;/span&gt;Rolodex&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Typed/written letters and faxes&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Diaries and schedules&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Training material&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Reference books&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;LOB documentation for sharing and collaboration&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Record keeping&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Paper-based processes&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo2; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo2; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo2; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo2; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo2; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo2; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l0 level1 lfo2; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Providing an alternative to paper-based processes that rely on forms, applications and surveys provides a solution to the biggest hurdle in having a paperless office.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Also, our behaviour is changing.&amp;nbsp; Thanks to the popularity of digital mobile devices like e-books, tablets and smart phones, we are finding it more acceptable to read documents and other information over these mediums – this means that the advantage that paper use to have about being mobile is now phasing away so this paperless office concept is truly possible.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
So how do we use SharePoint to achieve a paperless office?&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Back scanning (with 3&lt;sup&gt;rd&lt;/sup&gt; party solutions like &lt;a href=&quot;http://www.kofax.com/&quot;&gt;http://www.kofax.com/&lt;/a&gt;) and migrating all your existing records and LOB content into one SharePoint environment is a great first step.&amp;nbsp; Right away you will see the cost saving of phasing out all your existing paper – also when you consolidate all your document storage environments to one digital environment, there are added benefits in having one central point for the users to find and store information, that’s one learning curve and one infrastructure to support and maintain.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Next, you want to convert your manual paper-based processes to more automated SharePoint workflows.&amp;nbsp; The biggest obstacle many organisations face when phasing out paper based processes is the fact that documents needs to be signed to acknowledge acceptance or approval.&amp;nbsp; Tools like InfoPath that integrates well with SharePoint, provides digital signature capabilities with additional security features like making the signature become invalid if the information on the form has changed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Once the workflows are in place, your business will produce less paper, and the processes would have better control and faster turnaround time.&amp;nbsp; So that’s a saving on cost and time. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
I mentioned earlier how the main advantage of paper, i.e. the mobility of paper, is slowly phasing away due to electronic mobile devices.&amp;nbsp; SharePoint is a web based solution, making it easily accessible to these mobile devices – also, doe to the popularity of this product, there are plenty of apps available for iOS and Android, while the Windows 7 devices come with strong integration features by default.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
The only real unavoidable use of paper would be around compliancy around the external companies you will need to interact with, companies and government organisations that follow paper-based processes that needs to be followed for compliancy reasons – maybe in time, when the paperless approach is more mainstream – this can be avoided.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/2869470752351433190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/2869470752351433190' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/2869470752351433190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/2869470752351433190'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2012/06/paperless-trail-going-green-with.html' title='Paperless Trail - Going green with SharePoint'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaS_eknLNP8aZ-SKJm1C_iUDFDyXTcmQIAoVL2xbVo-MrDdrvqm1eKGY2il2sdedQivelqzgqITVYpW6ql2DTNTzwqxe-e0MGT0lRKZHU2W7uYbk2B7S4DahqwCDYzEnJkmjxU/s72-c/image001-733202.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-2496607474356361455</id><published>2012-04-21T14:54:00.000+02:00</published><updated>2012-04-22T18:23:16.531+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="large company"/><category scheme="http://www.blogger.com/atom/ns#" term="outsourcing"/><category scheme="http://www.blogger.com/atom/ns#" term="retaining staff"/><category scheme="http://www.blogger.com/atom/ns#" term="small company"/><category scheme="http://www.blogger.com/atom/ns#" term="working environment"/><title type='text'>The problem with small companies</title><content type='html'>&lt;div class=&quot;WordSection1&quot;&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Up until the start of this year, I have been working for small consultancy companies.&amp;nbsp; While I have always enjoyed the flexibility of this environment, I have never really had strong exposure to large organisations until now.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;The company I work for has been acquired by a much larger organisation, meaning that I am now part of a big company.&amp;nbsp; It’s been three months since the acquisition, and while the transition is still taking place, I am already noticing a shift in my thinking.&amp;nbsp; I would like to share this with you, and maybe add on to this post as more differences are identified.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Before I continue, I just need to add that the points below are not necessary points from the company I work in.&amp;nbsp; I have been in this industry for a long time, and have built relationships with all kinds of people in different positions and companies (including my competitors) and have managed to pick up some consistencies and facts worth mentioning.&amp;nbsp; Some of these points are negative, which is why I believe people are afraid to talk about it, but I also believe that these points are too important to keep to myself.&amp;nbsp; I hope you enjoy.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz2HKEJR-9vtXZUZeCRQjCljRuB7TNNbVOVLqcb9jd022qYAJTUHunl615Ufp8SUqNPjJH2sBaGrYIaXfNo0H41WELbqHlqTOzUqQpVqHdihdc0NDr-537E164KC9OE4gNpvqg/s1600/image001-787694.jpg&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5733833259100523458&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz2HKEJR-9vtXZUZeCRQjCljRuB7TNNbVOVLqcb9jd022qYAJTUHunl615Ufp8SUqNPjJH2sBaGrYIaXfNo0H41WELbqHlqTOzUqQpVqHdihdc0NDr-537E164KC9OE4gNpvqg/s320/image001-787694.jpg&quot; /&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Small companies NEED work to pay salaries&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;As a small company, your biggest expense is salary.&amp;nbsp; If you don’t get enough work, you don’t have a good enough cash flow to pay salaries and other debts.&amp;nbsp; So, as a small company, your number one objective is to get that sale, no matter what!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;“No matter what” may be a bit strong, but there is a lot of pressure to get that sale, and as a small consultancy company that specialise in Microsoft Web Solutions, you will know that competition is tight, and to make things worse, its tight against other small companies who also NEEDS the sale to improve their cash flow.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;So what does this mean?&amp;nbsp; Small companies in a highly competitive market tend to over promise, and cut down prices to secure that deal.&amp;nbsp; After all, a little revenue that can make you break even, is better than no revenue, right?&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;As a larger company, the cash flow is not a problem.&amp;nbsp; Salaries are paid by HR and no matter how much sales you get, you can rest assured that the salaries will get paid.&amp;nbsp; This does not mean that we can rest on the sales component and do less work.&amp;nbsp; No, while we still have the responsibility to be profitable, and to meet certain sales targets, the cash flow component is not 100% dependant on the sales we get.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;This is great, better cash flow provides more options.&amp;nbsp; More cash can be dedicated to infrastructure, training, staff morale and a few other perks that was not available as a small company.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Large companies are more focused&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;When you are responsible for a division of a small company, you are in charge of every single thing related to that division. You are fully involved in the hiring, the training, the social events and not forgetting the actual service delivery.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;When you are part of a large company, many of these tasks are “outsourced” to other divisions of the organisation that specialise in these things.&amp;nbsp; Things like social events are no longer your problem, your involvements in the hiring are training are also drastically reduced, allowing you focus on the things that are important – your service delivery.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;And even on the service delivery side, you can focus on a specific service (like only SharePoint projects) while another division can focus on other services (like ASP.NET projects). &amp;nbsp;This focus provides huge advantages on the delivery quality side because your focus and training and strategising is focused and on a specific service, which is a huge adjustment when compared to small companies.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Small companies try to have as little staff as possible that can do as much as possible, or alternatively, they get a lot of junior staff that they task with more senior work (preferably mentored by a senior), either way, the objective is to keep their biggest cost down, the salaries.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Now in order to keep salaries down, and yet be able to deliver on whatever sales has over promised, small companies need staff that have a variety of skills, they don’t have to specialise in anything just be able to know a variety of things well enough to come off as a Subject Matter Expert and be able to Google the rest. &amp;nbsp;This sounds cruel, and may be a bit&amp;nbsp;exaggerated, but sadly, not by much.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Small companies are more flexible&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Being part of a large company, I must say that the processes for action and decision making are stricter and even a little longer.&amp;nbsp; There is a lot more paperwork that one has to go through to achieve the results.&amp;nbsp;&amp;nbsp; It makes sense when you consider that there are more people involved, meaning that more can go wrong if we are working in a more chaotic state. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;In a smaller company, you can get away with it because you usually have full control of the situation. &amp;nbsp;This lack of processes allows you to deliver faster but it also means that more can go wrong.&amp;nbsp; In the Microsoft Service Delivery space, clients are placing a high priority on speed so the smaller companies will have a big advantage here.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;This “advantage” leads to another point.&amp;nbsp; Smaller companies are willing to accept higher levels of risk.&amp;nbsp; The faster delivery comes at a cost, and that cost is increased risk because processes are not strictly followed.&amp;nbsp; When you are part of a larger company, especially a listed company,&amp;nbsp; you have a greater responsibility to deliver well, after all, somebody’s retirement fund may be indirectly dependant on your performance, and because of that, a more risk averse approach is necessary.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Large companies has more available for less&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;As a small company, I have an internal design team that I use primarily for website designs, then team is skilled in designing marketing material like posters and banners, but whenever I get that type of work, I have to outsource the printing component to a printing company who charge normal market rates.&amp;nbsp; The same goes for software licencing and acquiring hardware.&amp;nbsp; While these services greatly complement my service delivery I just don’t have any skills, experience or equipment to deliver on this (and I don’t plan to build on this, because the demand isn’t there) forcing me to find alternative companies to assist me, who will offer there service at full price.&amp;nbsp; Over time, you can build a relationship with these 3&lt;sup&gt;rd&lt;/sup&gt; parties and get the price reduced, but you get the point I am trying to make. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;As a large company, these complementary services are more easily accessible (chances are, there is another division in the company that provides that service) and the cost is less because these divisions has built great relationships with their supplier and the work is not outsourced to a 3&lt;sup&gt;rd&lt;/sup&gt; parties.&amp;nbsp; This allows the large companies to deliver more with less dependency on others and less cash.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;This advantage goes beyond service delivery.&amp;nbsp; Benefits such as medical aid, RAF, etc.&amp;nbsp; are now available at better rates.&amp;nbsp; As a large company, you have more buying power with these insurance and medical aid companies and can form better relationships when compared to smaller companies resulting in better rates and cover.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Conclusion&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Right now, I am very positive on what large companies can offer.&amp;nbsp; I say this from a point of view of a client looking for a service from a outsourced company or as a skilled individual seeking employment.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;They seem to tackle most of the disadvantages that exists in smaller company’s very well, especially the cash flow problem.&amp;nbsp; While the cost of this is stricter processes and longer turnaround time, this does create a more governed or less risky environment.&amp;nbsp; I also like the fact that the service delivery is more focused, thus resulting is higher quality output.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;UPDATE : The feedback I am getting on this post indicate that many think that I am wrong in my findings (something about be identifying common problems and not necessary the difference between small and large companies), this may be true, since I have only been part of the large organisation for about 3 months now and may be jumping to conclusions here. &amp;nbsp;So&amp;nbsp;please&amp;nbsp;think of this as my initial findings, and if my point of view changes, I will update this post - Thanks.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/2496607474356361455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/2496607474356361455' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/2496607474356361455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/2496607474356361455'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2012/04/problem-with-small-companies.html' title='The problem with small companies'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz2HKEJR-9vtXZUZeCRQjCljRuB7TNNbVOVLqcb9jd022qYAJTUHunl615Ufp8SUqNPjJH2sBaGrYIaXfNo0H41WELbqHlqTOzUqQpVqHdihdc0NDr-537E164KC9OE4gNpvqg/s72-c/image001-787694.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-8593399864192317646</id><published>2012-03-10T18:39:00.000+02:00</published><updated>2012-03-10T18:39:23.017+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="document writing"/><category scheme="http://www.blogger.com/atom/ns#" term="maturity"/><category scheme="http://www.blogger.com/atom/ns#" term="quality"/><title type='text'>How to write good technical documents</title><content type='html'>&lt;div class=&quot;WordSection1&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Developers love to code and hate to write documents, but documents are important in IT.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;We need documents to define how the solution will be built so that coders who enter the scene later in the project can easily catch up.&amp;nbsp; We need operational and training manuals so the people who are looking after the solution are aided in doing it right, we also need numerous project management related documents but today, I want to focus on those documents that are more technical in nature, and somehow ends up on the coders lap, who usually has no idea how to handle this responsibility.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNPJBoYh4lthDAJgrDZucOFp0WlKXT4yb18uRQVKMpYl-sFM_h0_C1w-HzxsOAZ29Uj71wPzN-mreqrLluR2m5pJDBHS9XiFU0Ltr8vQrtNLo1rc4wza5X1qzmTS3Ctr_YcZgO/s1600/image001-788164.jpg&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5718308241588512914&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNPJBoYh4lthDAJgrDZucOFp0WlKXT4yb18uRQVKMpYl-sFM_h0_C1w-HzxsOAZ29Uj71wPzN-mreqrLluR2m5pJDBHS9XiFU0Ltr8vQrtNLo1rc4wza5X1qzmTS3Ctr_YcZgO/s320/image001-788164.jpg&quot; /&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Firstly, let’s start off by saying that document writing is a skill; it’s a valuable skill that coders should embrace rather than avoid.&amp;nbsp; It may take you away from your comfort zone, but building this skill alone will helps you advance your career to the next level.&amp;nbsp; So give this responsibility proper attention and you will see the rewards.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;But how does one write good technical documents?&amp;nbsp; Project managers tend to give this responsibility to coders without guiding them.&amp;nbsp; It’s a common mistake, and I hope this post will provide the guidance you need.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;h1&gt;Get a template&lt;o:p&gt;&lt;/o:p&gt;&lt;/h1&gt;&lt;div class=&quot;MsoNormal&quot;&gt;The first thing you should do when given this task, is ask for a template or a similar document from a previous project.&amp;nbsp; If your company has a good capability maturity, then these templates should be easily available.&amp;nbsp; If you work in a company that is less mature (or a nastier way to put it, “more chaotic”) and you will need to build the document from scratch.&amp;nbsp; Its more work, but don’t freak out, the main purpose of the template is to provide a tried and tested format, that’s it, you should not see a document from a previous document as an opportunity to copy and paste 70% of the work, that’s messing up the quality of the document and you are robbing yourself from the opportunity to build up on your document writing skills.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;So yes, you need to have a format of the document.&amp;nbsp; If the document is well formatted, it will be well organised so it’s easy to read and easy to understand.&amp;nbsp; If your company does not have templates for you, there are plenty of templates on the internet; many of them are free so you may want to go there for a little help in getting started.&amp;nbsp; Look at multiple documents, and come up with an outline that works for you.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;h1&gt;Know your audience&lt;o:p&gt;&lt;/o:p&gt;&lt;/h1&gt;&lt;div class=&quot;MsoNormal&quot;&gt;As a coder, it is natural for you to use IT jargon in your everyday language, you talk to other coders in that language, and they understand you and respond appropriately.&amp;nbsp; When you approach a non-coder and communicate with them, you make that extra effort to use words that “normal” people use so they can understand and respond appropriately.&amp;nbsp; Writing a document works on the same principle.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;So if you are writing a technical document that will assist other coders in installing that brilliant add-on you created, you can keep the IT jargon.&amp;nbsp; But if you are building a document for managers or end users, then cut down on the jargon, use simple English and add think about adding a few more pictures like screenshots or wireframes, they love that.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;h1&gt;Why is this document important?&lt;o:p&gt;&lt;/o:p&gt;&lt;/h1&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Ask yourself what value you are adding, by creating this document.&amp;nbsp; What’s the purpose of this document?&amp;nbsp; Once you have an answer to this question, you can draw of a draft and then ask yourself if this document is achieving its intended purpose.&amp;nbsp; If it is, you on the right track.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;h1&gt;Gathering Information&lt;o:p&gt;&lt;/o:p&gt;&lt;/h1&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Make sure you have collected all the information and facts needed for the document, use the template to assist you in what type of information you need.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Gathering information may involve digging in the code built by you or other people, but don’t forget to ask other people for information as well, it may be quicker that figuring it out on your own.&amp;nbsp; Even communication is a skill, it’s a skill that many coders avoid, and this is a good opportunity for you to step away from your comfort zone and work on those skills.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;h1&gt;First Draft &lt;o:p&gt;&lt;/o:p&gt;&lt;/h1&gt;&lt;div class=&quot;MsoNormal&quot;&gt;With the information above, you should be able to draw up your first draft.&amp;nbsp; The first draft is really filling out each section of the template with the facts and information it needs.&amp;nbsp;&amp;nbsp; After that is done, you can focus on the writing.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;h1&gt;And now the writing, finally&lt;o:p&gt;&lt;/o:p&gt;&lt;/h1&gt;&lt;div class=&quot;MsoNormal&quot;&gt;The first draft does not consider writing style and formatting, at that phase, it’s all about the facts.&amp;nbsp; Now you need to up the quality with proper formatting.&amp;nbsp; here are some points to help you:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Don’t try to be too fancy with the language.&amp;nbsp; Keep it simple, clear and unambiguous so there is little room for confusion and misunderstanding.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Symbol; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Be consistent.&amp;nbsp; If you are using the words “Power User” to describe a particular role, don’t change it to “Business Administrator” later in the document.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Use bullet points and images where ever possible.&amp;nbsp; it’s easier to read, and important information isn’t lost in the paragraphs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Avoid contradicting yourself.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Keep the document honest with truthful facts, even if it’s bad news.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Use numbering system so your document can be easily referenced later.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Well, I hope that helps.&amp;nbsp; If you have any more helpful points, please add it to the comments.&amp;nbsp; And to those coders writing a document – Good Luck and embrace this opportunity.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/8593399864192317646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/8593399864192317646' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/8593399864192317646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/8593399864192317646'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2012/03/how-to-write-good-technical-documents.html' title='How to write good technical documents'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNPJBoYh4lthDAJgrDZucOFp0WlKXT4yb18uRQVKMpYl-sFM_h0_C1w-HzxsOAZ29Uj71wPzN-mreqrLluR2m5pJDBHS9XiFU0Ltr8vQrtNLo1rc4wza5X1qzmTS3Ctr_YcZgO/s72-c/image001-788164.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-633550311205565902</id><published>2012-02-19T19:21:00.001+02:00</published><updated>2012-02-19T19:21:48.910+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="best practice"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Architect"/><title type='text'>What Are SharePoint Architects?</title><content type='html'>&lt;div class=&quot;MsoNormal&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;When we look at the minimum resources needed for a SharePoint environment, we think SharePoint administrator and maybe the “can-do-it-all” SharePoint Developer.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Don’t get me wrong, these resources are great and are vital for the stability and growth of the SharePoint environment, but they are essentially the workers, or the term I like using, the brick layers (don’t take it as an offensive term, that’s not my intention), they have a strong focus on the technical component of the SharePoint environment, and although they can achieve greatness on their own, they can achieve so much more if they had guidance from someone with a broad understanding of SharePoint (not necessary focused on the technical side) with the ability to map a business problem to the SharePoint technology, that can engage with the business user and plan an approach that will achieve the greatness that SharePoint can provide. &amp;nbsp;They are the SharePoint Architect.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmMXPPcA6k-zwdB4Jz_IZfKOsa4p3NKJv19WAeM-YvQSnnkG9qHZy_kLLZgTqNjU65y1G-vN-vC-MwSkbixi7n_fkV6aQs9LZv50k_14rulcYyLKFNBRdrqdq2IPUOL4WHiv7S/s1600/architect.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmMXPPcA6k-zwdB4Jz_IZfKOsa4p3NKJv19WAeM-YvQSnnkG9qHZy_kLLZgTqNjU65y1G-vN-vC-MwSkbixi7n_fkV6aQs9LZv50k_14rulcYyLKFNBRdrqdq2IPUOL4WHiv7S/s320/architect.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;The reason why I am focusing on this role right now, is the fact that this role is truly misunderstood (This role is typically given to the SharePoint Developer), and regarded as not important in SharePoint deployments. &amp;nbsp;It’s also a rare skillset, there isn’t decent SharePoint Architect training out there, well, nothing officially from Microsoft from what I can see.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcEh03fc-I9RVNmxXYQ8mDvEkQ7jHjHt__ATO8KNzqFsib7WxSI0lxuuV4hn3LMwsjNSfBIM42gjRiKwTDhVbdtq8VQKxSgT4tZj45Eo_9HT7sbzBILLxhxxClahoGfVPTxNm0/s1600/1890.strip.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;122&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcEh03fc-I9RVNmxXYQ8mDvEkQ7jHjHt__ATO8KNzqFsib7WxSI0lxuuV4hn3LMwsjNSfBIM42gjRiKwTDhVbdtq8VQKxSgT4tZj45Eo_9HT7sbzBILLxhxxClahoGfVPTxNm0/s400/1890.strip.gif&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;I also looked around on who is providing this skillset, and noticed a disturbing commonality. &amp;nbsp;People that play the role of SharePoint Architect are not dedicated to this role, I met a few SharePoint Consultant companies, and noticed that there “SharePoint Architects” are also the “Accounts Manager”. &amp;nbsp;This means they are from sales with the primary objective to sell SharePoint (i.e. bias towards using SharePoint) but they call themselves Architects. &amp;nbsp;The problem with this is that Architects needs to match the business problem to the SharePoint technology and if the technology does not match the problem, i.e. too much customisation is required to achieve the desired result, then the Architect needs to say no and recommend an alternate/non-SharePoint approach. &amp;nbsp;Can the people from Sales do that? &amp;nbsp;I don’t think so.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;So, what makes a good SharePoint Architect? &amp;nbsp;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;The Architect has …&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;A broad understanding of SharePoint, the Architect understands the building blocks of SharePoint (IIS, ASP.NET, Virtual Directories, AD)&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;A good understanding of what functionality SharePoint can provide, the types of configurations that’s available, the limitations of the functionality, and what can be achieved via OOTB (Out of the Box) or Customisation.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Sufficient knowledge in capacity planning and performance monitoring&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;A good understanding of SharePoint advanced features, like Business Intelligence, FAST and what SharePoint license is required to use these features.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Knowledge on how to integrate with other systems&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Good communication and documentation skills&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Best Practice approaches in defining a strategy for SharePoint and other common tasks like Migration&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;The Architect is heavily involved during the planning phase of your SharePoint deployment, the Architect’s skillset is more focused on achieving the business objective, &amp;nbsp;by using best practice approaches and building proper plans that are achievable by the SharePoint administrator or SharePoint Developer. &amp;nbsp;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Without them, you essentially have brick-layers and plumbers, eager to build, without anyone drawing up and approving the plan. &amp;nbsp;This will eventually lead to an unstable environment, with no capacity planning, and solutions that built solutions that do not resolve the business problem.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/633550311205565902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/633550311205565902' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/633550311205565902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/633550311205565902'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2012/02/what-are-sharepoint-architects.html' title='What Are SharePoint Architects?'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmMXPPcA6k-zwdB4Jz_IZfKOsa4p3NKJv19WAeM-YvQSnnkG9qHZy_kLLZgTqNjU65y1G-vN-vC-MwSkbixi7n_fkV6aQs9LZv50k_14rulcYyLKFNBRdrqdq2IPUOL4WHiv7S/s72-c/architect.png" height="72" width="72"/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-4403446976556044573</id><published>2012-01-01T12:31:00.000+02:00</published><updated>2012-01-01T12:31:44.665+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="2011"/><category scheme="http://www.blogger.com/atom/ns#" term="2012"/><category scheme="http://www.blogger.com/atom/ns#" term="sharepoint"/><title type='text'>SharePoint in the year 2011</title><content type='html'>While a new version of SharePoint did not come out in the year 2011, it does not mean that nothing happened in that year. &amp;nbsp;This post will highlight the key achievements of SharePoint in the year 2011 and also my predictions in the year 2012.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3X-hAh2LeXafj8k5t0j65qxHUmrRXrbyNKG86Dz076tYKVKu6OwPkUb1Uwklg9levZKxp-9GOX7yoSBf8UbeCxCRf9OPtqOb4J2RWrKZMUMntwGFMP3NYVQDoiDLDx5IznAG7/s1600/2011-2012.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3X-hAh2LeXafj8k5t0j65qxHUmrRXrbyNKG86Dz076tYKVKu6OwPkUb1Uwklg9levZKxp-9GOX7yoSBf8UbeCxCRf9OPtqOb4J2RWrKZMUMntwGFMP3NYVQDoiDLDx5IznAG7/s320/2011-2012.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The phase out of SharePoint 2007&lt;/b&gt;: &amp;nbsp;SharePoint 2010 was introduced in the 2nd half of 2010. &amp;nbsp;The year 2011, started the phase out of SharePoint 2007 and the phase in of SharePoint 2010 – this is evident when you look for SharePoint training currently available. &amp;nbsp;At the start of 2011, Good (or any) SharePoint 2010 training was few and expensive, and now, at the end of 2011, SharePoint 2007 training has been completely phased out.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Using SharePoint better&lt;/b&gt;: &amp;nbsp;People loved SharePoint 2007, but they were not using it correctly, which introduced many pitfalls, as mentioned in my blog post written exactly one year ago &amp;nbsp;(&lt;a href=&quot;http://nadirkamdar.blogspot.com/2010/12/common-pitfalls-in-sharepoint-projects.html&quot;&gt;http://nadirkamdar.blogspot.com/2010/12/common-pitfalls-in-sharepoint-projects.html&lt;/a&gt;) . &amp;nbsp;The year 2011 shows that we are starting to use &amp;nbsp;SharePoint better, we know the potential risks and pitfalls are have taken the additional steps to mitigate it. &amp;nbsp;This is evident as more emphasis/training/articles is now placed on planning and governance.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Improved stability, performance and security&lt;/b&gt;: &amp;nbsp;The latest Service Pack for SharePoint 2010 was released in November 2011. &amp;nbsp;The service pack included the following improvements:&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Improved support for Internet Explorer 9.&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Recycle bin: Lets you restore a site collection or a web that was deleted.&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Remote Backup Systems (RBS) and shallow copy can decrease downtime and increase efficiency by moving pointers to databases instead of moving databases.&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;You can see which folders are taking up valuable space with the improved Storage Management feature in site settings.&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Support for Microsoft SQL Server 2012.&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;A more robust Search Host Distribution service that improves error recovery and performance during the search crawl.&lt;br /&gt;
•&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Adds backup and restore functionality to recover deleted site collections and webs.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Microsoft Launches Office 365 and places SharePoint in the Cloud&lt;/b&gt;: &amp;nbsp;In June 2011, Microsoft officially launched Office 365. &amp;nbsp;This includes the launch on the cloud based version of SharePoint 2010 (called SharePoint Online). &amp;nbsp;This positions SharePoint as an essential productivity and collaboration tool, placed in the Cloud making that is affordable and appealing to any businesses.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/7SGp9pA9cAY&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;SharePoint matures with BI and Visio 2010&lt;/b&gt;: &amp;nbsp;While BI functionality was available on SharePoint 2007, great improvements were introduced in SharePoint 2010 with the much needed integration into Visio 2010, but we only understood the power of these advancements in 2011, when Microsoft introduced BI and Visio specific Demo VM and videos. &amp;nbsp;Theses Demo VM’s can be sound here : &lt;a href=&quot;http://mssalesdemos.com/&quot;&gt;http://mssalesdemos.com/&lt;/a&gt; . &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;SharePoint designs are better&lt;/b&gt;: &amp;nbsp;A very common request when deploying SharePoint solutions is to make SharePoint not look like SharePoint, achieving this compromised the functionality, and I complained about this in my earlier blog posts ( &lt;a href=&quot;http://nadirkamdar.blogspot.com/2010/07/please-dont-pimp-your-sharepoint-site.html&quot;&gt;http://nadirkamdar.blogspot.com/2010/07/please-dont-pimp-your-sharepoint-site.html&lt;/a&gt;&amp;nbsp;). &amp;nbsp;Today, I’m not complaining. &amp;nbsp;As a balance can be reached where there site is fully functional with a strong look. &amp;nbsp;This balance is achieved after a years’ worth of lessons learnt and new design related articles and guides. &amp;nbsp;A good showcase on what can be achieved can be found here: &lt;a href=&quot;http://www.topsharepoint.com/&quot;&gt;http://www.topsharepoint.com/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;So what’s in store for SharePoint in the year 2012?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Well, Office 365 will receive better adoption, and the shift to the Cloud will be more prominent. &lt;br /&gt;
&lt;br /&gt;
The new SQL Server will launch, resulting in better BI functionality, which will directly affect SharePoint. &amp;nbsp;Maybe improved speed and better functionality in features like Reporting Services and Power Pivot. &lt;br /&gt;
&lt;br /&gt;
Better support for mobile devices: &amp;nbsp;I don’t believe they got this quite right as yet, as seen in the video below (its good, but not perfect), and mobile support is just too big to ignore. &lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/xbihonrRcwE&quot; width=&quot;420&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
What I am expecting is a service pack that provides site templates that makes better use of HTML 5 and CSS 3 or at least templates that make better use of W3C compliant code and JavaScript so it works well on these devices.&lt;br /&gt;
&lt;br /&gt;
The end of SharePoint 2007, If you or your corporation are using SharePoint 2007, it will most likely reach its end of live in 2012, which means upgrade/migrate or use what people will soon call the “Old SharePoint”. &amp;nbsp;Due to the reduction (or complete removal) of SharePoint 2007 training, there will soon be no resources available to support the environment. &amp;nbsp;No support means no growth and if your technology cannot grow, its becomes a liability.&lt;br /&gt;
&lt;br /&gt;
While 2011 was about strong awareness on how we are destroying the world, 2012 is about us doing something about it. &amp;nbsp;2012 will see SharePoint as a strong paperless option for collaboration and productivity. &lt;br /&gt;
&lt;br /&gt;
So that’s my take on SharePoint in the last year with a few predictions in the year to come. &amp;nbsp;Tell me what you think?</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/4403446976556044573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/4403446976556044573' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/4403446976556044573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/4403446976556044573'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2012/01/sharepoint-in-year-2011.html' title='SharePoint in the year 2011'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3X-hAh2LeXafj8k5t0j65qxHUmrRXrbyNKG86Dz076tYKVKu6OwPkUb1Uwklg9levZKxp-9GOX7yoSBf8UbeCxCRf9OPtqOb4J2RWrKZMUMntwGFMP3NYVQDoiDLDx5IznAG7/s72-c/2011-2012.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-7288670976063855067</id><published>2011-11-28T12:14:00.000+02:00</published><updated>2011-11-28T12:14:48.600+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="retaining staff"/><category scheme="http://www.blogger.com/atom/ns#" term="stress"/><title type='text'>The importance of de-stressing</title><content type='html'>Like many hard working individuals (I want to say workaholics, but I think that’s too strong a word), I have designed my entire lifestyle around doing my job as best as I can. &lt;br /&gt;
&lt;br /&gt;
To start off with, I make sure I get plenty of sleep so I so I am fully charged to handle the 8-10 hours of taxing activities. I follow news and subscribe to feeds that relates to my work, and catch up whenever I have some free time. &amp;nbsp;I don’t smoke, don’t drink alcohol, don’t do drugs and limit my coffee consumption to social outings. &amp;nbsp;I even try to stay active and eat healthy since it affects my health and eventually the way I work (but admittedly, I easily compromise those tasks when more after hour work is required or the tasks I handled for that day was more draining than usual).&lt;br /&gt;
&lt;br /&gt;
While I think it’s important to give your job high importance, I also understand that life is about balance. &amp;nbsp;So while your job may expose you to stress, it is important to counter that with some de-stressing tasks.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrmXAHmRDjbm4uyPf02Hbs1h7TldDqzu2GMPDoo7KlwBJXBW6vwjvQAStUUY5rYFVK3pGKePyHSX-gAbavMLO6KaaUOPj23Bzu3BIxRIoNJkcPbXMSMQHhcdBGoiBWsDZSLATR/s1600/stressed-out.jpeg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;212&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrmXAHmRDjbm4uyPf02Hbs1h7TldDqzu2GMPDoo7KlwBJXBW6vwjvQAStUUY5rYFVK3pGKePyHSX-gAbavMLO6KaaUOPj23Bzu3BIxRIoNJkcPbXMSMQHhcdBGoiBWsDZSLATR/s320/stressed-out.jpeg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Without de-stressing, your job WILL cause the following:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Loss of enthusiasm&lt;/li&gt;
&lt;li&gt;Loss of motivation&lt;/li&gt;
&lt;li&gt;Symptoms of depression (sadness, low self-esteem, isolation, tiredness)&lt;/li&gt;
&lt;li&gt;Over sensitive&lt;/li&gt;
&lt;li&gt;Over anxious&lt;/li&gt;
&lt;li&gt;Short tempered&lt;/li&gt;
&lt;li&gt;Overeating or loss of appetite&lt;/li&gt;
&lt;li&gt;Disturbed sleep&lt;/li&gt;
&lt;li&gt;Feeling overwhelmed&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
My de-stressing techniques are the following. &amp;nbsp;They are simple, yet effective.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Talk to a friend&lt;/b&gt;.&lt;br /&gt;
I follow this rule with limitations as too much of this affects the quality of your work. &amp;nbsp;I have turned off all my social network notification tools, I don’t use any chatting program and only check my Gmail after hours or during lunch (and that’s if I’m taking lunch) as these tools are distracting and prevents me from doing my duties optimally. &lt;br /&gt;
But speaking to someone that can take your mind off work for a few minutes, and in that time, you get a smile on your face or even a bit of laughter, you just got yourself an instant de-stressor.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Take your mind off things&lt;/b&gt;. &lt;br /&gt;
It is important to not think about work when you not working, but when you have tight deadlines, your responsibilities tend to stay in your head, even after hours, stressing you out. &amp;nbsp;So it’s important to find an activity that can pull you away from that. &lt;br /&gt;
I can suggest that you do something worthwhile like participate in a charity event so you can find fulfilment via some alternative avenue, but my approach is video games (not very noble, probably regarded by most as a waste of time, but it works). &lt;br /&gt;
Video Games allow my mind to enter this alternative universe, and focus on the challenges presented in the game, with that sense of fulfilment when I have accomplished the task. &amp;nbsp;The best de-stressing games I played to date is Batman: Arkham City, but I hear Call of Duty and other FPS (First person shooter) games are great for de-stressing as well.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Get away&lt;/b&gt;&lt;br /&gt;
I always believed that it was a good idea to build up my leave days to a significant number, and then use it for some significant event like an overseas holiday. &lt;br /&gt;
In reality, those overseas trips are few and far between and I learnt, that sometimes you need to take time off to do nothing, i.e. have no plans but to relax. &lt;br /&gt;
You could plan to go to some relaxing spa, maybe have a picnic or have a nice walk in the forest or up the mountain. &amp;nbsp;Don’t be scared to take off a day from work every now and then just &amp;nbsp;for relaxing (I know this one &amp;nbsp;may be easier said than done - and if you have any advice on how to do this, let me know)&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsOc9BUUfnMeA8aFwsFFmy0r9tcxtjNiotwnbWwR800JVKrE6tniHTTYZWjaOoCZHiZ9W0TRlOoA_qbHknKotSy8dhwW7ezfh-WiZ81aqwFpT9i3bAUVS9r7Dk1ny6nLAMecoV/s1600/1433.strip.sunday.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;143&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsOc9BUUfnMeA8aFwsFFmy0r9tcxtjNiotwnbWwR800JVKrE6tniHTTYZWjaOoCZHiZ9W0TRlOoA_qbHknKotSy8dhwW7ezfh-WiZ81aqwFpT9i3bAUVS9r7Dk1ny6nLAMecoV/s320/1433.strip.sunday.gif&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
So that it, that’s my de-stressing techniques, the important thing is that you have to love your job and gain fulfilment from it, it makes all the stress worthwhile.&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/7288670976063855067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/7288670976063855067' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/7288670976063855067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/7288670976063855067'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2011/11/importance-of-de-stressing.html' title='The importance of de-stressing'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrmXAHmRDjbm4uyPf02Hbs1h7TldDqzu2GMPDoo7KlwBJXBW6vwjvQAStUUY5rYFVK3pGKePyHSX-gAbavMLO6KaaUOPj23Bzu3BIxRIoNJkcPbXMSMQHhcdBGoiBWsDZSLATR/s72-c/stressed-out.jpeg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-5195864454951247322</id><published>2011-11-05T17:59:00.000+02:00</published><updated>2011-11-05T17:59:15.270+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="migration"/><category scheme="http://www.blogger.com/atom/ns#" term="presentation"/><category scheme="http://www.blogger.com/atom/ns#" term="sharepoint"/><category scheme="http://www.blogger.com/atom/ns#" term="sharepoint 2010"/><category scheme="http://www.blogger.com/atom/ns#" term="sharepoint saturday"/><title type='text'>SharePoint 2010 and Content Migration Presentation</title><content type='html'>If you managed to catch my SharePoint 2010 and Content Migration presentation for SharePoint Saturday, thank you for attending - as promised, my slides are attached.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left; width: 425px;&quot;&gt;&lt;object height=&quot;355&quot; style=&quot;margin: 0px;&quot; width=&quot;425&quot;&gt;&lt;param name=&#39;movie&#39; value=&#39;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=sharepointsatsharepoint2010andcontentmigration-13195322642318-phpapp01-111025035213-phpapp01&amp;amp;stripped_title=share-point-sat-share-point-2010-and-content-migration&#39; /&gt;&lt;param name=&#39;allowFullScreen&#39; value=&#39;true&#39;/&gt;&lt;param name=&#39;allowScriptAccess&#39; value=&#39;always&#39;/&gt;&lt;embed src=&#39;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=sharepointsatsharepoint2010andcontentmigration-13195322642318-phpapp01-111025035213-phpapp01&amp;amp;stripped_title=share-point-sat-share-point-2010-and-content-migration&#39; type=&#39;application/x-shockwave-flash&#39; allowscriptaccess=&#39;always&#39; allowfullscreen=&#39;true&#39; width=&#39;425&#39; height=&#39;355&#39;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
If you&amp;nbsp;didn&#39;t&amp;nbsp;attend my presentation, which is very possible sine the majority of my audience is from the States, India and Jhb. &amp;nbsp;I tried to make the presentation as clear and detailed as possible. &amp;nbsp;I also reduced all the unnecessary images I used to give the presentation more live so the downloads are much smaller. &amp;nbsp;Enjoy.</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/5195864454951247322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/5195864454951247322' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/5195864454951247322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/5195864454951247322'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2011/11/sharepoint-2010-and-content-migration.html' title='SharePoint 2010 and Content Migration Presentation'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-2671842963221181419</id><published>2011-10-12T13:34:00.000+02:00</published><updated>2012-07-18T15:02:16.005+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="look and feel"/><category scheme="http://www.blogger.com/atom/ns#" term="master page"/><category scheme="http://www.blogger.com/atom/ns#" term="mobile"/><category scheme="http://www.blogger.com/atom/ns#" term="mobile friendly"/><category scheme="http://www.blogger.com/atom/ns#" term="quality"/><category scheme="http://www.blogger.com/atom/ns#" term="search"/><category scheme="http://www.blogger.com/atom/ns#" term="sharepoint"/><category scheme="http://www.blogger.com/atom/ns#" term="sharepoint 2010"/><title type='text'>Don’t use SharePoint 2010’s mobile view for internet presence sites</title><content type='html'>SharePoint offers a lot; it’s a platform that provides BI, ECM, Search, collaboration and a lot more including WCM.&amp;nbsp; It’s the Web Content Management (WCM) component that makes it’s a great platform for internet presence sites and with the more appealing pricing structure available for internet presence, it is becoming the preferred choice to internet deployment.&lt;br /&gt;
&lt;br /&gt;
Without any effort from the SharePoint deployment team, SharePoint provides a “mobile friendly” view of the site been created.&amp;nbsp; In theory, this sounds great, this means that we can create a SharePoint site, apply a nice appealing brand to it (it is an internet site, so the look is important), spend some time on the structure the content so information can be easily found (very important for internet sites), configure search correctly and then fill the site with information and images knowing that it will automatically work out the best way to display this information on mobile devices, right?&amp;nbsp;&amp;nbsp; WRONG!&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNgVC8s4hhyphenhyphenE2Cj4mzFw1yPqLnI0ZdBqYgZUngPYPNnMGJHTv2OAsk9IlFU4zabxt4-DLjUAfBNr7TyOiVEzaiH6un5nXmJtjJL4n_2A7gtpuESpvtEK2Ee-IeEBORdwYIcsrv/s1600/1206558994350927690taber_No_Cell_Phones_Allowed.svg.med.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNgVC8s4hhyphenhyphenE2Cj4mzFw1yPqLnI0ZdBqYgZUngPYPNnMGJHTv2OAsk9IlFU4zabxt4-DLjUAfBNr7TyOiVEzaiH6un5nXmJtjJL4n_2A7gtpuESpvtEK2Ee-IeEBORdwYIcsrv/s1600/1206558994350927690taber_No_Cell_Phones_Allowed.svg.med.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
SharePoint offers a mobile friendly version of the site, that is true, but when they created this mobile friendly view, they created it for the convenience of collaboration, and the factors that are important for internet sites were not included in the mobile view.&lt;br /&gt;
&lt;br /&gt;
Here are a few examples: &lt;br /&gt;
&lt;br /&gt;
By default, &lt;b&gt;mobile view does not allow anonymous access, &lt;/b&gt;there are ways to override this, but that should be your first clue that the mobile view is not internet friendly.&lt;br /&gt;
&lt;br /&gt;
The &lt;b&gt;look and feel is not displayed in the mobile view, &lt;/b&gt;and there is no interface to change the look and feel of the mobile view, meaning that your internet brand will not be viewable in the mobile devices, solutions in solving this problem involves editing files located in the 14 hive folder, and that approach is not best practice, and should be avoided.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Navigational structure and content pages is not displayed in the mobile view, &lt;/b&gt;the main part of an internet site is the navigational structure and the content.&amp;nbsp; Those elements are ignored in the mobile view; instead, the mobile view’s navigational menu provides easy access to SharePoint lists and sufficient control in managing those lists.&amp;nbsp; So if you have some hidden lists on your internet sites (like a list to store feedback responses) they will be easily accessible in the mobile view.&amp;nbsp; Also, since the mobile view is focused on list management (and not the displaying of web parts), web parts containing content and information are usually removed from the mobile view.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Search facility is not working in mobile view.&amp;nbsp; &lt;/b&gt;Search is becoming the preferred way to search for information, so all the effort in classifying and indexing your information is rewarded by providing powerful search functionality, this functionality is turned off in the mobile view.&lt;br /&gt;
&lt;br /&gt;
If you don’t believe me, here’s proof.&amp;nbsp; Go to Microsoft’s SharePoint site, &lt;a href=&quot;http://sharepoint.microsoft.com/&quot;&gt;http://sharepoint.microsoft.com&lt;/a&gt;, look and the brand, the navigational structure, and the content and the search functionality.&amp;nbsp; Now go to the mobile view of this site, &lt;a href=&quot;http://sharepoint.microsoft.com/en-us/Pages/default.aspx?mobile=1&quot;&gt;http://sharepoint.microsoft.com/en-us/Pages/default.aspx?mobile=1&lt;/a&gt;, you will notice that you will need to sign in (thankfully, your hotmail account will work), and after you login, look for the brand, the navigational structure, the content, and now try to search for it.&amp;nbsp; It is clear that this view is not designed for internet sites.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF3R5BYJTRQ0rgtflE9ZwCWHJ_PdcRx6Nq_OVnxtfXt-CkEkDNkNf2bBeJkXiQDNA74mIe3I_pA04ciU0_Qe_W7KUafEvTgJJEsCOqDwYBfQ3B3Kw3Ozvb-B1oD67L1gcY_zms/s1600/smartphoneandserver.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;86&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF3R5BYJTRQ0rgtflE9ZwCWHJ_PdcRx6Nq_OVnxtfXt-CkEkDNkNf2bBeJkXiQDNA74mIe3I_pA04ciU0_Qe_W7KUafEvTgJJEsCOqDwYBfQ3B3Kw3Ozvb-B1oD67L1gcY_zms/s320/smartphoneandserver.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
So how can I make my site more mobile friendly? &lt;br /&gt;
&lt;br /&gt;
SharePoint looks at the browser accessing the site and if the browser is a mobile browser, the user is directed to a mobile friendly template.&lt;br /&gt;
&lt;br /&gt;
The file that contains the list of mobile browsers can be edited to stop the redirect from taking place or you can make use of URL rewriting features. This will cause the mobile device to load the standard view of your site and since SharePoint sites are W3C compliant, it should work fine on those devices (but they will probably have to do a bit of scrolling).&lt;br /&gt;
&lt;br /&gt;
Best practice will involve you doing a little work on the standard view, you will need to create a mobile friendly CSS file and with some clever JavaScript you can load the correct CSS that will provide the mobile friendly look on mobile devices.&lt;br /&gt;
&lt;br /&gt;
UPDATE :&amp;nbsp;&lt;span style=&quot;background-color: white; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;&quot;&gt;Mobile Entrée (&lt;/span&gt;&lt;a href=&quot;http://www.mobileentree.com/&quot; style=&quot;background-color: white; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;&quot;&gt;http://www.mobileentree.com&lt;/a&gt;&lt;span style=&quot;background-color: white; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;&quot;&gt;), seem to have a good solution this problem, they created a 3rd party extension of the SharePoint platform that provides mobile friendly sites.&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-ansi-language: EN-ZA; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-font-size: 11.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: Arial; mso-fareast-language: EN-US;&quot;&gt;&amp;nbsp;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/2671842963221181419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/2671842963221181419' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/2671842963221181419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/2671842963221181419'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2011/03/dont-use-sharepoint-2010s-mobile-view.html' title='Don’t use SharePoint 2010’s mobile view for internet presence sites'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNgVC8s4hhyphenhyphenE2Cj4mzFw1yPqLnI0ZdBqYgZUngPYPNnMGJHTv2OAsk9IlFU4zabxt4-DLjUAfBNr7TyOiVEzaiH6un5nXmJtjJL4n_2A7gtpuESpvtEK2Ee-IeEBORdwYIcsrv/s72-c/1206558994350927690taber_No_Cell_Phones_Allowed.svg.med.png" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-5540657127631986903</id><published>2011-09-18T15:27:00.000+02:00</published><updated>2011-09-18T15:27:48.098+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="file sharing"/><category scheme="http://www.blogger.com/atom/ns#" term="iPad"/><category scheme="http://www.blogger.com/atom/ns#" term="iPhone"/><category scheme="http://www.blogger.com/atom/ns#" term="webDAV"/><title type='text'>Sharing files with a iPad/iPhone/iPod wirelessly</title><content type='html'>I have a Windows laptop that I mainly use for work and blogging, a PC at home that is configured to act as a HTPC (Home Theater Personal Computer), an iPhone and an iPad.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
When I am at home, all these devices are connected to my local network via WIFI.&amp;nbsp; Some of my devices download files like eBooks, while others act as my eBook reader, the same thing happens with movies. so there is this need for me to easily share files amongst my devices and I dont want to connect my iPhone/iPad to the PC/laptop via USB - its just too much effort and I am sure I can find a better solution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cloud based file storage mediums like DropBox are available, which pretty much means that I can store my files on the internet and access it via any other devices, but I have a problems with this approach. Cloud based file storage mediums cost me bandwidth, and in South Africa, bandwidth is expensive (which is why I believe that South Africa will be slow adopters of cloud based solution – but that’s another topic for another blog).&lt;br /&gt;
&lt;br /&gt;
If I want to copy my 1MB photograph taken from my iPhone to my laptop wirelessly, I will need to upload the file to my DropBox storage via the iPhone app.&amp;nbsp; This will cost me 1MB of bandwidth, I will then need to use another MB&amp;nbsp; of bandwidth to download the file to my laptop, I know this sounds petty, but do this for 10, 20 or 100 files, the bandwidth adds up and it is really unnecessary, especially since all my devices are connected to my local network so I should be able to do this without using the internet.&lt;br /&gt;
&lt;br /&gt;
There are other disadvantages like slow speed, restrictions with the storage medium and this actual step of uploading or duplicating files just to make it available for sharing.&amp;nbsp; So the preferred alternative would be the ability to share files across my local network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg58irA3X_3m6gSXpZ0ZjX1H0jFd2oBFvV6_2MWLVahPjkKSioAs60lJK6GTX7cthb-fWhSR1UnVzk9rqT0MpyXpxObopKejazvWTz56XXOmqG1l48dgc5PgV5AV756ASfhsG-I/s1600/file-sharing-with-wi-fi-hd-12.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg58irA3X_3m6gSXpZ0ZjX1H0jFd2oBFvV6_2MWLVahPjkKSioAs60lJK6GTX7cthb-fWhSR1UnVzk9rqT0MpyXpxObopKejazvWTz56XXOmqG1l48dgc5PgV5AV756ASfhsG-I/s1600/file-sharing-with-wi-fi-hd-12.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
iDevice (iPhone/iPad/iPod) developers figured out how to transfer files from their iDevice over a WIFI network.&amp;nbsp; They have created apps like File Sharing (&lt;a href=&quot;http://itunes.apple.com/us/app/file-sharing/id300556365?mt=8&quot;&gt;http://itunes.apple.com/us/app/file-sharing/id300556365?mt=8&lt;/a&gt;), Air Sharing (&lt;a href=&quot;http://itunes.apple.com/app/air-sharing/id289943355?mt=8&quot;&gt;http://itunes.apple.com/app/air-sharing/id289943355?mt=8&lt;/a&gt;) and Good Reader (&lt;a href=&quot;http://itunes.apple.com/app/id306277111?mt=8&quot;&gt;http://itunes.apple.com/app/id306277111?mt=8&lt;/a&gt;)&amp;nbsp; just to name a few (there’s a lot out there).&amp;nbsp; They all work on the same principle.&amp;nbsp; They use WebDAV protocol (&lt;a href=&quot;http://en.wikipedia.org/wiki/WebDAV%20&quot;&gt;http://en.wikipedia.org/wiki/WebDAV &lt;/a&gt;) that makes it possible to access files on the iDevice via a URL.&lt;br /&gt;
&lt;br /&gt;
WebDAV protocol are perfect for this purpose, it’s a standard set of rules and methods that makes it possible to edit and manage documents all via HTTP, it essentially makes the device on the network a readable and writable medium.&lt;br /&gt;
&lt;br /&gt;
Having an iDevice app that uses WebDAV is a step in the right direction (I installed and love Good Reader) but more needs to be done for me to achieve a true file sharing environment across all my devices.&lt;br /&gt;
&lt;br /&gt;
The biggest problem is that I can share files from my iDevice, but I cannot share files from my PC or laptop – now for me to get that right, i need to get my PC or Laptop to share files via WebDAV or FTP protocols (Good Reader allows you to access other shares on the network via WebDAV or FTP) – and that is a lot more complicated that it sounds – I tweaked around with my IIS settings, loosen my security configurations, installed all kinds of server type software on my PC/Laptop, read all kinds of articles on how Microsoft did a poor job in WebDAV support and just about gave up – I was unable to make my PC/Laptop files accessible to my iDevices.&amp;nbsp; Finally I found some a programme that provides a “User Friendly, personal FTP and WebDAV server”.&lt;br /&gt;
&lt;br /&gt;
The programme is called neteK (&lt;a href=&quot;http://netek.berlios.de/%20&quot;&gt;http://netek.berlios.de/ &lt;/a&gt;), its freeware but its incomplete, the FTP part is working, but the WebDAV part is not, I tried contacting the developer as I believe that there is a market for this product once the WebDAV component is working, but he is not replying to my emails and from what I can see, this product was last updated in 2006 – so it’s probably a dead product – but he made his source code available (&lt;a href=&quot;http://developer.berlios.de/project/showfiles.php?group_id=6106&quot;&gt;http://developer.berlios.de/project/showfiles.php?group_id=6106&lt;/a&gt;)&amp;nbsp; - so if anyone wants to work on a product that provides a user friendly, personal FTP and WebDAV server – get a kickstart from the source code and work on a solution.&amp;nbsp; I believe that this problem I am experiencing with sharing files amongst my devices is a common problem and is rapidly becoming a big problem as more different types of devices are connected to the network and needs to talk to each other, so there is a market for this product.&amp;nbsp; Imagine how great this product will be if you can get it working for iOS, Android, XBox, PlayStation, Wii, BlackBerry, Windows, Linux, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Good luck, When you get rich with this product, remember to mention my name :)</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/5540657127631986903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/5540657127631986903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/5540657127631986903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/5540657127631986903'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2011/09/sharing-files-with-ipadiphoneipod.html' title='Sharing files with a iPad/iPhone/iPod wirelessly'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg58irA3X_3m6gSXpZ0ZjX1H0jFd2oBFvV6_2MWLVahPjkKSioAs60lJK6GTX7cthb-fWhSR1UnVzk9rqT0MpyXpxObopKejazvWTz56XXOmqG1l48dgc5PgV5AV756ASfhsG-I/s72-c/file-sharing-with-wi-fi-hd-12.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-2597747319820371715</id><published>2011-08-28T15:17:00.000+02:00</published><updated>2011-08-28T15:17:32.637+02:00</updated><title type='text'>SharePoint 2010 and Branding</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:WordDocument&gt;   &lt;w:View&gt;Normal&lt;/w:View&gt;   &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:PunctuationKerning/&gt;   &lt;w:ValidateAgainstSchemas/&gt;   &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:Compatibility&gt;    &lt;w:BreakWrappedTables/&gt;    &lt;w:SnapToGridInCell/&gt;    &lt;w:WrapTextWithPunct/&gt;    &lt;w:UseAsianBreakRules/&gt;    &lt;w:DontGrowAutofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:LatentStyles DefLockedState=&quot;false&quot; LatentStyleCount=&quot;156&quot;&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:&quot;Table Normal&quot;;
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-parent:&quot;&quot;;
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin:0cm;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:&quot;Times New Roman&quot;;
	mso-ansi-language:#0400;
	mso-fareast-language:#0400;
	mso-bidi-language:#0400;}
&lt;/style&gt; &lt;![endif]--&gt;  &lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;Some time ago, before SharePoint 2010 was popular, I write an article (&lt;a href=&quot;http://nadirkamdar.blogspot.com/2010/07/please-dont-pimp-your-sharepoint-site.html&quot;&gt;http://nadirkamdar.blogspot.com/2010/07/please-dont-pimp-your-sharepoint-site.html&lt;/a&gt;) pleading with the world to please stop creating fancy looking SharePoint sites, because you are not using SharePoint the way it was intended, and you are creating a maintenance nightmare.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Now, with SharePoint 2010 around, I think its time we re-visited this topic.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhREuXjCXXSySrCi7rAHtvJdYJkto_l3_APqTbRVUj73Byupruvu-R44ZXBF4Zpzbm-Q9T-UDy5JSmKxKdafLnVhxYhrJ074FSqu25Lo0FMabJNNyZ0tIWcBYU0xYlErxKEIwqe/s1600/designs_web.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;277&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhREuXjCXXSySrCi7rAHtvJdYJkto_l3_APqTbRVUj73Byupruvu-R44ZXBF4Zpzbm-Q9T-UDy5JSmKxKdafLnVhxYhrJ074FSqu25Lo0FMabJNNyZ0tIWcBYU0xYlErxKEIwqe/s320/designs_web.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Lets me start off by saying that SharePoint has improved greatly when it comes to branding, but I still believe that strong branding should be limited to internet sites.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Intranet sites are more feature heavy, and those features has a default size, layout, structure and design that fits the default look provided by SharePoint, so I still see a lot of additional time spent on tweaking the features so it fits the new look, and then a lot of time will be needed to maintain these tweaked features.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;So, when you want to apply a brand to a SharePoint site, use the publishing templates, these templates are designed to be a strong WCM (Web Content Management) type site, so the features are more limited to publishing content rather than collaboration and BI (Business Intelligence) type features but the overall look of the template is easier to adjust, tweak and re-design.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;iframe align=&quot;left&quot; frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?t=nadirkamdar&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0470584645&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;&quot;&gt;&lt;/iframe&gt;There are now some great tutorials out there to help you be a SharePoint Designer Guru; I like his article straight from the Microsoft MSDN site: &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/gg430141.aspx&quot;&gt;http://msdn.microsoft.com/en-us/library/gg430141.aspx&lt;/a&gt;, and if you prefer a video, here’s a great one from Technet: &lt;a href=&quot;http://technet.microsoft.com/en-za/sharepoint/hh239611&quot;&gt;http://technet.microsoft.com/en-za/sharepoint/hh239611&lt;/a&gt;, it’s a series of WCM videos but Chapter 5 gives you a 40 minute video just on branding.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;And, after all that training, if you need inspiration, check out Top SharePoint: &lt;a href=&quot;http://www.topsharepoint.com/&quot;&gt;http://www.topsharepoint.com/&lt;/a&gt; for the biggest gallery of Branded SharePoint sites.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/2597747319820371715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/2597747319820371715' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/2597747319820371715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/2597747319820371715'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2011/08/sharepoint-2010-and-branding.html' title='SharePoint 2010 and Branding'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhREuXjCXXSySrCi7rAHtvJdYJkto_l3_APqTbRVUj73Byupruvu-R44ZXBF4Zpzbm-Q9T-UDy5JSmKxKdafLnVhxYhrJ074FSqu25Lo0FMabJNNyZ0tIWcBYU0xYlErxKEIwqe/s72-c/designs_web.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36339128.post-8688314573052810858</id><published>2011-08-21T07:43:00.000+02:00</published><updated>2011-08-21T07:43:54.637+02:00</updated><title type='text'>3d printing - the next big thing - see it in action with Lego</title><content type='html'>&lt;a href=&quot;http://thenxtstep.blogspot.com/2011/08/amazing-mindstorms-3d-printer.html?spref=bl&quot;&gt;The NXT STEP - LEGO® MINDSTORMS® NXT Blog: Amazing Mindstorms 3D printer&lt;/a&gt;: Brought to us by Arthur Sacek from Brazil&#39;s ZOOM Education for Life , this very well built and surprisingly precise 3D milling machine is tr...</content><link rel='replies' type='application/atom+xml' href='http://nadirkamdar.blogspot.com/feeds/8688314573052810858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/36339128/8688314573052810858' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/8688314573052810858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36339128/posts/default/8688314573052810858'/><link rel='alternate' type='text/html' href='http://nadirkamdar.blogspot.com/2011/08/3d-printing-next-big-thing-see-it-in.html' title='3d printing - the next big thing - see it in action with Lego'/><author><name>Nadir Kamdar</name><uri>http://www.blogger.com/profile/12207419823364019378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxVLwgzKDTMXqt23J_EoAcrG6VS1PlWLMs75mLKYeEO84zPLp2yC3swqiyRPygYehv4MMgwVzpnfc9aPMVogvoD9hQr7roFOHZLj-1rNvmpUI1xTniCtUPAGoZTsx4mGAwBwmPALm85zZFzWhl4ymD_zJeWR-nnL3XaOKxzJNTrulbyg/s1600/ChatGPT%20Image%20Jun%2029,%202025,%2002_31_02%20PM.png'/></author><thr:total>0</thr:total></entry></feed>