Claude Prompt Library

Claude Prompts for Power Automate

35 copy-paste prompts

35 copy-paste prompts that turn Claude into the flow architect you do not have. Paste a process, a failed run's JSON, or a sample API response, and Claude gives back the trigger condition, the Parse JSON schema, the OData filter, and the expression string you paste straight into the designer.

In short: This page contains 35 copy-paste ready prompts, organized into 5 categories with a description and pro tip for each. The first 5 prompts are free instantly, no signup needed. Hand-curated and tested by the AI Academy team.

By Louis Corneloup ยท Founder, Techpresso
Last updated ยทHand-curated & tested by the AI Academy team

Flow Design & Triggers

7 prompts

Flow Blueprint From a Manual Process

1/35

<context>I am automating a manual process in Power Automate. Here is how the team does it today, step by step: [PASTE THE PROCESS: who does what, in which system, in what order, with which approvals]. Environment: [SHAREPOINT / DATAVERSE / OUTLOOK / TEAMS / SQL].</context> <task>Design the flow before I build it. Pick the trigger, list every action in order, name the connectors, and flag the steps that cannot be automated and must stay manual.</task> <format>1. Trigger (type, connector, why) 2. Numbered action list with connector and action name for each 3. Variables to initialize at the top and their types 4. Steps that stay manual, with the reason 5. Premium connector warnings 6. Build order so I can test incrementally</format>

Turns a written process into a build-ready flow plan: trigger, ordered actions, connectors, variables, and what to leave manual.

๐Ÿ’ก

Pro tip: Ask for the build order explicitly. Building a 30-action flow top to bottom means you only discover the broken trigger at the end. Claude will sequence it so every stage is testable on its own.

Trigger Choice and Trigger Condition

2/35

<context>Scenario: [DESCRIBE WHAT SHOULD START THE FLOW]. Source: [SHAREPOINT LIST / OUTLOOK MAILBOX / FORMS / DATAVERSE TABLE / HTTP]. It must NOT fire when: [LIST THE CASES YOU WANT TO SKIP]. Available columns or fields: [PASTE THE LIST].</context> <task>Recommend the right trigger, then write the trigger condition expression that filters out the unwanted runs at the trigger itself instead of burning a run on a Condition action.</task> <format>1. Recommended trigger and the two runners-up with trade-offs 2. Trigger condition expression, ready to paste in Settings, in a code block 3. Plain English translation of that expression 4. Where exactly to paste it (Settings, Trigger Conditions) 5. Two test cases: one that should fire, one that should not</format>

Picks the correct trigger and writes the trigger condition expression that stops unwanted runs before they consume quota.

๐Ÿ’ก

Pro tip: Trigger conditions are the cheapest filter in Power Automate. A run skipped at the trigger costs nothing against your daily action limit. A run that starts and hits a Condition action still counts.

Recurrence Schedule With Business Day Logic

3/35

<context>I need a scheduled flow that runs [FREQUENCY], but only on business days in [TIME ZONE], skipping weekends and this holiday list: [PASTE DATES]. Downstream actions: [DESCRIBE BRIEFLY].</context> <task>Give me the Recurrence trigger configuration plus the trigger condition or first-step expression that exits cleanly on non-business days.</task> <format>1. Recurrence settings: interval, frequency, time zone, at these hours, on these days 2. Expression for the weekend and holiday check, in a code block 3. Where to put it: trigger condition versus a Terminate action, with the recommendation 4. How to store the holiday list so it survives next year 5. Daylight saving trap to check</format>

Produces a recurrence configuration and the expression that skips weekends and holidays without a failed run.

๐Ÿ’ก

Pro tip: Terminate with status Succeeded, not Failed, when the flow simply has nothing to do. Failed runs trigger owner emails and pollute the analytics you use to spot real breakage.

Infinite Loop Prevention Check

4/35

<context>My flow triggers on [WHEN AN ITEM IS CREATED OR MODIFIED / SIMILAR] and later updates the same [LIST / TABLE], which re-triggers it. Flow summary: [PASTE THE ACTION LIST]. Service account or connection owner: [NAME OR EMAIL].</context> <task>Diagnose the loop and give me every viable way to break it, ranked by reliability, with the exact expression for the option you recommend.</task> <format>1. Where the loop closes, action by action 2. Options ranked: trigger condition on Editor, a status column flag, a dedicated flag column, unchanged-column check 3. Recommended option with the exact trigger condition expression in a code block 4. What to clean up in existing data before turning it back on 5. How to confirm the loop is gone in run history</format>

Finds the self-triggering loop and returns the trigger condition or flag pattern that breaks it.

๐Ÿ’ก

Pro tip: Filtering on the Editor field only works if the flow writes with a different account than the humans. If everyone uses the same service account, ask Claude for the flag column pattern instead.

Connector and Licensing Map

5/35

