cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Advocate II
Advocate II

Referencing output parameters from Stored Procedure Flow in PowerApps

The new Respond to PowerApps action in Flow looks to answer many prayers, but I can't get it to work with a SQL Server Stored Procedure. I'm trying to follow the Stephen Siciliano blog here.

 

I have a stored proc with several input parameters and 4 output parameters of various types (text, integer, bit). I create a new Flow. All the parameters, whether input or output, appear in the Execute Stored Procedure action. I ignore the output params and set the inputs to Ask in PowerApps dynamic content.

 

Then I add the Respond to PowerApps action. I select 'See more' by the Execute Stored Procedure option under Dynamic Content, but all I get is ReturnCode, not the output parameters. The flow executes ok but ReturnCode has no content.

 

Thinking perhaps the output parameter has to be singular and text, I've tried returning only one text parameter, but still don't see it.

 

I've tried the Request - Response action discussed here. This looks promising - it lists OutputParameters in the dynamic content options. Again the Flow runs but there is no content returned.

 

What am I doing wrong?

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted

Just in case anyone else sees this, Flow cannot return OUTPUT parameters from a stored procedure per the documentation:

 

https://docs.microsoft.com/en-us/connectors/sql/

View solution in original post

6 REPLIES 6
Highlighted
Community Support
Community Support

 

What is the output of the Stored Procedure within Microsoft Flow?

You should be able to get the procedure results with the following expression under Microsoft Flow:

body('<Action_name>')?['ResultSets']

Which you may reference the detailed value by adding:

body('<Action_name>')?['ResultSets']?['FieldName']

Regards,

Michael

 

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

Thanks Michael

Here's a sample flow. The Stored Procedure 'kmJunk' takes one integer input parameter and returns a single integer output parameter with the value 55:

Capture.PNG

 

The flow runs successfully and here's the result:

Capture.PNG

 

Surely this should be showing an output parameter (pOutput, with a value of 55)? The Stored Procedure is being fired and working correctly, and if I run it in SSMS I get some expected output parameter.

Not sure where to start with this..!

thanks

Jonathan

 

Highlighted

Just in case anyone else sees this, Flow cannot return OUTPUT parameters from a stored procedure per the documentation:

 

https://docs.microsoft.com/en-us/connectors/sql/

View solution in original post

Highlighted

@v-micsh-msftHi Michael. Your response here is very helpful with learning how to access the values within the ResultsSet. Is there any documentation or tutorials that elaborates deeper on how to do this?

 

Thanks!

Sean

Highlighted

Hi @sphillips22,

 

Sure. Microsoft Flow is built on top of Azure Logic Apps, so they would all work with the same language:

Workflow definition Language schema

 

Best regards,

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

Within the stored procedure, define the output parameter.... 

flow.png

Within the Flow, define a Respond to a PowerApp or flow step.  In my case the Output parameter is the second INT that I am returning...

flow2.png

Quick TIP.  If the data type is an INT, you must cast it to an INT via a formula, such as ...

 

int(body('ExecuteStoredProcedureV2')?['outputparameters/NewRootChildID'])

 

Finally, within the PowerApp, capture the return record from the call to the Flow, and reference the output value from the Stored Procedure.

 

UpdateContext({ReturnValuesVar: CopyPlantHierarchyTree.Run(ThisItem.ChildId, ThisItem.ParentId)});
If (ReturnValuesVar.returncodevalue = 0,
   UpdateContext({OutputValue: ReturnValuesVar.newrootchildid});
...

 

Here is the output from the flow after it was called from PowerApps...

flow3.png

Helpful resources

Announcements
Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

News & Announcements

Community Blog

Stay up tp date on the latest blogs and activities in the community News & Announcements.

secondImage

Power Platform 2020 release wave 2 plan

Features releasing from October 2020 through March 2021

Community Highlights

Community Highlights

Check out the Power Platform Community Highlights

Top Solution Authors
Top Kudoed Authors
Users online (10,187)