JSON (v1 & v2)

A fully working flow can be found here

https://powerdevbox.com/assets/AutoReviewDemo_2_0_0_1.zip

Inputs (required)

Display Name

Display name of the flow

Flow ID

Unique ID of the flow, recomed using Resource id or workflowid

Owner

Flow owner/maker

Environment

Environment name

Definition

Flow definition/clientData

Inputs Optional

AutoReview allows configuration of the review metrics, if left blank the review will follow the default values.

Scoring and Ratings are not currently used in JSON, but will be in a future update

Complexity

New complexity items can be added with the 'Add new item' button. Though we recommend using the text mode (small pen in top right corner).

The complexity json object can then be edited in a source code editor (like Visual Studio Code or Notepad++) and then pasted in its entirety into the aComplexityTemplate input. With the reference inputted to the Reference Complexity.

Naming Convention

The naming convention json has to be placed in 2 inputs.

  • Naming Char - char

  • Data - data array.

Outputs

The JSON action returns all the key information about the flow in a json object. A full copy of the schema can be found here Data JSON

Data Object

Key
Description
Example

name

Flow Display name

Test Flow

id

Flow Resource Id

a219f90b-b883-45af-aaf8-a3e7ba4d199c,

environment

Environment (not currently used)

Default

owner

Email of owner

trigger

Trigger name

When_a_new_email_arrives_in_a_shared_mailbox_(V2),

triggerData

Stringifed JSON with all the key information about the trigger

