cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
CABIRD
Post Patron
Post Patron

Flow Parse JSON use a sample payload to generate schema

Hello

I've looked for training module to generate 'Flow' JSON scheme. While I have successfully built Flows with JSON it's more a hit and miss implementation. The principal reason my understanding at this moment in time is inadequate as to how to generate a schema correctly. 

 

Is there any step by step training available?

 

Regards

Christopher

 

 

1 ACCEPTED SOLUTION

Accepted Solutions

Hi

 

If you are following Paul's video at about 4:15 he shows what he is sending to the Flow from PowerApp.

jsonflow answer.jpg
So using this as an example a sample payload for this would be

{"FileName":"aaa","File":"aaa"}

I put the names within quotes and I put example data in, eg the "aaa" is just to show the data will be a string.
 
So in the Parse JSON Action I click on Use Sample Payload to Generate schema and paste the above string in and then click Done. That should generate the schema for you.

Hope that helps.
 
Laura GB
 

View solution in original post

16 REPLIES 16
LauraGB
Kudo Collector
Kudo Collector

No obvious posts or blogs come to mind.

 

You could add a topic suggestion for the blog authors to take on at https://powerusers.microsoft.com/t5/Community-Blog-Topic-Suggestions/idb-p/BlogTopicSuggestions

 

Laura GB


faustocapellanj
Memorable Member
Memorable Member

Hi @CABIRD 

The Flow Nijna @Anonymous has a blog post about the Parse JSON action. He provides an excellent overview and several approaches to work with it. I suggest you check it out and try to implement it in your Flow. Please do not hesitate to reach out if you have questions.

http://johnliu.net/blog/2018/6/a-thesis-on-the-parse-json-action-in-microsoft-flow

Fausto Capellan, Jr
Did I answer your question? Mark my post as a solution! Did my response help? Please give it a thumbs up!

Hello @faustocapellanj 

 

Thank you for taking the time to reach out with an answer. I really appreciate you doing so.

 

As always John Liu article is excellent.

 

My biggest problem is 'how to get the sample payload to paste into the schema.'
 
Example Flow structure.

 

A Power App trigger, initialise variable, Parse JSON.

 

Try to save the Flow to run and you cannot save so cannot run generate the sample schema.  If there is no parse Json trigger how is the schema generated i.e. where is the scheme to copy and paste.

 

I included an image of a succussful Flow but this is after much trial and tribulation (created the scheme myself). There simply must be knowlege missing in my understanding.

 

Schema.png

 

Ideally a step by step illustrative guide would be helpful i.e. removes any ambugities and makes no assumptions as to user understanding.  Searching the internet I know I'm not the only one frustrated with the quote 'run the Flow to generate JSON scheme.'

 

Thank you and have fabulous day.

 

 

 

So, one thing I do is that I add the trigger and an action, and once the Flow is done running, I check the run history to get the body output. I then copy that information, add a Parse JSON action, click on Generate schema from sample payload and paste the body output I copied from the trigger or the next action. This generates the schema.
Please let me know if this helps answer your question.
Thanks.
Fausto Capellan, Jr
Did I answer your question? Mark my post as a solution! Did my response help? Please give it a thumbs up!

Hello @faustocapellanj 

 

Thank you for replying promptly.

I added the following

  • Trigger PowerApps
  • Initialise variable

Run the Flow prior to adding Parse JSON

See images below.

Trigger.png

Run History below

output.png

No output to copy and paste.

 

Hopefully the above illustrates my issue. Thank you. 

 

 

What are you sending from PowerApps to Flow?
Fausto Capellan, Jr
Did I answer your question? Mark my post as a solution! Did my response help? Please give it a thumbs up!

variable.png

I have a button. The button initiates Flow. Flow opens, I added an action. Save the Flow. From Flow I clicked Run and the above opens. I typed in hello.jpg. 

 

I have built an app that works but that was tortious process to state the least as I had to build the schema myself. I have the Flow upload audio, files, photos, pdf metadata to SharePoint. I begin with a PowerApp trigger then my action initialise variable, then Parse JSON, SharePoint Create File, Update file Properties. 

 

