1

Flow was working fine until I added a column of type Image to the SharePoint list.

(I was hoping to be able to get the image and send it in an email etc).

But now the Flow fails at the Get Items action:

The required field "My Image" data type is not supported.

Issue should be reproduceable by doing a Get Items on any SharePoint list with an Image column.

I am using a Filter Query in Get Items, so that only 1 item is returned, eg:

Unique_x0020_Values eq '@{variables('search_string')}'  

2 Answers 2

1

As per my research, Image columns in SharePoint are not returned in the output of the Get items action in Power Automate.

However, you can get the Image URL using SharePoint REST API (using Send an HTTP request to SharePoint action) like:

https://<tenant>.sharepoint.com/sites/SPConnect/_api/Web/Lists/getByTitle('List Name')/items?$select=Title,LogoImage

Where LogoImage is internal name of image column. You can get the exact internal name of your image column by following this article: How to find the Internal name of columns in SharePoint Online?

Sample response:

<m:properties>
    <d:Title>New Power Apps logo looks cool! Really really cool!!</d:Title>
    <d:Image>{
          "fileName": "Power Apps logo.jpg",
          "serverRelativeUrl": "/sites/SPConnect/SiteAssets/Lists/dbc6f551-252b-462f-8002-c8f88d0d12d5/Power%20Apps%20logo.jpg",
          "type": "thumbnail",
          "fieldName": "Image"
      }
    </d:Image>
</m:properties>

Where serverRelativeUrl is the URL of image which you can use in your Power Automate flow.


Related reading:

SharePoint Online: All you need to know about New Image column type


Further implementation:

To retrieve a single item's Image column value in Power Automate, and add it to an email using the Send an email (V2) action, you could do something like this:

  1. Send an HTTP request to SharePoint (where EventImage is internal name of Image column):
Site Address:  Team Name - https://yourtenant.sharepoint.com/sites/yoursite  
Method:  GET  
Uri:  _api/web/Lists/getByTitle('Events')/items(@{variables('event_id')})?$select=EventImage  
  1. Initialize a variable with an expression that gets the fileName of the image:
Name:  event_image_filename
Type:  String   
Value:  json(body('Send_an_HTTP_request_to_SharePoint')?['d']['EventImage'])['fileName']
  1. Get file content using path:
Site Address:  Team Name - https://yourtenant.sharepoint.com/sites/yoursite
File Path:  /SiteAssets/Lists/your-list-folder-name-here/@{variables('event_image_filename')}
Infer Content Type:  Yes
  1. Initialize a variable to create an <img> tag from the base64 of the image file:
Name:  event_image_img_tag
Type:  String  
Value:  <img style="display:block;" src="data:image/jpg;base64,@{body('Get_file_content_using_path_-_Event_image')['$content']}" alt="Event Image" border="0" width="300" height="300">
  1. And then insert the variable in your email's HTML code.
5
  • Thank you, I was just starting to look into this, this is very helpful, I was also wondering if image path could be retrieved from image column through either column formatting or a calculated column, I will look into that further, but might not be possible. Jul 30, 2021 at 10:22
  • 1
    Image columns are supported in JSON formatting as well. You can get the URL in JSON like @currentField.serverRelativeUrl Check this video for more information. Jul 30, 2021 at 10:36
  • Wow. Can you tell me which API docs you use for SharePoint? I know these: Get to know the SharePoint REST service and Complete basic operations using SharePoint REST endpoints - but they are not as thorough as Microsoft Graph REST API v1.0 reference. I want to learn to construct URI's like you. Jul 30, 2021 at 10:47
  • 1
    I use the same Microsoft documentation you use & I agree that those are not detailed. For specific requirements, google search and trial & error helps to construct the endpoint URL's. Jul 30, 2021 at 10:53
  • Does anyone know if there is an authoritative article that lists ALL the column types that are NOT supported by Get Items? I just stumbled across an error where a required Location column produces this error: Flow save failed with code 'DynamicOperationRequestClientFailure' and message 'The dynamic operation request to API 'sharepointonline' operation 'GetTable' failed with status code 'BadRequest'. This may indicate invalid input parameters. Error response: { "status": 400, "message": "The required field \"Location\" data type is not supported Oct 29, 2022 at 7:32
1

Change the "Require that this column contains information" to "NO" and the issue disappears:

enter image description here

1
  • The error has gone away but I cannot see the column in the Raw Outputs of Get Items - is the Image column property being returned for you? Jul 30, 2021 at 9:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.