@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
Solved! Go to Solution.
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!
Proud to be a Flownaut!
Hi @Tif ,
Please try the following configuration:
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,
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,
No problema. You explained the challenge much much better than me, also with a screenshot
Thanx for your help!
Proud to be a Flownaut!
Hi @Tif ,
If you want to add grid lines to the Html table, please refer to the following thread:
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,
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
Proud to be a Flownaut!
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.
If you liked my response, please consider giving it a thumbs up
Proud to be a Flownaut!
Learn more from my blog@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
Please have a look to this long thread...
...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
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:
This is what it looks like in the email that would be received by the addressee
Any assistance is greatly appreciated!
Thank you!
Tif
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
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:
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:
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
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!
Proud to be a Flownaut!
@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.
Hi @Tif ,
Please try the following configuration:
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,
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,
No problema. You explained the challenge much much better than me, also with a screenshot
Thanx for your help!
Proud to be a Flownaut!
@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
Hi @Tif ,
If you want to add grid lines to the Html table, please refer to the following thread:
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,
@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!
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 😉
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!
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 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
User | Count |
---|---|
88 | |
37 | |
26 | |
13 | |
13 |
User | Count |
---|---|
127 | |
54 | |
37 | |
24 | |
21 |