Obiviously I cannot add Parse JSON and save an run. 

 

So how do I get the generate JSON schema function to create the schema? 

 

Thank you. 

Here's a video that Paul Culmsee did on that:

https://www.youtube.com/watch?v=kQVYid1p_vA&t=254s

Fausto Capellan, Jr
Did I answer your question? Mark my post as a solution! Did my response help? Please give it a thumbs up!

Hello @faustocapellanj 

 

Thank you for forwarding the video. 

 

Let me repeat I have a Flow that works for all the features Paul's video illustrates. I just don't want to have to tediously build a schema each time if there is an approved methodogly. 

 

The issue is how do I generate the JSON scheme. The how is not explicitly shown in the video. Paul mentions running the Flow to generate the Scheme. However, you cannot generate output from PowerApp trigger and Initialise Variable alone to create JSON scheme.  

 

So, the question remains. How do I generate the output that enables me to paste schema into the generate JSON scheme?

 

Clearly, I’m missing something in my understanding.

Hi

 

If you are following Paul's video at about 4:15 he shows what he is sending to the Flow from PowerApp.

jsonflow answer.jpg
So using this as an example a sample payload for this would be

{"FileName":"aaa","File":"aaa"}

I put the names within quotes and I put example data in, eg the "aaa" is just to show the data will be a string.
 
So in the Parse JSON Action I click on Use Sample Payload to Generate schema and paste the above string in and then click Done. That should generate the schema for you.

Hope that helps.
 
Laura GB
 

Hello @LauraGB 

 

Thank you. 

 

I assume the generated schema is correct although the "type" would need to change to "File" etc. to have relevance to further Flow development. 

 

{
    "type": "object",
    "properties": {
        "type": {
            "type": "string"
        },
        "properties": {
            "type": "object",
            "properties": {
                "FileName": {
                    "type": "object",
                    "properties": {
                        "type": {
                            "type": "string"
                        }
                    }
                },
                "File": {
                    "type": "object",
                    "properties": {
                        "type": {
                            "type": "string"
                        }
                    }
                }
            }
        }
    }
}

Thank you. 

 

Regards

Christopher

Hi @CABIRD 

The JSON schema doesn't have a File type. If the goal is to send info from PowerApps to Flow to create a file, at the 3:50 marker of Paul's video, you can see that File is of String type. Also at that point, you can see that he wraps in the File property from the Parse JSON action inside a dataUriToBinary() expression so that can be the file content. Please check out the screenshot I attached.Untitled.png

Fausto Capellan, Jr
Did I answer your question? Mark my post as a solution! Did my response help? Please give it a thumbs up!

Hello @faustocapellanj 

 

Thank you.

 

I have a working Flow. My issue was I didn't want to spend days at some point in the future having to manually create a new schema for a new Flow because I couldn't Parse JSON correctly. 

 

The dataUriToBinary() expression isn't a problem provided the Parse JSON schema is correct. 

 

I really appreciate your help resolving this. Thank you. 

 

Regards

Christopher

@CABIRD I totally hear you. When you have a chance, take a look at the PowerApps JSON function. It's actually so much easier to build your JSON in PowerApps and just send that as a single parameter to Flow.

https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/functions/function-json

Fausto Capellan, Jr
Did I answer your question? Mark my post as a solution! Did my response help? Please give it a thumbs up!

Hello @faustocapellanj 

 

Thank you. 

 

Clear documentation with examples. 

 

Best wishes

Christopher

Madiko
Frequent Visitor

did you find a solution? I have the same issue and posted here: https://powerusers.microsoft.com/t5/General-Power-Automate/Issue-with-JSON-PARSE/td-p/1291942

 

Can anyone help me?

Helpful resources

Announcements
MPA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

Learn to digitize and optimize business processes and connect all your applications to share data in real time.

New Process Advisor Capabilities carousel.png

Read the blog for the latest news

Read the latest about new experiences and capabilities in the Power Automate product blog.

PA Survey Carousel Image.png

We want to hear from you!

If you are a small business ISV/Reseller, share your thoughts with our research team.

Users online (2,194)