Power Automate cannot add a row to my Excel table: causes and fixes
Add a row into a table works only on a real Excel table in an .xlsx or .xlsb file that sits in OneDrive for Business, a SharePoint library or a Microsoft 365 group. Check three things first: the data is formatted as a table, the file is not locked (Microsoft says a lock may last up to 6 minutes since the last use of the connector), and the file is under 25 MB.
The flow also needs write access to the file. A fourth cause is a row that only looks missing because the change shows up late. Work through the checks below in order.
What the action needs
Microsoft's page for the Excel Online (Business) connector lists what "Add a row into a table" asks for. These fields are marked required: Location, Document Library, File, Table and Row. In plain words, the action needs to know where the file is, which file, which table inside it, and what values to put in the new row.
The connector works with Excel files in document libraries supported by Microsoft Graph. Microsoft names OneDrive for Business, SharePoint sites and Office 365 groups. It supports the .xlsx and .xlsb file formats. Microsoft's pages do not describe support for older .xls files, so convert those to .xlsx first.
Signs this is happening
- The flow run shows a red error on the "Add a row into a table" step.
- The run shows green, but the new row is not in the file yet.
- The Table drop-down is empty, or the table you expect is not in the list.
- The flow worked for weeks and then began to fail.
- A row was added twice after a slow run.
Step 1. Make sure the data is in a real table
A range of cells that only looks like a table is not a table. The action has a required Table field, so the file must hold a table that the drop-down can list.
- Open the file in Excel.
- Click one cell inside your data.
- Select Home, then Format as Table, and pick a style. In Excel for the web, Microsoft's page gives Home, then Table, then Format as Table. Exact names may differ on your screen.
- Keep "My table has headers" checked, so row 1 becomes the header row. Microsoft says that without it, Excel for the web adds default names such as Column1 and Column2.
- Save the file.
- Go back to the flow and open the Table drop-down again. If the table does not show, try a fresh action or reload the flow editor. That part is our advice, not a Microsoft rule.
The connector also has an action named "Get tables" that lists the tables in a workbook. It can help you see what the flow can see.
If the column fields do not show up in the dynamic content after you pick the table, our advice, not a Microsoft rule: reselect the file and the table in the action so the columns load again.
Pick the current action, not the deprecated one
Microsoft's connector page lists two actions named Add a row into a table. One is marked [DEPRECATED] and says: "This action has been deprecated. Please use Add a row into a table instead." If a flow was built long ago, open the step and check which one it uses. If it is the deprecated one, add the current action and move your values over.
Step 2. Check where the file lives
The File field must point at a file the connector can reach. Microsoft lists these ways to fill it in:
- Pick the file from the file picker.
- Use the file identifier from a OneDrive for Business action or trigger.
- Use the file identifier from a SharePoint action or trigger.
- Type the path to the file, starting from the Drive (the library).
For the typed path, Microsoft gives an example. If the file is in a library named Documents at Documents/Inner Documents/file.xlsx, and the Document Library field is Documents, you type Inner Documents/file.xlsx. The library name is not part of the path you type.
Two more limits from the same page. The file picker shows only up to 200 items per folder, so a crowded folder can hide your file. And the connector lists every document library available in the Document Library drop-down, so pick the right one if you see several.
Step 3. Check write access and read-only mode
Microsoft states that write access to the file is required for all actions of this connector. It also lists two errors:
- 403 Forbidden: make sure the file has write access.
- 502 BadGateway: this appears when the spreadsheet is in read-only mode.
If you see one of these on the Add a row step, check these things:
- The account used by the Excel connection can edit the file. Open the file in the browser with that account and try to type in a cell.
- The file is not marked read-only or opened as "final" or read-only in Excel.
- The connection in the flow still belongs to a person who has access. If someone left the company, see "The person who built your flows left: what happens and what to do".
Guest users have a limit too. Microsoft says guests from a different tenant than the main users cannot get access to the document and get an HTTP 404 (Not Found) error.
Step 4. Check the lock and the second editor
Microsoft's page says:
- "An Excel file may be locked for an update or delete up to 6 minutes since the last use of the connector."
- Simultaneous file changes by other connectors, or manual edits, are not supported. Microsoft says to avoid writing data to a single Excel file from several clients at once (Excel desktop, Excel on the web, Power Automate, Logic Apps or Power Apps), because it can cause merge conflicts and data errors.
What this means for you: if a person has the file open and is typing while the flow runs, or two flows write to the same file at the same time, adds can fail or collide. One way to start: run only one flow that writes to a given workbook, and ask people to keep the file closed, or read-only, while the flow runs. That is our advice, not a Microsoft rule.
For the person-side problem, see "Excel file locked by another user: the fix and the long-term fix".
Step 5. Wait before you decide the row is missing
Microsoft's page says changes from actions such as Add a row, Update a row and Delete a row do not always take effect right after the action reports success. It says delays of up to 30 seconds are expected.
So if the run is green but the row is not there:
- Wait a minute.
- Close and reopen the file, or refresh the browser tab.
- Look in the file's version history. Microsoft notes that the connector can save a new version of the file even when the action only reads data. That is by design.
One way to start: if a later step in the same flow reads the row back, add a Delay step of about a minute before it. The amount is our advice, not a Microsoft rule.
Step 6. Check the values you send
Some small details in the file can break a flow that used to work:
- Column headers that contain only a number can cause unexpected behavior in actions such as Update a row and Delete a row. Microsoft's workaround is to rename them so they also contain other characters, for example "Year 2026" instead of "2026".
- The connector does not support OData parameters for tables that contain hidden columns. This affects filters, sorting and column selection. If your flow uses a filter, unhide the columns or move the data to a clean table.
- Filter Query, Order By and Select Query support only alphanumeric column names.
- Column names in the results can be changed to fit OData. A dot, an at sign, a colon and a hash are replaced by codes such as _x002e_. Microsoft's example: Column [one]#1 becomes Column [one]_x0023_1. If a field you expect looks empty, look for the coded name in the dynamic content.
- The key column used by Get a row, Update a row and Delete a row is case-sensitive.
Step 7. Slow runs, repeats and throttling
If the workbook is large or full of formulas, the connector can time out while the file recalculates. Microsoft warns that in this case data can be inserted more than once, because of the retry policy. It suggests simplifying the formulas or reducing the rows. Microsoft also says you may set the workbook calculation mode to Manual.
Other limits on the same page:
- The largest Excel file the connector supports is 25 MB.
- The largest request is 5 MB.
- The throttling limit is 100 API calls per connection every 60 seconds.
- A 429 Too many requests error means too many requests in a short time. Microsoft suggests adding explicit delays around the connector action.
- Continuous 504 errors can lead to throttling. Microsoft suggests a simpler table with fewer formulas, or a separate empty workbook with the same table format when the row count is large.
If you loop over many items and add one row for each, the 100 calls per minute limit is easy to hit. One way to start: add a short delay inside the loop, and keep the loop count small. That is our advice, not a Microsoft rule.
If the loop reads from a SharePoint list, remember that the Get items action returns only 100 rows by default. See "Power Automate Get items stops at 100 rows: how to get them all". A flow that sends the same row twice has its own guide: "Power Automate sends the same email two or three times" covers the repeat pattern.
Error 400
Microsoft's cloud flow error reference describes BadRequest (400) as an input the connector rejects because it is malformed or invalid. Its causes include a field with the wrong data type, required fields missing from the request, invalid characters, and a field length limit. Its first fix step: open the failed action in the run history and look at the Inputs to see exactly what was sent.
Step 8. Network and policy errors
Microsoft also lists this: when a location-based access policy is on, SharePoint may not know the user is inside the trusted network, and you may see "Due to organizational policies, you can't access these resources from this network location". This one is not yours to fix. Ask your Microsoft 365 admin.
A safer setup to consider
Excel is a good place to look at data. It is a weak place for many people and flows to write at once. If several people and flows add to the same list every day, a SharePoint list takes many editors at once without a file lock, and the same flow can write to it. See "Replace a spreadsheet tracker with a SharePoint list" for the idea.
Use these columns if you move the data:
- Status (Choice: 1 New, 2 In progress, 3 Done)
- Owner (Person)
- Due date (Date)
What to avoid
- Do not point the flow at a range that only looks like a table.
- Do not let people edit the file while the flow runs.
- Do not run two flows that write to the same workbook.
- Do not rename the table or the headers without opening the flow afterward and checking the steps.
- Do not use number-only headers.
- Do not keep a 20 MB workbook with heavy formulas as your log.
- Do not assume a green step means the row is already visible.
When to get help
You can build all of this yourself in Microsoft 365. If you would rather have it built and tested for your team, I do that. A tracker like this is a fixed price: $5,000 for one, built in 2 weeks. See "What a SharePoint tracker costs to build". Bring one example of the problem to a free call.
I am Al Davies. I run 250 High Street LLC and build SharePoint trackers and Power Automate flows for operations teams. I work remotely. The first call is free, and I will not try to sell you anything.
See trackers I built: Tools I built
FAQ
Power Automate add a row into a table error 400: what does it mean?
Microsoft's error reference says BadRequest (400) means the connector rejected the input as malformed or invalid, for example a wrong data type or a missing required field. Open the failed step in the run history and read the Inputs.
Power Automate add a row into a table not working: where do I start?
Check that the data is a real table, the file is not locked, the file is under 25 MB, and the connection has write access. Then wait up to 30 seconds and refresh the file before deciding the row is missing.
Power Automate add row to Excel table: does it need a table?
Yes. The action has a required Table field, so the file must hold a table. Microsoft's pages do not describe a way to use that action on a plain range. Format the data as a table first.
Why did the row show up late?
Microsoft says changes from Add a row can take up to 30 seconds to take effect, and it calls this a limit of the backend service. Wait, then refresh the file.
Why did I get the same row twice?
Microsoft says a timeout caused by recalculation can lead to data inserted several times, because of the retry policy. Simplify the formulas or set the workbook to manual calculation, as Microsoft suggests.
Sources
- Microsoft Learn, Excel Online (Business) connector reference
- Microsoft Support, Create and format tables
- Microsoft Learn, Cloud flow error code reference