Changelog
What changed in each version
Every version of UI Switcher for Power Automate, newest first. The Chrome Web Store updates the extension by itself.
3.24
Coming soon
Added
- Edit action from a run: in a flow run, every open card has an Edit button in its header that opens the flow editor with that action opened, centered and outlined; the Search panel of a run has the same as Edit action on each result (
Alt+E).Cmd/Ctrl+clickor a middle click opens a new tab, so the run stays open. When the action no longer exists in the flow, a message says so. On by default, with its own switch. - Copy dynamic content and expressions: pointing at a token in a field shows a small bar with Copy and Cut. Copy puts the token on the clipboard as its expression (
@{outputs('Compose')}), in the designer's own format too, so it pastes into another field as the same token; Cut also removes it, with Undo. Pasting@{...}or@...into the Expression tab leaves out the wrapper. The expressions of the Conditions panel of a run and of the Full expressions lines can be copied too. On by default, with its own switch. - Full expressions also in a flow run: the Conditions panel of Show conditions has a Full expressions button in its header that puts the same line under each rule as in the editor, with both values and the operator written out in full and the titles of trigger inputs. It is the same choice as in the editor: switching it in one place switches it in the other.
- Show conditions also on a Filter array and a Do until in a flow run. On a Filter array the panel goes through the items of From one at a time (‹ Previous, the item number, Next ›), says whether the run kept or dropped each one, counts the kept items, and works the rules out for that item. A Do until has a Conditions bar at the top of its loop; the panel follows the iteration of the loop's pager and says whether the condition was false (the loop went on) or true (it stopped).
iterationIndexes()of a loop around the card is supported too. - All items on a Filter array in a flow run: next to the item number of Show conditions, it opens a panel docked on the right (sliding in and out, resizable) with every item of From in one list. Each row says Kept or Dropped, shows a few key fields of the item (first, in bold, the fields the conditions use), and for a dropped item why, in words, such as "Age is 12, not greater than 18" or "Status is Closed, not Open". Filter on All, Kept, Dropped (and Differs when the worked-out result differs from the run), search the items' content, open an item's JSON with Copy, or select a row to show that item and its rules in the card.
Esccloses it; it makes way for the Search and Runs panels. The item row of Show conditions is calmer for it: ‹ and › instead of ‹ Previous and Next ›, the Kept/Dropped chip as a soft chip on the line of the item, and on the right a small bar with the share of kept items, the count and All items as a link. - Keep your place, Pan with middle button and Pan with left button also work in a flow run, whose canvas is another element than the one while editing.
- Go to error now goes into loops: for a failed Apply to each or Do until it switches the loop to the failed iteration, also in nested loops (the outer loop first), and goes to the failed action in it. Each next click goes to the next failed iteration, so a loop of 300 with failures in 157 and 201 stops at both. The tooltip names the iteration: "Failed in iteration 157 of 300". Before, it went to the loop and the iteration had to be found with the pager.
- Go to error shows the number of failed actions on the button, Go to error (5), and after a click where you are, Go to error 2/5. The count is made as soon as the run opens, also for the failed actions inside loop iterations, which are read before you go there. Only in a very large run (over 100 requests) can an iteration count as one until it is visited; the tooltip then says the number can grow. The extension sends at most 6 of these requests at a time, so the designer's own go in between; a loop with thousands of failed iterations is read for its first pages, and the count then gets a + ("Go to error (500+)").
- Failed in the Search list of a flow run is now an overview of the errors: one row per stop of Go to error, also per failed iteration of a loop ("Failed in iteration 18 of 30"), with the error message in red below it; for an action whose error is only in its outputs, such as an HTTP action with a 4xx answer, the status code and the answer's message. The scopes and loops that only failed because of an action in them are left out. Choosing a row switches the loop to that iteration and opens the failed action, as Go to error does, and the button's place follows. At most 500 rows, with a line saying how many more there are.
- Filter runs shows next to each start time how long ago the run started, such as "(3 min ago)" or "(5 d ago)", in the same words as Power Automate's own run lists, with "5 days ago" as tooltip. The text keeps up every minute while the panel is open. The docked panel in the designer is wider by default (520 px instead of 460) so Start, Duration and Status fit without scrolling, and the Duration header is no longer cut off. Time ago in Columns hides it.
- Filter flows: on My flows (Cloud flows and Shared with me), Filter flows at the right of the tabs opens a panel with every flow of the tab in one table, loaded page by page as the page does, without Show more. Filter and sort on Name, Modified, Created, Status, Type, Trigger, Connectors, Solution and Premium (the flows that need a premium license, as Microsoft's diamond after the name) (check boxes with counts, or a condition), search all columns, hide columns, drag their width and export CSV. On by default, with its own switch.
- Resizable flow columns: on My flows the right edge of each column header can be dragged to make Name or another column wider; a double-click resets it, and the widths are remembered. On by default, with its own switch.
- Fold JSON in a run: in a flow run, each object and array in the inputs and outputs has an arrow before it that folds it; a folded object shows its number of keys, a folded array its number of items. Show raw inputs/outputs gets Fold all, which keeps the outer object open, and Unfold all. The JSON always opens unfolded. On by default, with its own switch.
- Index before array items: each item of an array in a run shows its index (
0:,1:, …), padded so the items line up. On by default, the first sub-setting in the settings window, under Fold JSON in a run. - Inputs and outputs in a window: Open in window in Show raw inputs/outputs opens the action's inputs and outputs in a window of their own, which follows the action you click in the run, also another repetition of a loop. Pin keeps a window on its action, so several can be side by side; the window opens where it was last. On by default, with its own switch.
Changed
- The guide is on the website now, https://pa-ui-switcher.pages.dev/guide, with short videos of the features. Guide in the popup and the settings window, How it works at a feature, and Open the guide and Learn more in the tour and "What's new" open it there. After a new install a small welcome page opens instead and starts the tour; Tour and What's new in the popup use that page when no Power Automate tab is open. The extension is smaller: the guide's pages and images are no longer in it.
- Check features now tests with the same lookups the features use themselves, instead of copies of them, so a check can no longer say Works for a feature that cannot find what it needs. A feature whose script failed to load shows Problem with "<file> loaded". The Save button for Safe save is now found as Safe save finds it (
self-test.jsand the feature scripts).
Fixed
- Edit on a card of a flow run did not open a new tab with a middle click: the middle button started a pan of the canvas, which took the click away from the link. A pan no longer starts on a link.
- Select several: after Delete in a large flow, Undo in the message could stay disabled, because it stopped waiting for the designer's Undo after 4 seconds. It now waits for as long as the message is shown.
- Going to an action right after a page load (Search, Go to error) sometimes did not scroll: the canvas is hidden for a moment then, and the card counted as in place.
- Go to error and Search: the red outline of an action near the end of a long flow disappeared after about half a second instead of 2.5 s, and the card stayed low in the window, because the designer redraws the card while it opens.
- Multiple conditions now opens a Filter array or Do until whose expression has a call that is not a comparison, such as
empty(item()?['Status'])next toequals(). Such a call is a row is equal totrue, as in a Condition, and is written back as it was, so opening the rows does not change the expression. Before, the rows did not open and the panel asked to start over. - Condition rules in a run: a Condition inside a loop showed Unknown for every value of an action in that same loop, because the repetition was asked from the designer without its index and came back as
undefined. - Check features in a flow run showed Problem for Faster rendering, Keep your place and the two ways to pan. Faster rendering only works while editing, because a run draws other cards, so it now shows Not checked, "Not used in a flow run"; the other three now work in a run and show Works.
3.23.0
October 23, 2026
Added
- Full expressions in conditions (on by default): in the rules of a Condition, and of a Filter array or Do until with multiple conditions, Full expressions next to + Add puts a line under each rule with its left value, operator and right value written out in full, such as
body('Get_file')?['d/File/CheckOutType']instead of a token cut off at "d/File/C…". Long expressions wrap. The choice holds for every Condition and is remembered. An input of a manual or Power Apps (V2) trigger, such astriggerBody()?['boolean'], gets the name the maker gave it next to it (Is cancelled), and the tooltip of its token says it too. - Filter runs on the details page: the details page of a flow has Filter runs too, in the title of its 28-day run history card before Edit columns. It opens the same panel as on the run history page, with all runs of the flow, not only those of the last 28 days.
- Review flow (on by default): Review at the top of the Search panel (
Alt+V) checks the flow for common mistakes that Flow checker does not report, and lists them per action in the order of the flow; selecting one opens and outlines the action. Warnings: no error handling anywhere, a secret in an HTTP action or a Key Vault secret without secure inputs or outputs, an Apply to each that runs in parallel and changes a variable, and a SharePoint Get items without a Filter Query or Top Count. Info: unused variables and Compose outputs, empty blocks, a typed-in SharePoint site address, default names such as "Compose 3", and a Get items that stops at 100 items without Pagination. Warnings (Alt+W) hides the infos. The list follows edits, so a solved finding disappears.
Changed
- The "What's new" dialog is now for 3.23: Review flow, Full expressions in conditions, and the smaller changes. The tour lists Review flow instead of Safe save.
- Faster with large flows: a popup, tooltip or menu no longer makes the extension look at every card. In a flow of 211 actions with all cards open, each such change cost 45–60 ms (a stutter), and about 55 ms more while Search was open. The + before the first action of a block is now only checked when a card appears or disappears, and the open Search panel only compares the flow after a change to the cards, with a lighter walk of the actions.
- Condition rules in a run: an input of a manual or Power Apps (V2) trigger shows with the name the maker gave it, such as Is cancelled, instead of its internal name
boolean; the tooltip keeps the expression. - Filter runs: a trigger input that holds an object as JSON text, such as
parametersorbody, is split into its properties, so each one, such asparameters.Decision.Value, can be a column of its own. In Columns the properties of an object are indented under it, and the object itself stays listed; the arrow at the right of an object collapses or expands its properties. - Filter runs: Reset in Columns is now two buttons. Reset layout puts the order and widths of the columns back and keeps the columns you chose; Reset all also goes back to the columns of every run, as Reset did.
Fixed
- Runs in the command bar did nothing while editing a flow: Runs and JSON both wanted to be right after Search, so they kept moving each other and Runs was rebuilt on every frame, before a click could land. JSON now goes after Runs.
- Filter runs: dragging the edge of a column header made the column follow the pointer only partly, in the docked Runs panel (while editing and in a run) and in the wide one. The table always filled the panel, so the room one column got or lost went to the others: making a column narrower made the others wider, and the edge stayed behind the pointer. Now the first drag holds each column at its width and only the dragged column changes; the table still fills the panel, with the room left in the last column. The check box and open columns no longer start squeezed.
- Filter runs: in the docked Runs panel, with only Start, Duration and Status shown (also after Reset layout or Reset all), the check box column took half of the room left, so Start stood far to the right. The room left now goes to the last column, as after dragging a width.
3.22.0
October 22, 2026
Added
- Filter runs (on by default): on the run history page of a flow, Filter runs opens a panel with all runs in one table, instead of 50 at a time. Status and a start time range are filtered by Power Automate itself, and up to 1,000 runs (or 250, 5,000 or all) are loaded page by page. Each column has a filter box, a search box searches everything, and a header sorts. Load trigger content reads the trigger inputs and outputs of each run, so the search finds text in them, and Columns lists the fields of the trigger outputs right away, as Add column of the run history page does: choose one, such as
IDorDocIDof a SharePoint item, and its values load by themselves. Duration, Status and Error can be hidden there too; the choice is remembered per flow. Inputs of a manual or Power Apps trigger show with the names the maker gave them, instead oftext_1. A column header opens a menu to sort and filter: contains, equals, starts with, is after, is longer than and more, with the values of a column such as Status suggested; Status filters with check boxes for its values, each with its number of runs; active filters show as chips above the table. Drag a column header to move the column, and the edge of a header to change its width; both are remembered per flow. The panel's left edge can be dragged to make it wider, docked and wide each remembering their width. Selected runs can be resubmitted or cancelled after a question, and Export CSV saves the rows shown. In the classic designer, while editing and in a run, Runs in the command bar (after Search) opens the list docked next to the canvas, with the current run marked: a click opens another run and the list opens again there with the same filters, to switch quickly. Expand shows the whole table. - Resize the raw panel in a run: the panel of Show raw inputs/outputs in a flow run has a handle on its left edge, as the Search panel: drag it to make the panel wider or narrower, a double-click goes back to the designer's width, and with the handle focused the arrow keys change the width. A panel that opens again has the designer's width. Remember panel width (off by default) opens it at the width you last dragged it to instead.
- Array sizes in a run (on by default): in a flow run, each array in the inputs and outputs of an action shows how many items it has, in gray after its
[, such as[ 25 items. It works for any action (Compose, Filter array, Select, HTTP and so on), for arrays deeper in the JSON such asvaluein an HTTP body, and in Show raw inputs/outputs. Empty arrays get no count, and copying the JSON copies it without the counts. - Review and feedback: a week after an install or update, the popup asks once for a review in the Chrome Web Store, in the place of the shortcut list, so the popup does not grow and nothing shows in Power Automate itself. It shows from the second time the popup opens after that week. Later asks again in 30 days; Rate it, Send feedback and × end it, also on your other computers. Feedback and Rate ★ at the bottom of the popup, and a paragraph in the guide, are always there. Feedback goes to a short Google Form with the version of the extension and the browser filled in. After an uninstall, Chrome opens the same form with "I removed the extension" selected.
- The "What's new" dialog is now for 3.22. It covers 3.21 and 3.22 together, because 3.20 is the last version in the Chrome Web Store: Filter runs, Condition rules in a run, array sizes and the wider raw panel, and the 3.21 cards. The tour lists Filter runs instead of Outline.
- Check features has a row for Runs in the designer: the designer's
WORKFLOWservice withgetAccessToken(), and a command bar button to place Runs next to.
Changed
- The icons of Search, Go to error and JSON in the command bar have the color of the designer's own icons, such as the blue of Resubmit and Edit, instead of the text color.
- New guide images for Filter runs, Runs in the designer, array sizes and the raw panel (an animated GIF), and new
popup.pngandsettings-window.png(the latter now shows the Runs and saving group). - The Chrome Web Store text is shorter, without emoji, and ends with a version history; four of the five store screenshots are new.
3.21.0
October 21, 2026
Added
- Move the expression popup: a purple handle at the top of the dynamic content and expression popup drags it anywhere in the window. A double-click puts it back. Always on in the classic designer.
- Center expression popup (off by default): the popup opens in the middle of the window and stays there when its size changes, until you drag it.
- Indent on Enter (on by default, with the large editor):
Enterin the expression editor works as in a code editor. The new line keeps the indentation, gets one step more after(or[, and between a pair such asreplace(|)the closing bracket goes to a line of its own.Enterbetween quotes adds a plain line break inside the text. Saving still puts the expression on one line. - Settings window: the switches of the classic designer features moved from the popup to a window of their own, in groups (Expression editor, Canvas, Actions, Runs and saving) with a description, a search box and a How it works link per feature. The popup shows each group with how many of its features are on; a group or Open all settings opens the window there. It is also the extension's options page. Reset size of the large editor is there too. The window opens in the middle of the browser window, and Guide at the top opens the guide.
- Search in the guide: a search box above the contents shows only the sections with every word typed and marks the words in them.
Enterjumps to the first hit,Escapeclears it and/goes to the box. - Function brackets (on by default): a function picked from the suggestions with
Tab,Enteror a click gets its brackets, with the cursor between them and the parameter hint open. - Pan with left button (off by default): dragging an empty part of the canvas with the left button pans it, as in the modern designer. That includes the empty space inside an open Scope, loop, Condition or Switch, around and between the actions in it.
- Multiple conditions (on by default): Edit with multiple conditions under the condition of a Filter array or Do until shows the Condition action's own editor in the card: rows and groups with And or Or, Dynamic content and Expression with real tokens, and the … menu with Move up, Move down, grouping and delete. It writes the expression in advanced mode. The card widens for nested groups, and the expression box grows with its text and can be made higher. A card with more than one condition opens with its rows; Hide multiple conditions goes back to the designer's own view. A value such as
item()shows as an fx expression that can be edited. It also works in a flow without a Condition action. Typing fast in that box no longer loses letters. - Paste an action (on by default): while the designer's My clipboard holds an action, the + menu on an arrow has Paste with its name, or Paste an action with a list when there are several: the five copied last, the newest at the bottom, and Clear My clipboard. My clipboard itself keeps five actions: a sixth copy removes the oldest, and copying an action again replaces its older copy. It takes the designer's own steps (Add an action, the My clipboard tab and a click on the action), so a name that is taken gets a number, and Undo removes it. The + above the first action in a block has it too.
- Quick rename, note and copy: a third button after the name of a card copies the action to My clipboard, the same as Copy to my clipboard in the card menu, and shows a check for a moment. The switch is now called Quick rename, note and copy.
- Select several actions (on by default):
Cmd+click(Ctrl+clickon Windows) on card headers, or the new boxes in the Search panel, select several actions;Shift+clickselects a range in the panel,Alt+Sthe selected row andAlt+Aevery result. A bar at the bottom of the canvas then deletes them at once, after a question that counts the actions inside selected blocks and names the actions that use the ones that go; the designer's Undo brings them all back in one step. Dragging one of the selected cards moves them all, after each other in their order in the flow, also into an empty branch or before the first action of a block; Move back in the bar undoes that, and a place the designer refuses moves nothing. - Condition rules in a run (on by default): in a flow run, Show conditions next to Show raw inputs of a Condition shows each of its rules on one line, as in the Condition editor: True, False or Unknown, the values in the run and the operator, in their And and Or groups. Power Automate keeps only the Condition's overall result, so the extension works the rules out again from the run's outputs, trigger, loop items and simple variables. What it cannot know shows as Unknown with the reason, or derived from the real result.
Changed
- Action search: Copy as JSON also puts the action on the designer's My clipboard, so it can be pasted with Paste an action right away.
Cmd/Ctrl+Vin the My clipboard tab is only needed after a page reload or in another browser. - Action search: a click on a Find usages result opens the action and outlines every field that uses the action or variable in red for a moment: each field with
outputs('…'),body('…')orvariables('…'), also each row of a Condition, and the Name field of an action that sets or declares the variable. The header and the outlined fields are centered together, as far as they fit. - Action search: opening a card on the canvas while the panel is open selects that action in the panel too, in the middle of the list or outline. In the outline, the blocks folded around it unfold. Opening the panel selects the card that was opened last, while it is still open.
- Action search, outline: the blocks around search and Find usages results can be folded too. A new search starts with everything unfolded again, and the folds of the full outline are kept for when the search is cleared.
- The guide opens in the guide tab that is already open, at the right section, instead of in a new tab each time: from How it works and Guide in the settings window, Guide in the popup, the tour and "What's new". It glides to the topic and its card flashes briefly; the settings window stays in front.
- Format (and
Enter) now splits a call that has another function in it, also when it is short, as a code formatter does:json(replace('a', '/', '-'))goes over three lines. References such asvariables('a')andbody('x')?['y'], and a function of one constant such asstring('a'), count as values, soequals(variables('a'), 1)andequals(string('a'), string('b'))stay on one line. The outermost call with more than one argument is always split, soequals('a', 'b')on its own goes over four lines. A call without other functions in it is otherwise only split when its line doesn't fit in the editor, instead of past 50 characters, so in a wide editorequals(outputs('Compose_3'), outputs('Compose_3'))stays on one line too. - Panning the canvas no longer stops at the edge of the flow: it goes on for half the window past each edge, also when the flow is smaller than the window. Scrolling back removes the extra room.
Fixed
- The settings window and the guide now always open on the first click in the popup. When the extension's service worker was asleep, the popup closed before the message arrived, and only a second click worked.
- An open Condition with a group no longer has a header narrower than its rules after a page load. This is a bug in the classic designer itself, which measures the width only once, when the card opens.
- Themes: the box of a value in a flow run, such as the Expression result of a Condition, has round corners again. The value viewer inside it painted square corners over the border.
3.20.0
October 16, 2026
Added
- Animated GIFs on five cards of the tour (with the still picture for reduced motion, or with Animations off): the resize grips (the existing
resize-grips.gif), the nine themes in turn (themes.gif), a reference picked from Dynamic content into the expression (dynamic-content.gif), the action search (action-search.gif) and the JSON editor (json-editor.gif). The same GIFs replace the screenshots in the guide, and the guide's themes section also shows the nine looks in turn. - The "What's new" dialog is now for 3.20 and also mentions the animated tour and the new What's new button.
- What's new at the bottom of the popup and at the top of the guide opens the "What's new" dialog again at any time, not only once after an update. In Power Automate it opens on the page; elsewhere the guide opens and shows it there.
Changed
- The new GIFs move a drawn cursor with eased motion, type one character per frame and show real intermediate states; the JSON editor GIF now selects and deletes the Compose 2 action instead of changing a number.
dynamic-content.png,action-search.pngandjson-editor.pngare now a frame of the GIF of the same name (the guide's width and height attributes follow), so the still and the animation have the same size.
Fixed
- Switching designers could reload the page endlessly when Power Automate changed the
v3parameter back after each switch. The extension now stops after three switches of the same page within a few seconds and leaves the page as it is.
3.19.1
October 16, 2026
Fixed
- Clicking an expression (fx) token in a field no longer sometimes shows the wrong thing when a popup is already open (for example, after Escape in the expression editor, or when you click one token after another). The designer then opened the popup on Dynamic content without the expression, or kept the text of the previous expression in the editor, so OK would have stored that text in the clicked token. The extension now waits until the popup has settled and, if needed, gives the clicked token to the popup again or puts the right text in the editor (large expression editor only).
3.19.0
October 16, 2026
Added
- The "What's new" dialog is now for 3.19 and also lists panning with the middle button, keeping your place and the smoother popup and card closing.
- Keep your place (always on in the classic designer, no switch): after you click a card header to open or close it, the header stays at the same place on screen. Chrome already keeps the view still when a card opens, but not when a card closes near the end of the flow: the flow gets shorter and the header jumped down. The script scrolls by the difference in every frame for 1.2 s (also sideways, for a Condition or Switch that changes the width of the flow); when the flow is no longer long enough, it adds space below it until you scroll up. Wheel, touch, keys and a mouse press stop it, and so do Collapse all cards and the clicks of other scripts.
- Pan with middle button (always on in the classic designer, no switch): press the middle mouse button on the canvas and drag to scroll it in both directions, with a grabbing hand. The browser's autoscroll of the middle button is turned off while dragging. Not inside editors, fields, popups, dialogs, the action search panel and the JSON editor; a middle click without movement (such as on a link) works as before, and a drag does not open a link.
- An animated GIF of the resize grips in the guide and in the "What's new" dialog (a new "Resize the editor" card): the editor grows through its grip, then the popup grows through the popup grip, so the function list gets longer. With reduced motion on, both show a still picture instead.
- An animated GIF of Format and One line in the guide and on the "Format an expression" card of "What's new": the cursor selects Format and a long expression spreads over several lines, then One line puts it back. Again with a still picture for reduced motion.
- Animated GIFs of the outline and of Go to error in the guide and the "What's new" dialog, with a still picture for reduced motion.
- An Animations: on / off switch in the guide and in the dialog (on cards with a GIF), remembered with Chrome sync (
animationsOff); off shows the still pictures. - The theme card of "What's new" is a carousel: arrows step through a screenshot of each of the nine looks (Classic and eight new themes) with its name.
- With Smooth expand on, the dynamic content and expression popup fades and grows in (140 ms) when it opens; with the large editor it fades in together with the expression. Switching tabs does not replay it.
- With Smooth expand on, closing a card also animates: the body fades out and shrinks in 150 ms instead of vanishing (experimental,
smooth-collapse.js). Skipped for collapse all, a flow run, many cards at once, very tall cards and a Condition (its branches make the card as wide as the whole condition, and that width snaps shut when it closes, so an animation only delayed the jump). - A one-time hint next to the resize grip of the expression editor: "Drag this corner to make the editor bigger. Double-click resets it." It disappears for good after the first use of either grip, a double-click reset or its close button, and is remembered with Chrome sync (
resizeHintSeen).
Changed
- Opening an existing expression in a large flow no longer waits on the extension: the popup's position check (layout reads up the whole tree) now only runs when the popup is new, moved or resized instead of on every DOM change, and the observers of the expression editor, bracket colors and Format ignore Monaco's own DOM changes.
- The two resize grips of the expression popup are larger and purple (the accent of the chosen theme), stronger on hover and while dragging, so they are easier to find.
- The "What's new" card is now a dialog in the format of the tour, with a card per feature, dots, Next, Back and the arrow keys. It covers everything since 3.16.0, the version in the Chrome Web Store, so a user who skipped 3.17 sees all of it: themes (with the themed expression popup and the font of the action names), the outline and find usages, format expression, Go to error, and a list of the smaller things. Cards with a guide section have a Learn more link; the last card has Open the guide. It still shows once after an update, and never together with the tour.
- The tour and "What's new" dialog keep the same width and height on every card (fixed per window size), so paging no longer makes it jump.
- The guide has screenshots of Format an expression, Go to error and the action search Outline, which the "What's new" dialog shows too.
Fixed
- A double-click on a grip of the expression editor always resets the size at once; it sometimes only took effect after a reload.
- With a theme, the Name field of Initialize variable and other text fields in a card no longer have a square corner and a faint border: the square white input inside the field painted over the rounded border.
- In a large flow, clicking an existing expression no longer shows an empty expression editor for a few hundred ms before the expression appears: the popup now stays invisible until the editor is ready (at most 1.5 s), so both appear together.
- The bottom-right corner of the expression editor and the popup's resize grip no longer cut into the rounded corner: the popup grip sits 4 px in from its corner, and the editor grip never paints its top-left half.
- With a theme, the purple border of the expression editor now follows its rounded corner at the bottom right: the square Monaco box painted over the curve of the border, so the line seemed to stop before the corner. Monaco's box gets the inner radius. The editor's grip also sits 3 px in from the popup's edge and from the line under the editor, instead of touching both.
- Dragging a resize grip now behaves like resizing a window: the grip stays under the pointer and the popup's top-left corner stays put. The size is limited to the visible right and bottom edge of the window (the popup used to slide to the left when it hit the edge, so the grip ran ahead of the pointer and the size jumped). The drag is also lighter: one update per frame, set on the popup instead of on the whole page, and written to the page once on release.
3.18.0
October 15, 2026
Added
- The "What's new" card lists the new themes, the themed expression popup and the font previews.
- Five more themes for the classic designer, next to Classic, Modern, Minimal and Midnight: Nord (cool blue-grey, after the Nord palette), Sand (warm paper), High contrast (white cards with dark 2 px borders, no shadow, solid black arrows and strong selection and focus outlines), Compact (Modern with 36 px card headers and shorter arrows between the cards, so more of a flow fits) and Retro (square beveled grey cards on a teal canvas, like Windows 95). The theme tiles in the popup are now two rows that scroll sideways, with arrow buttons and a fade at the edge, so the popup keeps its height; the chosen tile is scrolled into view when the popup opens.
- The dynamic content and expression popup now follows the chosen theme: dark in Midnight, blue-grey in Nord, warm paper in Sand, 2 px dark borders in High contrast and square and beveled in Retro. The code editor inside stays white.
- Under Action names in the popup, every font and weight is shown in its own look, in the list and in the chosen value. In Chrome versions with a customizable select, the list is drawn by the popup, so this also works on macOS.
Fixed
- With a theme, a Condition branch that holds actions and the fields in it have rounded corners again: the designer makes such a branch a table with collapsed borders, which Chrome draws square. Closed combobox fields (a dropdown that also takes dynamic content, such as Child Flow) no longer have clipped corners, and neither do the values and operator of a Condition rule. The rules of an expanded Condition are rounded at the bottom, and Fluent fields such as Name and Type of Initialize variable get the same border as the other fields.
- Smooth expand in the popup has a little more room below Action names.
- Clicking the arrow buttons of the theme tiles no longer logs an aria-hidden focus warning.
3.17.1
October 15, 2026
Changed
- The "What's new" card has a fresher look in the purple of the themes: an icon for every item, a purple Got it button, softer corners and shadow, and a short fade-in (not with reduced motion).
- Items on the "What's new" card have a Learn more link that opens the guide at the matching section.
- The tour is bigger (a wider dialog and larger screenshots, text and buttons), so the screenshots are easier to read. On a small window the screenshot area shrinks first.
- The tour shows the new features: a Themes card with a screenshot, and format an expression, Go to error, Outline and quick rename in the list of small things. Its buttons use the purple of the themes.
- After a new install, the guide opens in a new tab with the tour at once, instead of waiting for the first flow. If that tab is closed before the tour, the tour still shows the first time a flow is open.
3.17.0
October 14, 2026
Added
- Action search: an Outline view, with the button at the top of the panel or
Alt+O. It shows the flow as a tree: the trigger and the actions in flow order, with the actions of a Scope, Apply to each, Do until, Condition (If yes and If no) and Switch (cases and Default) indented below it. The arrow before a block folds it in the outline only. A click or Enter goes to the action; Up, Down, Left and Right move and fold, as in a tree. Searching shows the matches and the blocks around them. In a run, each row has its status. The chosen view is remembered. - Action search: Find usages on a variable lists the actions that set it (Set, Increment, Decrement, Append to variable) and the ones that read it with
variables('name')anywhere in their definition, each tagged *sets* or *reads*. It works from Initialize variable and from the Set-type actions, which also list the Initialize variable. - Go to error: in a flow run with a failed action, a Go to error button in the command bar expands the blocks around the innermost failed action, opens it so its error shows, scrolls it into view and outlines it for a moment. With several failed actions, each next click goes to the next one. In a loop it does not switch the repetition. Has its own switch in the popup.
- Smooth expand: the contents of a card fade in with a small slide when you open it, in the classic designer. Only the opacity and position of the card body change, for 150 ms; closing is not animated, and the animation is off when the system is set to reduce motion. Has its own switch in the popup, in the Theme card.
- Format expression: Format and One line buttons next to OK/Update in the expression editor put the expression over several lines, with one indent step per nested call and short calls on one line, or back on one line.
Cmd/Ctrl+Shift+Ftoggles it, andCmd/Ctrl+Zundoes it. Only white space outside strings changes, and OK/Update put the expression back on one line first. Has its own switch in the popup. - Font of the action names: under Action names in the popup, choose the font (Default, System, Inter, Roboto, Open Sans, Montserrat, Poppins, Serif or Mono) and the weight (Default, Regular, Semibold or Bold) of the names on the cards, with or without a theme.
- Quick rename and note: a pencil and a note button after the name of a card, shown when you point at the card, rename the action or add or edit its note in one click, instead of through the card menu. Turn them off with Quick rename and note in the popup.
- Themes for the classic designer, chosen under Theme in the popup: Classic (the designer as Microsoft made it, the default), Modern (rounded cards with a soft shadow on a dotted canvas), Minimal (flat white cards with a small icon) and Midnight (light cards on a dark canvas).
- Themes: with a theme active, the dynamic content and expression popup gets the same softer look as the cards: rounded corners, a soft shadow and no arrow, purple underlined tabs, a rounded search field, calm list items, a lightly framed expression editor and a filled purple OK or Update button, with outlined Format and One line buttons. The popup stays light in every theme, and Classic is unchanged. It has no setting of its own.
Changed
- With the small expression editor (Large expression editor off), the Function | Dynamic content switch, its search box and the Format and One line buttons are left out, so the picker works as Microsoft made it. Folding the environment variables stays.
- A larger popup with two columns: the designer and the theme on the left, the classic designer switches on the right.
- The popup's links wrap to a second line when they don't fit, instead of running off the edge.
- Chrome Web Store text: the tour, the guide and the faster dynamic content popup.
Fixed
Tabin the tour stays on the tour's buttons instead of moving to the page behind it.
3.16.0
October 14, 2026
Added
- A tour of the main features, one card at a time, the first time a new user opens a flow. Skip closes it; the last card opens the guide. Tour in the popup shows it again.
- A guide that explains every feature, with steps and a screenshot. Open it with Guide in the popup, at the end of the tour, or on the "What's new" card.
- Take the tour on the "What's new" card, so existing users can see the tour too.
Changed
- Faster rendering also opens the dynamic content popup faster: after a click in a field it appears after about 50 ms instead of 300 ms. The designer waited 250 ms before passing the click on to the popup.
- The Expression tab opens faster the first time: the extension loads its editor in the background once a flow is open. In a large flow, the editor was ready after 85 ms instead of 232 ms.
- Function | Dynamic content remembers your last choice for the next time you open Expression.
Fixed
- The expression editor is also loaded ahead when the flow opens in a background tab.
- The dynamic content popup is as high on the Expression tab as on the Dynamic content tab, so it no longer jumps when you switch tabs. The function list is 32 pixels shorter for it.
3.15.0
October 13, 2026
Added
- A resize grip for the whole dynamic content popup, in its bottom-right corner. It changes the width and the height of the popup on both tabs; the lists follow, the editor keeps its height. Reset size or a double-click resets it.
- A × in the dynamic content search box of the expression editor clears the search.
- Function | Dynamic content below the expression editor, like in the modern designer. The tab at the top stays on Expression, and items from Dynamic content go into the expression.
Changed
- The Dynamic content tab at the top always puts items in the field itself, also when the editor has text. A typed expression stays when you go back to Expression.
- Environment variables are folded in the dynamic content list, so the outputs of your actions are no longer below hundreds of variables. Click the header to show them. A search still finds them. Part of the Dynamic content search switch.
3.14.1
October 13, 2026
Changed
- Faster rendering is on by default. If you changed the switch yourself, your choice stays.
3.14.0
October 13, 2026
Added
- JSON editor.
- JSON in the command bar edits the definition of the whole flow.
- Edit JSON in the menu of a card edits one action or trigger.
- Apply loads the JSON into the open designer without saving. Undo in the command bar reverts it.
- The editor is Monaco: it folds objects and arrays, and has find and replace and error markers.
- Invalid JSON is not applied. The editor names the line and column of the error and selects it.
- JSON editor switch in the popup, and a JSON editor row in Check features.
Changed
- Copy as JSON in the action search copies an action in the shape that My clipboard of Add an action can paste with
Cmd/Ctrl+V, also in another flow. - Action search:
- the resize handle has a grip;
- messages slide in and out instead of moving the list abruptly;
- an open search fills itself when the flow finishes loading, and follows changes to the flow.
Fixed
- After Find usages, clearing the search selects that action again.
3.13.0
October 13, 2026
Added
- Action search:
- Find usages and Copy as JSON per result;
- Flow JSON for the whole definition;
- replace text in parameters, with a confirmation and its own Undo;
- a clear button in the search box.
- The action search also works in flow runs, with the run status of each action and Failed and Skipped filters.
- Check features in the popup shows which features work on the open flow.
- Unit tests for bracket parsing and the action search (
node --test).
3.12.0
October 7, 2026
Added
- Action search:
- looks inside actions: every parameter value and, below inputs, the keys too, also in collapsed blocks and with unsaved edits;
- a match in a parameter is shown with the match highlighted;
- Aa (or Alt/Option+C) matches case, and a phrase in double quotes is searched as a whole;
- All, Names and Parameters choose where the search looks;
- drag the left edge of the panel to resize it. Double-click restores the default width;
- width, scope and Match case are remembered.
3.11.0
October 5, 2026
Added
- Faster rendering (beta, off by default): cards that did not change are redrawn a moment later instead of on every click. With 70 open cards, a click in a field went from 1.0–1.7 s to 0.3–0.6 s.
- Safe save: Save and
Cmd/Ctrl+Sfirst let the designer process the field you just edited. - Collapse all cards with
Alt+Shift+C.
3.10.0
October 2, 2026
Added
- A dragged card can be dropped before the first action of a loop, scope, condition branch or switch case.
3.9.0
October 2, 2026
Added
- Bracket colors in the expression editor:
- each nesting level gets its own color;
- the bracket at the cursor and its partner get a box;
- a bracket without a partner is red.
3.8.2
October 2, 2026
Added
- A one-time What's new card after an update.
Fixed
- The insert button above the first action no longer shows in read-only designers, such as a flow run.
3.8.1
October 2, 2026
Fixed
- Action search:
- the search box stays inside the panel;
- the Search button is never gray;
- a chosen action is centered in the visible part of the canvas.
3.8.0
October 2, 2026
Added
- Action search: the Search button and
Alt+Shift+Flist every action of the flow, also inside collapsed blocks, and jump to the one you choose.
3.7.0
October 2, 2026
Added
- A switch per classic designer feature in the popup.
Changed
- Dynamic content search also works before anything is typed, when you come from the Expression tab.
3.6.0
October 2, 2026
Added
- Insert a step before the first action inside Apply to each, Do until, Scope, a condition branch or a switch case.
3.5.0
October 2, 2026
Added
- A resize grip for the large expression editor. The size is synced with Chrome. You can reset it in the popup, or by double-clicking the grip.
Fixed
- The dynamic content popup stays clear of the canvas scrollbar.
3.4.1
October 2, 2026
Fixed
- The first
Cmd/Ctrl+Enterno longer reports a valid expression as invalid.
3.4.0
October 1, 2026
Changed
- The large expression editor option is grayed out while the modern designer is selected.
3.3.0
October 1, 2026
Added
- Larger expression editor with word wrap.
- Search box for dynamic content while editing an expression.
Cmd/Ctrl+Enterpresses OK or Update.- Shortcuts to switch the designer (
Alt+Shift+D) and to turn the large editor on or off (Alt+Shift+X).
3.0.0
October 1, 2026
- First version in this repository: switch between the classic and modern designer.