<context>The flow needs to touch these systems: [LIST THE SYSTEMS AND WHAT IT DOES IN EACH]. Our licensing: [MICROSOFT 365 ONLY / PER USER PREMIUM / PER FLOW PLAN / NOT SURE].</context> <task>Map each step to a connector, mark which ones are premium, and give me a standard-connector workaround for every premium dependency so I can price the flow before building it.</task> <format>1. Table: step, connector, action, standard or premium 2. Premium dependencies with the licensing implication in one line each 3. Standard-only workaround for each premium item, and what you lose by taking it 4. Total verdict: can this run on Microsoft 365 licensing alone, yes or no 5. Questions to ask our admin before building</format>

Maps every flow step to a connector, flags premium licensing, and supplies standard-connector workarounds.

๐Ÿ’ก

Pro tip: The HTTP action is premium, but many APIs are also reachable through a standard connector's built-in actions. Ask Claude for that alternative before you commit to a per-user premium license.

Split a Monolith Into Child Flows

6/35

<context>I have one flow with roughly [NUMBER] actions doing several jobs. Here is what it does end to end: [PASTE THE ACTION LIST OR A DESCRIPTION]. It is slow to edit, slow to test, and every change risks the whole thing.</context> <task>Decompose it into a parent flow plus child flows. Define the input and output contract for each child so I can build them independently.</task> <format>1. Proposed split with a one-line responsibility per flow 2. For each child: trigger type, input parameters with types, response body fields 3. Parent orchestration order and what it does with each response 4. What must live in a solution for child flows to work 5. Migration order so the flow keeps running while I refactor</format>

Breaks a bloated flow into a parent plus child flows with explicit input and output contracts.

๐Ÿ’ก

Pro tip: Child flows need the manually-triggered-flow trigger and a Respond to a Power App or Flow action, and both parent and child must sit in the same solution. Have Claude spell out the response schema so the parent parses it cleanly.

Naming Convention and Environment Plan

7/35

<context>Here is our current flow inventory: [PASTE FLOW NAMES, OWNERS, AND WHAT THEY DO]. Team size: [NUMBER]. Environments available: [DEFAULT ONLY / DEV, TEST, PROD].</context> <task>Write a naming convention and an environment and solution strategy that a non-technical team will actually follow, then rename my existing flows to match.</task> <format>1. Naming pattern with the reasoning, in one line 2. Three worked examples of the pattern 3. Table: current flow name, proposed name 4. Solution and environment layout, with what belongs where 5. Ownership rules: who owns connections, what happens when someone leaves 6. One-paragraph policy text I can paste into our wiki</format>

Delivers a flow naming convention, an environment layout, and a rename table for the flows you already have.

๐Ÿ’ก

Pro tip: The real risk is a flow owned by someone who left the company: its connections die with the account. Ask Claude to include a service-account ownership rule, not just naming.

XML tags are just the start. Learn the full Claude workflow.

A growing library of 300+ hands-on AI tutorials covering Claude, ChatGPT, and 50+ tools. New tutorials added every week.

Start 7-Day Free Trial

Approval Workflows

7 prompts

Multi-Stage Approval Blueprint

8/35

<context>Our approval policy, verbatim: [PASTE THE POLICY: thresholds, approver roles, sequence, what happens on rejection]. The request arrives via [FORM / SHAREPOINT LIST / EMAIL].</context> <task>Turn the policy into a flow design. Specify each approval stage, the approval type, what happens on approve and on reject at every stage, and where the record is written.</task> <format>1. Stage table: stage, approver source, approval type (first to respond, everyone must approve, custom responses), timeout 2. Approve path and reject path per stage 3. Data written back at each transition, with the field names 4. Where a Condition is needed versus a Switch 5. Policy gaps you found, phrased as questions for the process owner</format>

Converts a written approval policy into a staged flow design with explicit approve, reject, and write-back paths.

๐Ÿ’ก

Pro tip: Ask for the policy gaps. Most written approval policies are silent on what happens when the approver is the requester, and that ambiguity becomes a stuck flow in week two.

Threshold-Based Approver Routing

9/35

<context>Routing rules: [PASTE THE AMOUNT BANDS AND WHO APPROVES EACH]. Requester attributes available in the flow: [LIST FIELDS: amount, department, cost center, requester email]. Approver directory lives in: [SHAREPOINT LIST / AZURE AD / HARDCODED].</context> <task>Write the routing logic. Give me a Switch or nested Condition structure plus the expression that resolves the approver email dynamically instead of hardcoding names.</task> <format>1. Recommended structure: Switch, nested Conditions, or a lookup table, with the reason 2. Expression that resolves the approver email, in a code block 3. OData filter query for the approver lookup, if a list is used 4. Fallback when no approver matches, so the flow never sends to an empty address 5. How to change bands later without editing the flow</format>

Builds threshold routing with a dynamic approver lookup expression and a safe fallback for unmatched requests.

