How can I add Ink Sketch and Likert Scale into word document using Power Automate?

Hello,

I am using PlumsSail Forms in SharePoint Online and the form is utilising the Ink Sketch and Likert Scale controls.

I've looked through the documentation and cannot find any clear guidance on how I can add these to word documents with Power Automate? Is this possible or can these only be added via PlumSail Docs?

Thanks

Any thoughts on this one?

Dear @chris.cundy,
Well, the Ink Sketch is just an image in Base64, so it can be added to Word with the following steps - Adding image to MS Word with Power Automate - Power Platform Community

As for Likert Scale, this depends on each case specifically. It doesn't really have any visual data, and only passes selected data as an array, so this heavily depends on how you want to present the data - like a list of choices, like a table, or like the actual Likert Scale, which might be tricky to do.

In the link the action is to get file content however the ink sketch isn’t being stored in a file, it’s being stored in a list item.

Do you not have instructions on how to do this or do you not directly support the use of power automate?

Thanks

Dear @chris.cundy,
The Ink Sketch control is stored in Base64 format, it's almost a file inside a column. You can just skip the Get File Content step, and specify the SharePoint column with Ink Sketch value as the File Content.

Hi @Nikita_Kurguzov I have replied to my support ticket: #SP22374

Dear @chris.cundy,
Like everything in Power Automate, it is a little trickier than it could be, but it is doable. I've recorded a GIF of how Ink Sketch column can be converted to an image in Word template.

You'll first need to replace " with nothing, or they'll prevent conversion:
replace([Your Ink Sketch Column], '"",'')

Then, use dataUriToBinary method on the output to convert to binary:
dataUriToBinary([Output from previous step])

Finally, the output of conversion can be used as content for an image, here's the GIF:

We'll try to update documentation with an example soon.

This is what I’m using following your last reply:
replace(triggerOutputs()?['SF05_Auth_sig1'],'"','')

SF05_Auth_Sig1 is the name of my signature column (also the internal name).

Not sure what the issue is having followed your guidance.

I have saved as a new flow incase it had got corrupt but this didnt solve the issue.

Got it working by re-creating the flow from scratch! :slight_smile:

Thank you for your help!

1 Like

Hi @Nikita_Kurguzov

I'm wondering how I can get the Likert results into a readable format in Word?

As you will see below, I have headings with numbers next to them and I have highlighted (in red) an output of the Likert data to a Combo Box Content Control.
I'm just wondering how I can make more sense of this data and what which section it relates to in the document?

image

Below is the original input in my Plumsail form:

Thanks,
Chris

Dear @chris.cundy,
Also, a multistep process, but you can get each value individually. First, Parse JSON the Likert column (can copy value from column in Quick Edit to use as sample), then set the Body from Parse JSON as a variable, and use it with expression:

variables('Variable name')[index]

to set other values:

Finally, you can use it to populate template:

This is the result:
image

1 Like

Hi @Nikita_Kurguzov,

I have partially got this working, however my likert control only appears to be bringing back one line of results.

In the form I have a control with multiple rows on it:

image

This is how the Likert scale is showing in the final document (as highlighted red):

image

I was expecting each of these results to appear in the Word document - do I instead need to do a likert control for each row?

The reason I ask is because I already have 12 likert controls on the form already and some of these have up to 5 rows each and I dont want to be in the position where I have to create 5 likert controls for each section.

My flow following "When an item is created":

image

image

image

If you could help me out again, Id really appreciate it! :slight_smile:

Dear @chris.cundy,
In my example, I've used mutliple variables to get each separate line from Likert Scale. You first place all Likert Scale values into an array, but then you access them like this:

variables('Array1')[0]
variables('Array1')[1]
variables('Array1')[2]
variables('Array1')[3]

So, do I add them all into this one?

image

Or do I need to create a new action for each line?

Dear @chris.cundy,
Well, you can just add more of the same, just like you've added the first one, perhaps separate them with comma, something like this (each one has to have its own index):
image

OK, so I've managed to get all the values into the word document now!

image

How can I separate these onto individual lines to provide headings for each in the document?

Dear @chris.cundy,
If you want them separately, then do not put them into one string :smiley:

You can create many variables like these, and use each one separately:
image

I've managed to do it this way - it seems to work well:

image

1 Like