Looking at the screenshots, I can see the issue. The "Get file content" action is failing with a BadRequest error because you're using items('apply_to_each')? ['ID'] as the File Identifier, but that's the SharePoint list item ID, not the file path.
The Fix:
In the "Get file content" action, change the File Identifier from:
items('apply_to_each')?['ID']
To one of these (depending on your SharePoint connector version):
items('apply_to_each')?['Id']
or more reliably:
items('apply_to_each')?['{Identifier}']
or the full path:
items('apply_to_each')?['{Path}']
Why this happens:
The "Get files (properties only)" action returns several ID-related fields that look similar but serve different purposes. The ID field is the SharePoint list item ID (a number), while the {Identifier} or Id field contains the actual file identifier that the "Get file content" action expects.
Quick way to verify:
Check your "Debug to list files" Compose action output. Look for fields like:
- {Identifier} - encoded file identifier (recommended)
- {Path} - full file path
- Id - file ID (note the lowercase 'd')
Additional tip for your Excel scenario:
Since you mentioned the Excel files aren't formatted as tables, be aware that after getting the file content, you'll need to use "Run script" with Office Scripts or parse the file differently. The standard "List rows present in a table" action only works with properly formatted Excel tables.
Thank you!
Proud to be a Super User!
📩 Need more help?
✔️ Don’t forget to Accept as Solution if this guidance worked for you.
💛 Your Like motivates me to keep helping