cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Tif
Helper II
Helper II

Creating HTML table to send in email, error message states needs to be an Array

@abm Good afternoon, 

I am working on another Flow, and I am stuck at initializing a variable to create an HTML table that will be inserted into an email.  The information is being retrieved from Forms input.  The error message I keep receiving at the step of Initialize Variable is: 

 

"BadRequest. The variable 'ResponseBody' of type 'Array' cannot be initialized or updated with value '{ "webhookId": "94ee29f4-76f1-4a61-b8ed-90b4dce4fb96", "eventType": "ResponseAdded", "resourceData": { "formId": "7Skwd8LWC0iloigcbTAjXoS-7jtm3rZKqMlA83tHJ2hUMlU5RFZKR0tJNDhSMEFDMzhZWE0xRk5SSy4u", "responseId": 3 }, "eventTime": "2020-06-10T22:08:09.6034709Z" }' of type 'Object'. The variable 'ResponseBody' only supports values of types 'Array'."

 

I have tried multiple different options and I continue to receive a similar message. 

 

Any guidance and/or assistance is greatly appreciated!

Thank you!

Tif

5 ACCEPTED SOLUTIONS

Accepted Solutions
efialttes
Super User III
Super User III

Hi again

As far as I understand, your current HTML table is displaying this info in both columns of its single row, right?

[{“English”: “1”,”Math”:”2”,”Science”:”1”,”Social Studies”:”1”,”Arts”:”1”,”Health and fitness”: “1”,”CTE”:”1”,”Electives”: “1”,”Total credits waived”:”10”}]

 

THe point is, this is an array with a single element (an object) inside, all subjects are atributes, credits being their corresponding values.

 

So if you wanna show Subjects in one column, credits in the other, you need to manipulate your current “Create HTML table” input, transform it into an array with N object elements, being N the nr of Subjects.

 

