Unable to update Repost Page Description property using Flow or HTTP request

Brass Contributor

 

I am using Flow to create News items in SharePoint using information that is coming from an external application. I have a REST call getting all of the news post properties from the external application and then writing out those properties to a copy of a Repost Page (.aspx). 

 

The issue I've hit is the Description field for the Repost Page content type is not available in the Update File Properties action in Flow.

RepostPageFileProperties.png

 

So I tried using the Send HTTP Request action to update the Description field but, to no avail. I'm able to update other properties with no problem but, can't seem to write to Description. 

UpdateLinkREST.png

Any ideas on how to achieve this or known limitations?

4 Replies

I am experiencing exactly the same and haven't found any answers yet. In fact, your posting is the only one I have found addressing this issue. And I assume you haven't found any solutions, either?

Anyway, here are some observations:

  1. I can update Description using CSOM. Not that it is helping us if we are working with Microsoft Flows, but it is interesting, nonetheless.
  2. Description is not visible as a column in the Repost Page content type. But using PnP's GetProvisioningTemplate, I have confirmed that it is indeed part of the content type.
  3. I programmatically downloaded a Repost Page that was created from the UI and whose Description field was set. But, unlike OriginalUrl and the other fields, the Description field was not part of the page's body.

My guess is this is just one of those 'blind spots' where MS develops new features such as modern pages, but forgets that these features should also be programmatically accessible.

No luck yet. I beat my head against the wall for several hours trying to write HTTP Post requests to change it.

 

Thanks for the insight into the other methods you've tried. 

 

I think you're right, it's probably just an oversight. Hopefully, it's something that MS will make accessible in a later update.

 

I saw this announcement in the Message Center last week that gave me some glimmer of hope:

 

"Change the description in Page details: Previously, the first text that appeared on the page was auto-selected as the page description. You can now add your own custom description in Page details." 

 

I may be grasping for straws connecting the two but, it seems like if they're making it available in page details it can be targeted via HTTP request.  

It is a real pain that the new modern SharePoint web parts provide functionalities using hidden columns not available from REST API. It is unfortunately preventing us from submitting 2 new  Flow Templates integrating 1) News and 2) Events from our Azure based backend system.

 

The Events list doesn't expose the URL from REST or from the Events list item NewForm + EditForm only when clicking "Add new Event" in the web part from the homepage of a communication site.

EventsUrl.PNG

 

Here we would like to Sync data from backend system with planned events for the company without having to manually create / maintain the items in the SP list as well..

Any help from @msft on this matter?

I dropped this for several months and just picked it back up.

 

I found this excellent article that helped me immensely.

 

http://www.sites.se/2018/08/sharepoint-modern-pages-microsoft-flow/

 

Step 6 explains how you can use the _api/sitepages/Pages([id])/SavePageAsDraft resource to update the meta data for Modern Site Pages, which also works for Repost Pages. 

 

{
   "__metadata": {
      "type""SP.Publishing.SitePage"
   },
   "Description""$$ENTERDESCRIPTION$$",
   "OriginalSourceUrl""$$REPOSTURL$$",
   "Title""$$ENTERTITLE$$",
   "LayoutWebpartsContent""[{\"id\":\"\",\"instanceId\":\"\",\"serverProcessedContent\":{\"htmlStrings\":{},\"searchablePlainTexts\":{},\"imageSources\":{},\"links\":{}},\"dataVersion\":\"1.0\",\"properties\":{\"description\":\"$$ENTERDESC$$\",\"thumbnailImageUrl\":null,\"title\":\"$$ENTERTITLE$$\",\"url\":\"$$REPOSTURL$$\"}}]"
}