๐Ÿ’ก

Pro tip: Push the bands into a SharePoint list rather than into Condition actions. Finance changes thresholds far more often than you want to open the designer, and a list edit needs no flow republish.

Approval Adaptive Card JSON

10/35

<context>I want the approval to happen inside Teams with an adaptive card. Data available at that point in the flow: [LIST THE FIELDS AND SAMPLE VALUES]. Actions the approver needs: [APPROVE / REJECT / REQUEST INFO / OTHER].</context> <task>Write the complete Adaptive Card JSON for the Post adaptive card and wait for a response action, using dynamic content placeholders where my flow data goes.</task> <format>1. Full card JSON in a code block, schema version 1.4 or lower 2. Table of every placeholder in the JSON and which flow field replaces it 3. Which action outputs to read for the response, and the expression to read the chosen action 4. How the card should render after a response 5. Two rendering pitfalls on mobile Teams to check before shipping</format>

Generates paste-ready Adaptive Card JSON for a Teams approval, plus the expressions that read the response.

๐Ÿ’ก

Pro tip: Keep the schema at 1.4 or below. Teams lags behind the Adaptive Cards spec, and a card that previews fine in the designer can render blank in the Teams mobile client.

Reminder and Escalation Pattern

11/35

<context>Approvals stall. SLA: [HOURS OR DAYS] to first response, then escalate to [ROLE]. Business hours: [HOURS AND TIME ZONE]. Current flow after the approval action: [DESCRIBE].</context> <task>Design the reminder and escalation pattern, including the expression that computes the SLA deadline in business hours and the loop structure that chases without spamming.</task> <format>1. Structure: parallel branch, Do Until, or Delay Until, with the recommendation and why 2. Expression computing the deadline, in a code block 3. Reminder cadence and the exact wording of reminder one and reminder two 4. Escalation trigger point and who gets notified 5. How to stop the reminder loop the moment the approval lands 6. Flow run duration limits that could bite on long SLAs</format>

Produces the SLA deadline expression plus the reminder and escalation structure that stops cleanly on response.

๐Ÿ’ก

Pro tip: A Do Until with a short delay burns actions fast on a multi-day SLA. Ask Claude to compare it against Delay Until with a computed timestamp, which costs a single action no matter how long the wait.

Approval Request Email HTML

12/35

<context>Approvers say the request emails are unreadable. Fields I can include: [LIST THEM WITH SAMPLE VALUES]. The approver needs to decide from the email alone, without opening the source system.</context> <task>Write the HTML body for the Send an email (V2) action: a summary block, a details table, and the decision links, using placeholders for my dynamic content.</task> <format>1. Complete HTML in a code block, inline CSS only 2. Placeholder table: token in the HTML, flow field that replaces it 3. Subject line pattern that stays scannable in a phone notification 4. Which fields to show above the fold and which to push to the table 5. Two Outlook rendering constraints this HTML respects</format>

Writes inline-CSS HTML for approval emails so approvers can decide without opening another system.

๐Ÿ’ก

Pro tip: Outlook desktop strips most modern CSS. Ask for table-based layout with inline styles only, and never rely on flexbox or grid in an email your CFO reads on a laptop.

Delegation and Out-of-Office Handling

13/35

<context>Approvals stall when the approver is away. What we have: [DESCRIBE ANY DELEGATION LIST, OOF CALENDAR, OR NOTHING]. Approver directory: [WHERE IT LIVES]. Compliance requirement: [WHO MAY DELEGATE TO WHOM, IF ANY].</context> <task>Design delegation handling: how the flow decides the approver is unavailable, who it routes to instead, and how the audit trail records that a delegate acted.</task> <format>1. Availability signal options ranked by reliability, with the caveat on each 2. Delegation table schema: columns, types, sample rows 3. Lookup expression and OData filter query to resolve the active delegate, in code blocks 4. Audit fields written when a delegate approves 5. Guard against a delegation chain looping back to the original approver</format>

Designs delegate routing with a delegation table, resolution expression, and an audit trail that names the delegate.

๐Ÿ’ก

Pro tip: Record both the intended approver and the actual approver on the record. Auditors ask who was supposed to sign off, not just who clicked the button.

Approval Audit Log Schema

14/35

<context>We need every approval decision logged for audit. Systems in play: [LIST]. Retention requirement: [DURATION]. Fields currently captured: [LIST OR NONE].</context> <task>Design the audit log table and give me the Compose expressions that populate each field from the approval action outputs.</task> <format>1. Column schema: name, type, required, example value 2. Expression per column pulling from the approval outputs, in code blocks 3. Where in the flow each write happens 4. What to capture on timeout and on flow failure, not just on approve and reject 5. Retention and archival approach for the stated duration 6. Three questions an auditor will ask that this schema answers</format>

Specifies an approval audit table and the exact expressions that fill each column from approval outputs.

