I’m currently migrating an old workflow that was originally built with UiPathTeam.SharePoint Activities (Legacy).
Since this package is no longer supported in Windows compatibility projects, I’m looking for a modern replacement.
Current Process (Legacy version)
• Using SharePoint Application Scope → Get List Item
• Running a CAML query to filter items based on a date field (text format yyyy-MM-dd)
• From the returned DataTable/Dictionary, I extract Attachment URLs (PowerApps stores images as SharePoint list item attachments)
• Open URL in Chrome → download image → insert into Excel → send email
Environment
• SharePoint Online
• But internal corporate environment (restricted network)
• Attachments are real List Item Attachments
• CAML filtering was used mainly to retrieve the correct date row
What I need to figure out
1. Is there a Windows-compatible replacement for the Legacy SharePoint package?
• Any official modern package?
• Or should I rebuild the process using REST API / Graph API with HTTP Request?
2. What is the recommended way to extract SharePoint attachment URLs in Windows projects?
• For example, using _api/web/lists/getbytitle(‘List’)/items?$expand=AttachmentFiles
• Or any other best practice to replace Get List Item?
3. If CAML is no longer usable, what’s the correct modern alternative for filtering list items by date (text field)?
Any migration tips, examples, or recommended patterns would be extremely helpful.
There is no direct Windows-compatible replacement for the old UiPathTeam.SharePoint (Legacy) activities. For modern Windows projects, the recommended approach is to use SharePoint REST API or Microsoft Graph via HTTP Request activities.
For getting list items and attachments, using REST API works well. Calling
_api/web/lists/getbytitle(‘ListName’)/items?$expand=AttachmentFiles
is the common and supported way to retrieve attachment URLs. From there, you can loop through AttachmentFiles and download them directly, without opening a browser.
CAML queries are not supported in modern activities, so filtering should be done using OData filters in REST, for example with $filter. If the date is stored as text (yyyy-MM-dd), you can still filter using string comparison, but long term it’s better to convert that column to a proper Date/Time field in SharePoint.
Migration tip: fetch list items via REST, filter using OData, handle attachments via AttachmentFiles, and remove browser-based downloads completely. This is more stable, faster, and future-proof for Windows projects.
Thank you for the clear explanation and the additional advice.
It makes sense to switch away from CAML and rely on REST with OData filters, especially since the date column was originally stored as text. I’ll refactor the filtering logic and also consider converting that field into a proper Date/Time column as you suggested.
I’ll proceed with the REST + HTTP Request approach for retrieving list items and attachments, and remove the browser-based download step entirely.
I’ll share the results once I implement and test the updated workflow.
Thanks again for the helpful guidance!
Unfortunately using Graph API list attachments cant be retrieved and it is a known issue
for your case one small tweak can help use the available activities instead of complicating it with http request again
from power apps instead of adding the file as attachment to list item..upload the file to a sharepoint drive and save the url or ID of the file to the lsit item..thsi way while getting list item you can get the url or ID and use it in download file activity to get the items
CAML query is using by rest api in sharepoint coming to graph api the filtering is different and UiPath has exposed those fields as a lowcode alternative and that can be used