{\"mailboxAddress\":\"testMailbox@mail.com;\",\"folderId\":\"Inbox\",\"importance\":\"Any\",\"hasAttachments\":false,\"includeAttachments\":false}

triggerParam

Stringifed JSON with all parameters from trigger

{\"host\":{\"apiId\":\"/providers/Microsoft.PowerApps/apis/shared_office365\",\"connectionName\":\"shared_office365\",\"operationId\":\"SharedMailboxOnNewEmailV2\"},\"parameters\":{\"mailboxAddress\":\"testMailbox@mail.com;\",\"folderId\":\"Inbox\",\"importance\":\"Any\",\"hasAttachments\":false,\"includeAttachments\":false},\"authentication\":\"@parameters('$authentication')\"}

triggerConfig

Stringifed JSON with trigger settings

none

triggerExpress

Any trigger conditions

@or(contains(triggerOutputs()?['body/subject'],'Report'),contains(triggerOutputs()?['body/subject'],'Data'))

triggerInputs

Any trigger inputs

{\"text\":{\"title\":\"resourceid\",\"type\":\"string\",\"x-ms-dynamically-added\":true,\"description\":\"Please enter your input\",\"x-ms-content-hint\":\"TEXT\"},\"text_1\":{\"title\":\"flowid\",\"type\":\"string\",\"x-ms-dynamically-added\":true,\"description\":\"Please enter your input\",\"x-ms-content-hint\":\"TEXT\"}}

triggerRecur

Trigger schedule (if applic)

{\"interval\":1,\"frequency\":\"Week\",\"timeZone\":\"UTC\",\"startTime\":\"2024-07-12T09:00Z\",\"schedule\":{\"weekDays\":[\"Sunday\"],\"hours\":[\"10\"],\"minutes\":[0]}}

premium

Uses premium connectors

false

connectionRefs

Count of Connection References

3

connectors

Count of api actions

13

steps

Count of all actions

55

variables

Count of variables

8

complexity

Complexity score

100

varNaming

All variables follow naming convention

true

varNameConsts

Declared variables follow const naming convention

false

varNameUse

All variables used

true

composes

Count of composes

4

exception

Count of exception actions (runAfter Failed)

0

exceptionHandleScope

Exception scope used

false

exceptionScope

Exception scope named 'Exception'

false

exceptionTerminate

Terminate used in exception block

false

exceptionLink

Exception expression link to run used

false

mainScope

Scope named 'Main'

false

variableArray

All variables in an array

SEE VARIABLE ARRAY

actionArray

All actions in an array

SEE ACTION ARRAY

apiActionArray

All actions that are api type in an array

SEE ACTION ARRAY

exceptionArray

All actions that have runAfter Failed in an array

SEE EXCEPTION ARRAY

connectionArray

All connection references used in an array

SEE CONNECTION ARRAY

actionObjectArray

All actions in an array but includes raw json object

SEE ACTIONOBJECTARRAY

Variable Array

Key
Description
Example

name

Variable name

aTestVar

type

Type of variable

array

value

initialised Value

['a','b']

used

Is the variable used

FALSE

named

Does variable follow naming convention

TRUE

ActionArray

Key
Description
Example

name

Action Display Name

Send_an_email_from_a_shared_mailbox_(V2)

step

Action Name

SharedMailboxSendEmailV2

type

Action Type

OpenApiConnection

id

Action ID

1dafa9cb-455e-42fc-8445-4187dfa32fa5

hashId

As action id not uique, creates unique ref for flow

1dafa9cb-455e-42fc-8445-4187dfa32fa5###32

tier

Premium or Standard

Standard

connector

Connection group

shared_office365

runAfter

What the action runs after and method

Store_on_Exception_list: Succeed

exception

Does the runAdter include 'Failed'

Non-Exception

index

Order action processed (this is the order the actions are created in the designer)

4

complexity

Complexity score

3

detail

Stringified json of the actions inputs

{\"emailMessage/MailboxAddress\":\"ECSO_waste@tjxeurope.com\",\"emailMessage/To\":\"@variables('sEmail')\",\"emailMessage/Subject\":\"Wasted Journey Notification – Store @{items('Apply_to_each')?['store']} @{items('Apply_to_each')?['postcode']}\",\"emailMessage/Body\":\"\\n@{if(equals(items('Apply_to_each')?['img'],'Yes')\\r\\n,\\r\\n\\treplace(\\r\\n\\t\\toutputs('Update_email_YTD')\\r\\n\\t,\\r\\n\\t\\t'[Photo]'\\r\\n\\t,\\r\\n\\t\\t'*See attached picture taken.'\\r\\n\\t)\\r\\n,\\r\\n\\treplace(\\r\\n\\t\\toutputs('Update_email_YTD')\\r\\n\\t,\\r\\n\\t\\t'[Photo]'\\r\\n\\t,\\r\\n\\t\\t''\\r\\n\\t)\\r\\n)}\ \\n\",\"emailMessage/Attachments\":\"@variables('aImages')\",\"emailMessage/ReplyTo\":\mail@mail.com\"}

filter

Get Items filter parameter

Title eq 'Hello'

pagination

Get Items pagination threshold

1000

secure

Secure properties

{\"properties\":[\"inputs\",\"outputs\"]} *inputs,outputs

retry

Retry type

exponential

timeout

Timeout time

P1D

position

What the action runs after

| Store_on_Exception_list|

positionInfo

Is it inside a container (internal/external)

internal

environmentVariables

Environment variables within the action

null

environmentB

Contains environment variable

false

notes

Action notes

This is a note

parent

Name of parent container

Apply_to_each

branch

If inside branching container shows name

Yes

positionIndex

Index of parent container

|15

positionType

Parent Runs after type

|OpenApiConnection

nested

Levels of nesting (Example action is within action index 3 which is inside exception with index 24)

"3|24"

  • Proposed update to V2 API and V3.2.0 app/ext update to clean json to plane text

apiActionArray

Same structure as ActionArray

ExceptionArray

Same structure as ActionArray

ConnectionArray

Key
Description
Example

conName

Connection name

shared_excelonlinebusiness,

appId

Connection id url */Connection Refernce

/providers/Microsoft.PowerApps/apis/shared_excelonlinebusiness * new_sharedsharepointonline_faec2

opId

Connection type

RunScriptProd,

count

Count of connection usage

1

*Propsed update for V2 api/connector and V3.2.0 App/Ext

In this update if it is a legacy export then will still show Connection id url, if its a solution aware export then it will show the connection reference name

ActionObjectArray

Key
Description
Example

step

Action Name

If

connector

API connection type (only for actions with connection)

shared_excelonlinebusiness

name

Action Display Name

Condition

id

Action ID

ffbca394-0e04-4da7-8459-b70c7b74e98a

hashId

As action id not unique, creates unique ref for flow

ffbca394-0e04-4da7-8459-b70c7b74e98a###4

object

Stringified json of the action

{\"runAfter\":{\"Create_item\":[\"Succeeded\"]},\"expression\":{\"equals\":[\"@items('Apply_to_each')?['img']\",\"Yes\"]},\"metadata\":{\"operationMetadataId\":\"ffbca394-0e04-4da7-8459-b70c7b74e98a\"},\"type\":\"If\",\"operationName\":\"Condition\",\"nestedLevel\":1,\"parent\":\"Apply_to_each\",\"branch\":\"Yes\"

type

Action type

If

index

Order action processed (this is the order the actions are created in the designer)

4

parent

Container within

Apply_to_each


Next Steps - File

File (v2)File (v1)

Last updated