๐Ÿ’ก

Pro tip: Log the timeout and failure cases too. An audit trail that only records successful decisions cannot explain the request that quietly disappeared, which is exactly the one you will be asked about.

Data Sync & Integrations

7 prompts

Parse JSON Schema From a Sample Response

15/35

<context>Here is a real response from the API I am calling, with values anonymized: [PASTE THE FULL JSON]. Some fields are sometimes null or missing entirely: [LIST THEM, OR SAY NOT SURE].</context> <task>Generate the schema for the Parse JSON action, hardened so a null value does not break the run, and tell me which dynamic content tokens I will get afterwards.</task> <format>1. Complete schema JSON in a code block, ready to paste into Parse JSON 2. Nullable handling: which types you widened and why 3. Table of the dynamic content tokens this schema exposes, with the path for each 4. Expression to reach a nested value without Parse JSON, as a fallback 5. What to do when the API adds a field later</format>

Turns a sample API response into a paste-ready Parse JSON schema that tolerates nulls and missing fields.

๐Ÿ’ก

Pro tip: The Use sample payload button generates a schema where every field is required, so one null value fails the whole action. Have Claude widen the types to arrays like string and null, and drop the required block.

HTTP Action Configuration From API Docs

16/35

<context>API documentation extract: [PASTE THE ENDPOINT, METHOD, AUTH SCHEME, REQUIRED HEADERS, AND BODY EXAMPLE]. What I need the call to do: [DESCRIBE]. Auth material I hold: [API KEY / OAUTH CLIENT / BEARER TOKEN].</context> <task>Fill in the HTTP action for me: method, URI with encoded parameters, headers, and body, then tell me how to store the secret so it is not sitting in plain text inside the flow.</task> <format>1. Method and full URI, with query parameters shown separately 2. Headers table: key, value, and where the value comes from 3. Request body JSON in a code block 4. Secret storage options ranked: environment variable, Azure Key Vault, connection reference 5. Expected success response shape and the status codes to expect on failure 6. How to test the call before wiring it into the flow</format>

Converts API documentation into a filled-in HTTP action with headers, body, and a secret storage recommendation.

๐Ÿ’ก

Pro tip: Never type an API key into the HTTP action's header field. It gets exported with the flow definition and shows up in run history inputs. Ask Claude for the environment variable or Key Vault pattern instead.

Field Mapping Table Between Two Systems

17/35

<context>Source schema: [PASTE COLUMN NAMES, TYPES, AND SAMPLE VALUES]. Destination schema: [PASTE THE SAME]. Direction: [ONE WAY / TWO WAY]. Fields that must never be overwritten: [LIST].</context> <task>Build the field mapping and write the transformation expression for every field where the types or formats do not line up.</task> <format>1. Mapping table: source field, destination field, transform needed, expression 2. Unmapped source fields and unmapped destination fields, each with a recommendation 3. Type mismatch list: choice to text, date to string, lookup to id, with the expression for each 4. Fields to skip on update to protect the do-not-overwrite list 5. Three rows of worked example data going through the mapping</format>

Produces a full source-to-destination field map with a transformation expression for every mismatched type.

๐Ÿ’ก

Pro tip: Choice and lookup columns are where these syncs break. A SharePoint choice column expects a plain string, a lookup expects an id, and a person field expects a claims value. Ask Claude to name the exact shape per column type.

Duplicate Prevention Key and Filter Query

18/35

<context>My sync creates duplicates when it reruns. Records look like: [PASTE A SAMPLE RECORD WITH FIELD NAMES]. Destination: [SHAREPOINT LIST / DATAVERSE TABLE / SQL]. Fields that together identify a record uniquely: [LIST, OR SAY NOT SURE].</context> <task>Define the dedupe key, write the OData filter query that checks for an existing record, and give me the upsert branch structure.</task> <format>1. Recommended dedupe key and why those fields 2. Expression building the key value, in a code block 3. OData filter query string for Get items, in a code block, with special characters escaped 4. Condition expression that decides create versus update 5. Which destination column must be indexed for this filter to work at volume 6. How to clean up the duplicates already in there</format>

Defines a dedupe key with the OData filter query and condition logic for a proper upsert branch.

๐Ÿ’ก

Pro tip: SharePoint refuses to filter on an unindexed column once the list passes 5000 items, and the error is misleading. Add the index on the dedupe column before the list grows, not after the flow starts failing.

CSV or Excel Ingestion Plan

19/35

