I have some input variables in my workflow and want to input the values from API call into that workflow.
I always get the following error back when I grab the result over API, too:
"messageWithParams": "An expression (or part of an expression) resulted in a null near position {pos} where one is disallowed in expression '{expression}'.",*
I'm not sure you require the Flow block within the inputData. From the API help it defines:
inputData
(object, optional): Input values to the flow. Valid values are defined by a flow's input JSON schema.
And when I get the flow information of one of my flows it defines the following:
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Flow input schema",
"description": "Schema defining flow input parameters. Property names map to flow scoped variables marked as a flow input. If you do not supply a property value for an input variable, the variable value will be set to the initial value configured on it in the flow at flow startup.",
"type": "object",
"properties": {
"Slot.AccountType": {
"description": "Variable for the 'AccountType' slot.",
"$ref": "#/definitions/archString"
},
"Slot.Upgrade": {
"description": "Variable for the 'Upgrade' slot.",
"$ref": "#/definitions/archString"
}
},
Unfortunately I get the exact same error when I try it like you expressed:
This is the full response:
{
"id": "ia23k38g95qe6dimjh44kbmf1ppbcqpe6d0000qr80samqrce5",
"name": "executionOne",
"flowVersion": {
"id": "2.0",
"name": "2.0",
"commitVersion": "2.0",
"configurationVersion": "2.0",
"secure": false,
"debug": false,
"createdBy": {
"id": "bacb8dda-0061-4a67-9fa9-c55c9b616f2b",
"selfUri": "/api/v2/users/bacb8dda-0061-4a67-9fa9-c55c9b616f2b"
},
"configurationUri": "/api/v2/flows/8824ba71-9b2b-4e24-8739-5b359719a000/versions/2.0/configuration",
"dateCreated": 1686926279208,
"dateCheckedIn": 1686926279218,
"dateSaved": 1686926278309,
"generationId": "WORKFLOW_VERSION_PUBLISHED",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Flow input schema",
"description": "Schema defining flow input parameters. Property names map to flow scoped variables marked as a flow input. If you do not supply a property value for an input variable, the variable value will be set to the initial value configured on it in the flow at flow startup.",
"type": "object",
"properties": {
"Flow.myBool1": {
"$ref": "#/definitions/archBoolean"
},
"Flow.myInt1": {
"$ref": "#/definitions/archInteger"
},
"Flow.myString1": {
"$ref": "#/definitions/archString"
},
"Flow.userEmail": {
"$ref": "#/definitions/archString"
}
},
"additionalProperties": false,
"definitions": {
"archString": {
"archDataTypeId": "str",
"oneOf": [
{
"type": "null",
"description": "A NOT_SET String value."
},
{
"type": "string",
"maxLength": 32000,
"description": "A character string. Examples: \"\", \"Hello\", \"Just say \\\"No!\\\"\""
}
]
},
"archBoolean": {
"archDataTypeId": "bln",
"oneOf": [
{
"type": "null",
"description": "A NOT_SET Boolean value."
},
{
"type": "boolean",
"description": "A true/false boolean value. Examples: true, false"
}
]
},
"archInteger": {
"archDataTypeId": "int",
"oneOf": [
{
"type": "null",
"description": "A NOT_SET Integer value."
},
{
"type": "integer",
"minimum": -999999999999999,
"maximum": 999999999999999,
"description": "An integral numeric value. Examples: -3, 0, 1736"
},
{
"type": "string",
"minLength": 1,
"maxLength": 16,
"description": "A string representation of an integral numeric value. Examples: \"157\", \"-999999999999999\""
}
]
}
}
},
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Flow output schema",
"description": "Schema defining flow output parameters. Property names map to flow scoped variables marked as a flow output.",
"type": "object",
"properties": {
"Flow.myBool1": {
"$ref": "#/definitions/archBoolean"
},
"Flow.myInt1": {
"$ref": "#/definitions/archInteger"
},
"Flow.isUserFound": {
"$ref": "#/definitions/archBoolean"
},
"Flow.myString1": {
"$ref": "#/definitions/archString"
},
"Flow.foundUserName": {
"$ref": "#/definitions/archString"
}
},
"additionalProperties": false,
"definitions": {
"archString": {
"archDataTypeId": "str",
"oneOf": [
{
"type": "null",
"description": "A NOT_SET String value."
},
{
"type": "string",
"maxLength": 32000,
"description": "A character string. Examples: \"\", \"Hello\", \"Just say \\\"No!\\\"\""
}
]
},
"archBoolean": {
"archDataTypeId": "bln",
"oneOf": [
{
"type": "null",
"description": "A NOT_SET Boolean value."
},
{
"type": "boolean",
"description": "A true/false boolean value. Examples: true, false"
}
]
},
"archInteger": {
"archDataTypeId": "int",
"oneOf": [
{
"type": "null",
"description": "A NOT_SET Integer value."
},
{
"type": "integer",
"minimum": -999999999999999,
"maximum": 999999999999999,
"description": "An integral numeric value. Examples: -3, 0, 1736"
},
{
"type": "string",
"minLength": 1,
"maxLength": 16,
"description": "A string representation of an integral numeric value. Examples: \"157\", \"-999999999999999\""
}
]
}
}
},
"datePublished": "2023-06-16T14:37:59.279Z",
"supportedLanguages": [
{
"language": "en-us",
"isDefault": true
}
],
"selfUri": "/api/v2/flows/8824ba71-9b2b-4e24-8739-5b359719a000/versions/2.0"
},
"dateLaunched": "2023-06-20T10:16:39.974Z",
"status": "FAILED",
"dateCompleted": "2023-06-20T10:16:40.162Z",
"completionReason": "Failure",
"flowErrorInfo": {
"message": "An expression (or part of an expression) resulted in a null where one is disallowed.",
"code": "error.workflow.expression.unexpectedNull",
"messageWithParams": "An expression (or part of an expression) resulted in a null near position {pos} where one is disallowed in expression '{expression}'.",
"messageParams": {
"expression": "Flow.userEmail",
"pos": "0"
},
"details": [],
"errors": []
},
"selfUri": "/api/v2/flows/executions/ia23k38g95qe6dimjh44kbmf1ppbcqpe6d0000qr80samqrce5"
}
So when I look at the flow input schema in the response I would say my version I posted before was correct.
But the exception in the Flow I would interpret like this that Flow is null, isn't it?
Maybe I am blind to find the error in the flow?
This is the correct input request object in the Data Action which called the Workflow flow:
This is not really clear for me why this should be like this but this is working.
And it is the same when I request the response from the Workflow over Data Action as well.
This is a JSON example:
So no nested objects in JSON but only flat attribute names...