[

{“GradRequrement”: “English”, “#_of_credits_waived”: “1”},

{“GradRequrement”:”Math”, “#_of_credits_waived”: ”2”},

{“GradRequrement”:”Science” ”, “#_of_credits_waived”:”1”},

{“GradRequrement”:”Social Studies”, “#_of_credits_waived”:”1”},

{“GradRequrement”:”Arts”, “#_of_credits_waived”:”1”},

{“GradRequrement”:”Health and fitness”, “#_of_credits_waived”: “1”},

{“GradRequrement”:”CTE”, “#_of_credits_waived”:”1”},

{“GradRequrement”:”Electives”, “#_of_credits_waived”: “1”},

{“GradRequrement”:”Total credits waived”, “#_of_credits_waived”:”10”}

]

 

I would suggest the following strategy:

1.- Transform your input

2.- Configure ‘Create HTML Table’ Column input as ‘Automatic’, and the table structure will be according to your expectations.

3.- Take care of the style (bordes, colors, etc)

 

In order to start with step 1, we need to clarify the following:

a) is the Subjects list always the same? I believe so, since the source seems to be a Microsoft Forms survey, right? Please confirm this point

b) did you assign 'Select' output as the 'Create HTML table' 'From' input?

Thanx!



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



View solution in original post

v-bacao-msft
Community Support
Community Support

 

Hi @Tif ,

 

Please try the following configuration:

54.PNG

You can replace HeaderA and HeaderB with the field names you need.

 

The value of the first field is the question name, and the value of the second field is the response. Use objects in the data to group them and store them as items in the array variable.

 

Best Regards,

Community Support Team _ Barry
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

v-bacao-msft
Community Support
Community Support

 

Hi @Tif ,

 

It seems that I provide the same method as @efialttes . The basic principle is that we can make an array to store the data that needs to be displayed in the HTML table.

Because the object returned by the form response, we need to create an array that meets the requirements, and the elements in the array need to be object. The question name is taken as one attribute, and the answer as another attribute.

 

Hope that makes sense.

 

Best Regards,

Community Support Team _ Barry
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

@v-bacao-msft 

No problema. You explained the challenge much much better than me, also with a screenshot

Thanx for your help!



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



View solution in original post

v-bacao-msft
Community Support
Community Support

 

Hi @Tif ,

 

If you want to add grid lines to the Html table, please refer to the following thread:

https://powerusers.microsoft.com/t5/Building-Flows/How-to-format-the-table-as-Rich-text-in-send-an-e...

If you want to add style to the content in Table, please refer to the following blog and see if it helps:

https://alextofan.com/2019/02/14/flow-how-to-change-the-style-of-your-html-table-in-flow/

 

Best Regards,

Community Support Team _ Barry
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

21 REPLIES 21
efialttes
Super User III
Super User III

Hi!

The error says you have a data type mismatch. You declared your variable type as 'Array', but you are assigning it an Object. Did you try to switch 'Initialize variable' type from Array to Object?

Or, you need your variable as an Array with one single element of type object? If so, you can leave array value empty in your 'Initialize variable', next add an 'Append to array' action block, select your variable's name and assign as its value the object.

 

Anyway, I assume you already shared tons of context related info with @abm in another thread, so I guess he can figure out better what you want to achieve

Sorry for interfering

 



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



abm
Super User III
Super User III

Hi @Tif

 

Thanks @efialttes 

 

The error is related to data type. Change the data type or another option is map the final output in a Compose and finally map the compose output in your email.

 

 



Did I answer your question? Mark my post as a solution!

If you liked my response, please consider giving it a thumbs up


Proud to be a Flownaut!

Learn more from my blogPower Automate Video Tutorials

@efialttes Thanks so very much for your response!  No apologies necessary, you were not interfering at all.  Your fix worked fantastically!  Thanks so very much!

 

Now that the Flow runs to the end, I can see that the HTML table formatting is not right.  I need it to be a two-column table, and I am ending up with a two-row table with no table lines. 

 

Any assistance is greatly appreciated!

Tif

Hi @abm , 

 

Thanks for your response, I do appreciate it so very much! 

efialttes
Super User III
Super User III

@Tif 

Please have a look to this long thread...

https://powerusers.microsoft.com/t5/Building-Flows/Generate-a-pdf-out-of-a-sharepoint-list-PowerApps...

...and check @RobElliott's suggestion to add borders to your table

 

Some great resources to tune HTML tables look&feel:

Ryan Maclean here , Alex Tofan here

 

Hope this helps



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



@efialttes thank you for the references, those are fantastic!  I am still unable to fix the issue with the HTML table, as I'm not sure what I'm missing - I'm still fairly new at this and learning the language of Flow.  Here is what I have so far:

W-1.jpgW-2.jpgW-3.jpgW-4.jpgThis is what it looks like in the email that would be received by the addresseeThis is what it looks like in the email that would be received by the addressee 

Any assistance is greatly appreciated!  

Thank you!

Tif

efialttes
Super User III
Super User III

Hi again

I assume you have a 'Send an email' somewhere at the bottom of your Flow, right?

Did you assign 'FormatTableLines' output to 'Send an email' body input?

 

BTW, your 'Create HTML table' design looks confusing to me... which value did you assign to 'Create HTML table' 'Column' input? Not 100% sure, but I would expect either 'Automatic' or 'Custom' value assigned there. Also the Header-Value table looks half empty (I mean no Values assigned, I am afraid)

Hope this helps

 



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



@efialttes Thank you for your response.  

Yes - I have a Send An Email as the last action and the email is being sent/functioning appropriately. 

 

Yes - I assigned FormatTableLines output to the Email:

W-6.jpg

 

I am using Custom value assigned to the Create HTML Table, but I'm not sure how or what to use for the Header Value.  

 

I need my table to end up looking like this:

w-7.jpg

 

I definitely need the text to be blue, and the "TOTAL CREDITS WAIVED" to be in red text.  

 

Thanks again for helping me with this!  I do appreciate it so very much!

Tif

 

efialttes
Super User III
Super User III

Hi again

As far as I understand, your current HTML table is displaying this info in both columns of its single row, right?

[{“English”: “1”,”Math”:”2”,”Science”:”1”,”Social Studies”:”1”,”Arts”:”1”,”Health and fitness”: “1”,”CTE”:”1”,”Electives”: “1”,”Total credits waived”:”10”}]

 

THe point is, this is an array with a single element (an object) inside, all subjects are atributes, credits being their corresponding values.

 

So if you wanna show Subjects in one column, credits in the other, you need to manipulate your current “Create HTML table” input, transform it into an array with N object elements, being N the nr of Subjects.

 

[

{“GradRequrement”: “English”, “#_of_credits_waived”: “1”},

{“GradRequrement”:”Math”, “#_of_credits_waived”: ”2”},

{“GradRequrement”:”Science” ”, “#_of_credits_waived”:”1”},

{“GradRequrement”:”Social Studies”, “#_of_credits_waived”:”1”},

{“GradRequrement”:”Arts”, “#_of_credits_waived”:”1”},

{“GradRequrement”:”Health and fitness”, “#_of_credits_waived”: “1”},

{“GradRequrement”:”CTE”, “#_of_credits_waived”:”1”},

{“GradRequrement”:”Electives”, “#_of_credits_waived”: “1”},

{“GradRequrement”:”Total credits waived”, “#_of_credits_waived”:”10”}

]

 

I would suggest the following strategy:

1.- Transform your input

2.- Configure ‘Create HTML Table’ Column input as ‘Automatic’, and the table structure will be according to your expectations.

3.- Take care of the style (bordes, colors, etc)

 

In order to start with step 1, we need to clarify the following:

a) is the Subjects list always the same? I believe so, since the source seems to be a Microsoft Forms survey, right? Please confirm this point

b) did you assign 'Select' output as the 'Create HTML table' 'From' input?

Thanx!



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



View solution in original post

@efialttes Thanks again for your response and ongoing assistance. I think I am beginning to understand, but it's still somewhat confusing to me.  

 

To answer your questions:

a. Yes, the Subject will always be the same as the information is coming from a Form that is being utilized by staff only.

b. Yes, I did assign "Select" output as the "Create HTML table" "From" input. 

v-bacao-msft
Community Support
Community Support

 

Hi @Tif ,

 

Please try the following configuration:

54.PNG

You can replace HeaderA and HeaderB with the field names you need.

 

The value of the first field is the question name, and the value of the second field is the response. Use objects in the data to group them and store them as items in the array variable.

 

Best Regards,

Community Support Team _ Barry
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

v-bacao-msft
Community Support
Community Support

 

Hi @Tif ,

 

It seems that I provide the same method as @efialttes . The basic principle is that we can make an array to store the data that needs to be displayed in the HTML table.

Because the object returned by the form response, we need to create an array that meets the requirements, and the elements in the array need to be object. The question name is taken as one attribute, and the answer as another attribute.

 

Hope that makes sense.

 

Best Regards,

Community Support Team _ Barry
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

@v-bacao-msft 

No problema. You explained the challenge much much better than me, also with a screenshot

Thanx for your help!



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



View solution in original post

@v-bacao-msft Thank you!  That worked beautifully to get the columns and rows set properly.  I'm still struggling with getting the lines of the table to be as I posted in my example, and also the text to be blue, and the Total Credits Waived to be in red text.  I've tried multiple things from examples I've found, but I'm sure I'm missing something somewhere (I'm still a newbie at this).  Any further assistance would be tremendously appreciated.

 

Thanks again!

Tif

v-bacao-msft
Community Support
Community Support

 

Hi @Tif ,

 

If you want to add grid lines to the Html table, please refer to the following thread:

https://powerusers.microsoft.com/t5/Building-Flows/How-to-format-the-table-as-Rich-text-in-send-an-e...

If you want to add style to the content in Table, please refer to the following blog and see if it helps:

https://alextofan.com/2019/02/14/flow-how-to-change-the-style-of-your-html-table-in-flow/

 

Best Regards,

Community Support Team _ Barry
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

@Tif 

@v-bacao-msft suggested resources are great to understand how to overcome your new challenge.

 

¿Next steps? My humble suggestion is:

1.-Mark this topic as "Solved" by clicking "Accept as a solution". THis way others facing a similar problem can find a solution faster. Please also note you can even select several responses as solution, even from different community members!

 

Flow_AcceptSolution.png

 

2.- Read the resources provided by @v-bacao-msft and try to implement by yourself the improvements on your current flow to overcome your new challenge. IF you don't succeed, please consider to open a new thread for your next question, following the policy: 'One Question, one post'. This way you have more chances to attrack attention for superusers that are seeking for unanswered topics.

3.- (OPTIONAL) Click on 'Thumbs up' in any answer you found valuable... or even in all of them 😉

 
 

Flow_thumbsUp.png

 

Even though this 3rd step is OPTIONAL, please remember it is the cheapest, easiest way to say thanks to all these people that spent its time simply trying to help. And just between you and me, everytime an inspiring answer receive a kudo in this community, an ewok escapes from The Emperor menace 

 

Thanx for your help making this community great!

 



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



Thank you, everyone, for your help with this!  I did finally get the table to work correctly and the inside lines of the table to be visible.  Thanks again for everything!  I do appreciate it so very much!  I am truly thankful for the sharing your expertise and knowledge, and for your guidance in problem-solving.  Because of you, I'm able to learn PA and use it to improve the functions of my office, as well as assist others in their journey of learning to use PA.  You are phenomenal and I can't tell you how much I appreciate all you do for so many!!!

 

Most sincerely,

Tif

@efialttes Thank you!  That link is extremely helpful!!!

 

Tif

@efialttes Thank you for helping me better understand this board's etiquette and for explaining the ability to reply and thumbs-up many responses on a single thread.  Greatly appreciated! 😀

Tif

Helpful resources

Announcements
MPA_User Group Leader_768x460.jpg

Manage your user group events

Check out the News & Announcements to learn more.

V3_PVA CAmpaign Carousel.png

Community Challenge - Giveaways!

Participate in the Power Virtual Agents Community Challenge

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

PowerPlatform 768x460.png

Microsoft Learn

Check out our new Discover Your Career Path blog post series and get all the details.

Top Solution Authors
Users online (1,124)