<context>A file lands in [SHAREPOINT LIBRARY / ONEDRIVE / EMAIL ATTACHMENT] on a [FREQUENCY] basis. Header row and two sample rows: [PASTE THEM]. Typical size: [NUMBER OF ROWS]. Destination: [WHERE THE ROWS SHOULD GO].</context> <task>Design the ingestion flow. Cover how the rows get parsed, how bad rows are handled, and how the flow behaves when the same file arrives twice.</task> <format>1. Parsing approach recommendation: Excel connector table, split expressions, or Office Scripts, with the trade-off on each 2. If split is used, the expressions that produce the row array and the field array, in code blocks 3. Row validation rules derived from my sample, and what happens to a row that fails 4. Reprocessing behavior when the same filename arrives again 5. Volume ceiling of this design and what to change above it 6. Where to write the rejected rows so someone can fix them</format>

Plans file ingestion end to end: parsing method, row validation, reject handling, and reprocessing behavior.

๐Ÿ’ก

Pro tip: The Excel connector needs a real named table, not just a sheet of data, and it silently fails on files that other people have open. Ask Claude for the split-expression fallback so the flow does not depend on user discipline.

Batching and Throttling Strategy

20/35

<context>The sync processes about [NUMBER] records per run and keeps hitting throttling or timing out. Connectors used: [LIST]. Current structure: [DESCRIBE THE LOOP AND WHAT HAPPENS INSIDE IT]. Run duration today: [TIME].</context> <task>Rework it for volume. Cover pagination, loop concurrency, batching, and where a delay is genuinely needed rather than cargo cult.</task> <format>1. Where the current design breaks, action by action 2. Pagination settings to turn on and the threshold to set 3. Concurrency recommendation per loop, with the number and the reason 4. Batching approach and the expression that chunks the array, in a code block 5. Retry policy settings per action: type, count, interval 6. Expected run time after the changes, with the assumption behind the estimate</format>

Rebuilds a slow or throttled sync with pagination, concurrency, chunking, and per-action retry settings.

๐Ÿ’ก

Pro tip: Raising loop concurrency to 50 feels like the fix and often makes throttling worse, because the connector limit is per connection, not per loop. Ask for the connector's documented limit first, then set concurrency under it.

Delta Sync Instead of Full Refresh

21/35

<context>Today the flow reads every record every run: [DESCRIBE THE CURRENT APPROACH AND THE RECORD COUNT]. Source system: [NAME]. Available timestamp or version fields: [LIST, OR SAY NOT SURE]. Deletions in the source: [HARD DELETE / SOFT DELETE / NEVER].</context> <task>Convert it to a delta sync. Tell me what watermark to store, where to store it, and how to handle records deleted at the source.</task> <format>1. Watermark field choice and why, with the risk if the source clock drifts 2. Storage options for the watermark, ranked, with the failure mode of each 3. OData filter query using the watermark, in a code block 4. Expression that updates the watermark only after a successful run, in a code block 5. Deletion handling strategy for my case 6. Recovery plan for a missed window, so nothing is silently skipped</format>

Converts a full-refresh sync to a watermark-based delta sync, including deletion handling and gap recovery.

๐Ÿ’ก

Pro tip: Update the watermark at the end of the run, never at the start. If the flow fails halfway with the watermark already moved, those records are skipped forever and nobody notices until a quarterly reconciliation.

These prompts give you the what. Tutorials give you the why.

Learn when to use extended thinking, how to build Claude Projects, and workflows that compound. 300+ tutorials and growing.

Try AI Academy Free

Expressions & Conditions

7 prompts

Plain English to Workflow Expression

22/35

<context>I need an expression that does this: [DESCRIBE THE LOGIC IN PLAIN ENGLISH]. The input comes from [ACTION NAME AND FIELD], and a sample value looks like: [PASTE ONE]. Expected output: [DESCRIBE OR SHOW].</context> <task>Write the Power Automate expression. This is Workflow Definition Language, not Excel and not JavaScript, so use only functions the designer accepts.</task> <format>1. The expression in a code block, one line, ready to paste 2. Broken into parts, one line of explanation per function used 3. What it returns for my sample value 4. Two edge cases where it returns something unexpected 5. A simpler alternative if my logic can be restructured to avoid nesting</format>

Translates plain English logic into a valid single-line Workflow Definition Language expression.

๐Ÿ’ก

Pro tip: Say the sample value out loud in your prompt. Half of all expression bugs are type bugs: the field you thought was a number arrives as a string, and Claude cannot see that unless you paste the actual value.

Date, Time Zone, and Business Day Expressions

23/35

<context>Time zone of the users: [ZONE]. Time zone the data arrives in: [ZONE OR UTC]. I need: [LIST WHAT YOU NEED, for example due date three business days out, month end, age of a record in hours, formatted display date].</context> <task>Give me a pack of ready expressions for each item, with the display format spelled out and daylight saving handled.</task> <format>1. One code block per requirement, each labelled 2. Format string used and what it renders, for each display expression 3. Windows time zone id to use in convertTimeZone, exact string 4. Daylight saving trap that applies to my zones 5. Which of these belong in a Compose action rather than inline, and why</format>

Delivers a labelled pack of date, time zone, and business day expressions with correct format strings.

