Forum Discussion
Updating a Hyperlink field (both url and description) using Flow?
I tried using the update item action to set a Hyperlink type column in my custom list. The Flow field for this column only accepts the url so there seems to be no way to add the description part. Anyone got this working?
In SharePoint:
In Flow:
22 Replies
- CXRL--Copper Contributor
A co-worker and I found a work-around. We are not updating both parts of the Hyperlink field, but this works nicely as an alternative.
Instead of a hyperlink field, we use a Multiple Lines of Text field with the text type set to "Enhanced Rich Text". In the flow, we insert something like this into the field:
<a target="_blank" href="[CURRENT ITEM:URL]">[CURRENT ITEM:URL PREVIEW]</a>
[CURRENT ITEM:URL] and [CURRENT ITEM:ID] are the dynamic content. The result is a link that appears in the list, under whatever column you chose.
This method has the downside of being less user friendly (unless you hide the field in the New Item/Edit Item forms), but I find it simple and reliable.
A note to any Microsoft moderators reading this: I realize that this could potentially be abused to inject code into a list. If something must be done about it, I humbly request that either A) certain DOM elements are white-listed or black-listed as necessary, so that some part of this functionality will survive, or B) the functionality to resolve OP's question is implemented.
- danmitchell36Copper Contributor
If you're still having issues implementing the REST API I wrote a blog post on how to update hyperlinks below:
https://www.dmcinfo.com/latest-thinking/blog/id/9832/creating-sharepoint-list-items-in-microsoft-flow-using-a-rest-api
- mo_mkfCopper Contributor
Hey danmitchell36,
Thanks for the link, I gave yours a try, but got this error:
Not well formatted JSON stream.
clientRequestId: 865768ab-bec3-44ed-a436-fb15aa25cd69
serviceRequestId: a805c99e-a06d-8000-aa83-4de13cfb3351Thanks
- Jean-Paul van den BogertCopper Contributor
mo_mkf Probably because his code contains the wrong quotes:
“ AND ”
If you replace them with the default quotes
" AND "
Then the JSON error is resolved
{ "Title": "Test", "Link":{ "_metadata": {"type": "SP.FieldUrlValue"}, "Description": "Link", "Url": "https://www.google.com" } }
- Jason HCopper Contributor
I too found updating the hyperlink description much harder than it should be. The best solution that worked for me is detailed below.
I had a client ask for the ability to export individual items to Excel. SPO export function by default exports all items so long story short I ended up using Flow. I used the below action to update the URL to the CSV file and changed the display name to "CSV"
TestURL2 is the column name
- Chintan123Copper ContributorJason - there is a correction in your screenshot. YOu need to correct it to avoid confusion by reader.
Body Text is as follow:-
{'__metadata': {'type':'SP.Data.TaskListItem'},
'InternalFieldName':{'Description': 'Click Here','Url': 'siteUrl/sites/site1/Lists/Task/DispForm.aspx?ID=1'}
}
if your list name is "abc" then type value should be "SP.Data.abcListItem".
Field name should be Internal field name and not display name. - AnonymousHi Jason, For me, it was bit complicated that my site name and list name contain some spaces. But, it just works fine. Thanks. Masahiro
- Jason HCopper Contributor
Deleted wrote:
Hi Jason, For me, it was bit complicated that my site name and list name contain some spaces. But, it just works fine. Thanks. MasahiroI'm glad that worked for you Masahiro. Yes spaces are nasty and I try to avoid them if I can :)
- Marianne ChaluptCopper Contributor
Hi,
I have tried your solution, but I have an code error 412.
message": "La valeur « » ETag de la demande ne correspond pas à la valeur « \"4\" » ETag de l'objet.
The message are in french ,but that said : Etag Request doesn't match to value 4 of the Etag Object.
Please can you help me?
- Jason HCopper Contributor
1. Could it be that your column name is actually different to the display name?
You can check this by browsing to the URL
https://<sharepoint server or tenant>/<site collection>/<subsite>/_api/web/lists/getbytitle('<listname>')/Items
Then view the source which will display what your columns are actually named.
2. Check that the "type" is correct. This can also be found in the source above
3. Check that the destination column you are trying to update, is the type "Hyperlink or Picture"
See how you go with that. If you still can't find the issue, send screenshots of your flow, attach the source file and screenshot the column type in list settings
- Anonymous
Set the value to "URL, Description" without quotes, has to have URL then comma then a space after comma then Description.
- Henning StrandBrass Contributor
Thanks, but that is what I tried and that did not work. As you see from my attached image with "http://www.cnn.com, CNN" (without quotes), I get an error saying to add a proper URI. Or did I misunderstand you?