Parameters
The parameter list is a comma-separated list of parameter definitions, which include the name and type of the parameter.
<parameter-list> := "(" <parameter> { "," <parameter> } ")"
<parameter> := <$identifier> [ "optional" ] <parameter-type>
<parameter-type> :=
"bool" |
"int" |
"double" |
"string" |
"isodate" |
"json"
<table-type> |
<object-type> |
"any"
<table-type> := "table" "(" <table-column> { "," <table-column> } ")"
<table-column> := <identifier> [ "optional" ] <simple-type>
<simple-type> :=
"int" |
"double" |
"string"
<object-type> := "table" "(" <table-column> { "," <table-column> } ")"
<object-field> := <identifier> [ "optional" ] <parameter-type>
When an event is received, the event data is matched against the parameter list of the event declaration. It is an error if the event data does not include any of the parameters, or if the value is null, unless the parameter is declared with the optional keyword.
Parameters of type isodate expect string values in RFC 3339 format. Otherwise, they can be used like any other string variable.
Parameters declared as type json will match any scalar or object value; however, the parameter value will be assigned the string representation of that value. Where appropriate, the parameter may be used with the ParseJson function. See the Objects section for details.
The any type may be used to accept any scalar, array or object values. Parameters of type any cannot be inspected but can be passed around within Paraflow and used as skill request or RPC call inputs.