๐Ÿ’ก

Pro tip: convertTimeZone wants the Windows time zone id, not the IANA one. It is Romance Standard Time, not Europe/Paris, and the error message when you get it wrong does not tell you that.

Null-Safe Expression Rewrite

24/35

<context>This expression fails when a field is empty or missing: [PASTE THE EXPRESSION]. Error message: [PASTE IT]. The data sometimes looks like: [PASTE A RECORD WITH THE FIELD PRESENT AND ONE WITHOUT IT].</context> <task>Rewrite it so a missing property or a null value returns a sensible default instead of failing the run.</task> <format>1. Why the original fails, in one sentence 2. Null-safe rewrite in a code block 3. Which technique you used: coalesce, empty, the question mark accessor, or a Condition, and when each is right 4. Default value choice and its downstream impact 5. Everywhere else in a flow this same pattern usually needs applying</format>

Rewrites a fragile expression to survive missing properties and nulls, with the right technique explained.

๐Ÿ’ก

Pro tip: The property cannot be evaluated error means the key is absent, not that the value is null, and coalesce alone will not save you. You need the question mark accessor to reach into the object safely first.

OData Filter Query Builder

25/35

<context>Source: [SHAREPOINT LIST / DATAVERSE TABLE] named [NAME]. Columns with their internal names and types: [PASTE THEM]. I want to retrieve only records where: [DESCRIBE THE CRITERIA IN PLAIN ENGLISH].</context> <task>Write the Filter Query string for the Get items or List rows action, using internal column names, correct literal syntax per type, and dynamic values where my flow supplies them.</task> <format>1. Filter Query string in a code block, ready to paste 2. Column by column: internal name used, type, literal syntax rule applied 3. Dynamic parts shown as expressions, in code blocks 4. Operators this source does not support, and the workaround for each 5. Indexing requirement to make this query survive a large list 6. How to test the query fast without running the whole flow</format>

Writes a correct OData Filter Query with internal column names, type-correct literals, and dynamic values.

๐Ÿ’ก

Pro tip: SharePoint internal names are not display names. A column shown as Due Date is DueDate or, worse, Due_x0020_Date. Get the internal name from the list settings URL before you write a single filter.

Collapse Nested Conditions Into One Expression

26/35

<context>My flow has [NUMBER] nested Condition actions and it has become unreadable. Here is the logic: [PASTE THE CONDITION TREE OR DESCRIBE EACH BRANCH AND ITS OUTCOME].</context> <task>Collapse it. Show me which branches merge into a single expression, which belong in a Switch, and which must stay as separate Conditions because they gate different actions.</task> <format>1. Truth table of the current logic, so we agree on what it does 2. Redundant or unreachable branches you found 3. Collapsed expression in a code block for the branches that merge 4. Switch structure for the branches that fit one, with the case values 5. Conditions that must stay separate, and why 6. Before and after action count</format>

Refactors a nested Condition tree into merged expressions and a Switch, with a truth table to verify equivalence.

๐Ÿ’ก

Pro tip: Ask for the truth table first and read it before touching the flow. It is the fastest way to discover that one branch has been unreachable since 2024 and nobody noticed.

String Parsing and Extraction Expressions

27/35

<context>I need to pull values out of text. Sample inputs, three of them showing the variation: [PASTE THEM]. What I need extracted: [DESCRIBE EACH VALUE]. The format is [ALWAYS CONSISTENT / SOMETIMES VARIES, describe how].</context> <task>Write the extraction expression for each value using split, substring, indexOf, replace, and the array functions, and make each one fail gracefully when the pattern is absent.</task> <format>1. One labelled code block per extracted value 2. What each returns for all three of my samples 3. Guard clause added for the case where the marker is missing 4. Ranking of which extractions are fragile and why 5. When to stop and use Parse JSON or an AI Builder action instead of string surgery</format>

Builds split, substring, and indexOf extraction expressions with guards for inputs that break the pattern.

๐Ÿ’ก

Pro tip: substring throws a hard error when the start index exceeds the string length, and indexOf returns minus one when the marker is missing. Chain them without a guard and one odd email subject kills the run.

Array Filter, Select, and Aggregate Expressions

28/35

<context>I have an array in the flow that looks like this: [PASTE THE JSON ARRAY, THREE ITEMS IS ENOUGH]. What I need: [DESCRIBE, for example keep only rows over 1000, reshape to two fields, sum a column, count by category, find the max].</context> <task>Give me the expressions and the Data Operations actions that do this without an Apply to each loop.</task> <format>1. Recommended approach per requirement: Filter array, Select, or a pure expression 2. Code block for each, showing the exact configuration or expression 3. Sum, count, and max expressions using the array functions rather than a loop and a variable 4. Result each one returns on my sample array 5. Action count saved compared with an Apply to each loop 6. Where this approach stops scaling and a loop becomes unavoidable</format>

Replaces Apply to each loops with Filter array, Select, and aggregate expressions that run in a single action.

๐Ÿ’ก

Pro tip: An Apply to each over 500 rows costs 500 actions against your daily limit. Filter array plus Select costs two. On high-volume flows this single change is the difference between fitting the license and blowing through it.

Error Handling & Debugging

7 prompts

Failed Run Diagnosis From Raw JSON

29/35

<context>A run failed. Here are the raw inputs of the failing action: [PASTE THE JSON]. Here are the raw outputs including the error: [PASTE THE JSON]. What the action is supposed to do: [DESCRIBE]. It worked until: [WHEN, OR SAY IT NEVER WORKED].</context> <task>Diagnose the root cause from the payloads, not from guesswork, and give me the specific fix.</task> <format>1. Root cause in one sentence 2. The exact evidence in the JSON that proves it 3. Fix, with the corrected expression or configuration in a code block 4. Why it worked before and stopped, if that applies 5. Guard to add so this failure mode becomes visible instead of silent 6. Two other actions in a typical flow that would break the same way</format>

Reads the raw inputs and outputs of a failed action and returns the root cause with a concrete fix.

๐Ÿ’ก

Pro tip: Copy the raw outputs, not the friendly error banner. The banner says the request failed; the raw JSON carries the status code, the service error code, and the payload that caused it, which is what actually identifies the bug.

Try, Catch, Finally Scope Pattern

30/35

<context>Flow purpose: [DESCRIBE]. Actions in order: [PASTE THE LIST]. What must happen when a step fails: [NOTIFY WHO / ROLL BACK WHAT / LOG WHERE]. Currently there is no error handling at all.</context> <task>Restructure it into Try, Catch, and Finally scopes, set the run-after configuration on each, and write the expression that produces a readable error summary in the Catch block.</task> <format>1. Which actions go in which scope 2. Run-after settings per scope: has failed, is skipped, has timed out, exactly which boxes to tick 3. Error summary expression using result(), in a code block 4. What the Catch block sends and to whom, with the message text 5. What belongs in Finally versus Catch 6. How to make the run still show as Failed in history after the Catch handles it, if that is what I want</format>

Restructures a flow into Try, Catch, and Finally scopes with correct run-after settings and a result() error summary.

๐Ÿ’ก

Pro tip: result('Try_scope') returns an array of every action outcome inside the scope, so you can report exactly which step died rather than a generic failure. Filter it to status equals Failed before you put it in an email.

Retry Policy and Idempotency Review

31/35

<context>Actions in the flow and what each one writes: [PASTE THE LIST]. Failures we see: [DESCRIBE: transient timeouts, 429s, 500s, or something else]. Records get created twice when we retry: [YES / NO / NOT SURE].</context> <task>Set the retry policy per action and tell me which actions are unsafe to retry as built, with the change that makes them idempotent.</task> <format>1. Table: action, recommended retry policy, count, interval, reason 2. Actions that must have retry turned off, and why 3. Idempotency fix per unsafe action, with the check expression or filter query in a code block 4. Which HTTP status codes are worth retrying and which are permanent 5. Total worst-case run duration once retries are set 6. How to tell from run history whether a retry saved you or hid a real bug</format>

Assigns per-action retry policies and makes non-idempotent write actions safe to repeat.

๐Ÿ’ก

Pro tip: Default retry is four attempts with exponential backoff, which quietly turns one duplicate-creating action into four records. Any action that creates data needs an existence check before it, or retry turned off.

Failure Alert With a Run Link

32/35

<context>Nobody notices when this flow fails until a user complains. Flow name: [NAME]. Who should be alerted: [PERSON OR CHANNEL]. What they need to know to act: [DESCRIBE]. Alert channel: [EMAIL / TEAMS].</context> <task>Design the failure alert. Include the expression that builds a clickable link to the exact failed run, so the recipient lands on the run history instead of hunting for it.</task> <format>1. Expression that assembles the run URL from workflow() and the run name, in a code block 2. Alert subject line pattern that is scannable in a notification 3. Body content: what to include, what to leave out 4. Where in the flow the alert action goes and its run-after settings 5. How to avoid alert storms when the flow fails 200 times in an hour 6. Escalation rule if nobody acknowledges</format>

Builds a failure alert containing a deep link to the failed run, plus alert-storm suppression.

๐Ÿ’ก

Pro tip: workflow() exposes the environment, workflow name, and run name, which is everything you need to construct the flow run URL. Without that link the recipient gets an alert they cannot act on from their phone.

InvalidTemplate and Expression Error Decoder

33/35

<context>The designer refuses to save, or the run fails with this error: [PASTE THE FULL ERROR TEXT]. The expression involved: [PASTE IT]. What I was trying to do: [DESCRIBE].</context> <task>Decode the error into plain English and give me the corrected expression.</task> <format>1. What the error actually means, stripped of Microsoft phrasing 2. The specific character, function, or type that violates the rule 3. Corrected expression in a code block 4. Rule of Workflow Definition Language I broke, stated once so I recognize it next time 5. Fast way to isolate this class of error using a Compose action 6. Two similar error strings and what they mean, since they often travel together</format>

Translates InvalidTemplate and expression errors into the actual syntax rule broken, with a corrected expression.

๐Ÿ’ก

Pro tip: Drop the expression into a standalone Compose action and run the flow. Compose shows you the evaluated output in run history, which isolates the failure to the expression instead of the twelve-action chain around it.

Flow Documentation From the Definition Export

34/35

<context>Here is the flow definition JSON, exported from the solution: [PASTE IT]. Nobody currently understands this flow: [SAY WHO BUILT IT AND WHETHER THEY ARE STILL HERE].</context> <task>Read the definition and write documentation a new team member could act on: what triggers it, what it does, what it touches, and where it is fragile.</task> <format>1. One-paragraph plain English summary 2. Trigger and its conditions, decoded 3. Numbered walkthrough of the actions with each expression translated to English 4. Every external system it reads from or writes to 5. Missing error handling and unguarded assumptions you can see in the definition 6. Runbook: what to check first when it fails, and who to call</format>

Reads an exported flow definition and produces plain English documentation plus a failure runbook.

๐Ÿ’ก

Pro tip: This is the single best use of a paste-in workflow: inherited flows nobody can read. The definition JSON holds every expression and run-after setting, so Claude can explain a flow more completely than clicking through the designer.

Pre-Production Edge Case Test Plan

35/35

<context>Flow about to go live: [DESCRIBE WHAT IT DOES AND WHAT IT WRITES]. Volume expected: [NUMBER PER DAY]. Blast radius if it misbehaves: [WHO OR WHAT IS AFFECTED]. Test environment available: [YES / NO].</context> <task>Write the test plan. I want the edge cases that break real flows, not the happy path, plus the specific test data to use for each.</task> <format>1. Happy path test, one line 2. Edge case table: case, test data to use, expected behavior, how to verify 3. Cases to cover: empty result set, null field, duplicate trigger, special characters, very large payload, permission denied, connector timeout 4. Concurrency test: what happens when two runs overlap 5. Rollback plan if it misbehaves in production 6. What to watch in run history for the first week and the threshold that means stop</format>

Generates an edge-case test plan with concrete test data, expected behavior, and a production rollback plan.

๐Ÿ’ก

Pro tip: The empty result set is the most common production break: Get items returns nothing, first() throws, and the flow fails on the quietest day of the year. Test that case before anything else.

Frequently Asked Questions

No. Claude has no connector, no plugin, and no login to your tenant. It cannot see your flows, run them, or read your run history on its own. The workflow is copy and paste in both directions: you paste in a process description, a flow definition export, a sample API response, or a failed run's raw outputs, and Claude gives back an expression, a JSON schema, or a build plan that you paste into the designer yourself.
Usually, with one caveat. Power Automate uses Workflow Definition Language, not Excel formulas or JavaScript, and the function set is narrow. Claude is reliable on the common ones: formatDateTime, convertTimeZone, coalesce, addDays, split, indexOf, first, union, and the safe navigation operator. Paste the expression, save the flow, and let the designer validate it. If it rejects the syntax, paste the exact error message back and Claude will correct it in one round.
Open the failed run, click the action that failed, and copy the raw inputs and raw outputs JSON. That JSON contains the status code, the error message, and the actual data shape at the moment of failure, which is far more useful than a description. Paste it along with what you expected to happen. Strip customer names, emails, and any confidential values first.
Yes, and this is the highest-signal input you can give it. Export the flow as a package or copy the definition JSON from the solution, then paste it in. Claude can read the trigger, the action tree, the run-after configuration, and the expressions, then document it in plain English, spot the missing error handling, or explain what a colleague built three years ago before they left.
Treat flow definitions as internal documentation. They often contain site URLs, list GUIDs, email addresses, and occasionally an API key inside an HTTP header. Redact credentials and personal data before pasting. For sample data, replace real records with structurally identical fake ones: Claude only needs the shape of the JSON, not the actual values.
They cover different ground. Copilot lives in the designer and can scaffold a simple flow from a sentence, which is convenient for the first draft. Claude handles the parts Copilot struggles with: reasoning over a long flow definition you paste in, decoding an InvalidTemplate error, designing an escalation pattern that respects business hours, or generating a Parse JSON schema from a messy API response. Many teams use both, Copilot to scaffold and Claude to fix and harden.

Prompts are the starting line. Tutorials are the finish.

A growing library of 300+ hands-on tutorials on ChatGPT, Claude, Midjourney, and 50+ AI tools. New tutorials added every week.

7-day free trial. Cancel anytime.