Property Type

Default Property

Values for Default Properties can be set via the Run Now Pane or provided by API.

Site Configuration Property

Values for Configuration Properties are persisted at the Site level via the Configure Workflow Pane.

When defining a Configuration Property, a value must also be provided for Configuration Name which is a key that will be used to store the value against.

Configuration Properties should be used to store information that shouldn't be hard-coded into the Workflow Design but may need to change in future. Examples include email addresses for notification emails, the URL for an API endpoint or the frequency of a poll process.

Hidden Property

Hidden Properties don't show on the Run Now Pane and provide a centralised way to store data that needs to be accessible from multiple places within the Workflow.

Special Input Variables

Following is a list of special variables that provide additional meta-data about the Workflow. These Properties can be accessed by clicking the button to the right of the Property name.

FgSiteId (Input, GUID)
Provides the identity of the Site in which the Workflow resides. This is the same identity shown in the Site Details pane.

FgSiteName (Input, String)
Provides the name of the Site in which the Workflow resides.

FgWorkflowId (Input, GUID)
The identity of the executing workflow. This is the same identity shown in the Workflow Design Pane.


FgWorkflowName (Input, String)
Provides the name of the currently executing top-level Workflow.


FgWorkflowInstanceId (Input, GUID)
A unique identifier that represents the current task instance.


FgUsername (Input, String)
The username of the user who executed the Workflow. When a Workflow is executed from the Console, this is the identity of the user who is logged in. When executed via API call, this is the identity of the authenticated user or the name of the API Key.


FgProfile (Input, String)
The Environment under which the current Workflow instance is executing. For example Production or Test.


FgAction (Input, String)
Contains a static list of actions that are available in the Run Now screen. When present, the current action will be shown on the Run button itself and users will be able to select other actions


REST API Input Variables

Following is a list of special variables that provide interaction with REST API requests. These Properties can be accessed by clicking the button to the right of the Property name.


FgRequestBody (Input, Type determined by Content-Type Header)
Contains the raw HTTP POST payload when the Workflow is invoked via API. For Content Types application/json, text/* and application/x-www-form-urlencoded, FgRequestBody will be a UTF8 encoded string representation of the request. For all other content types, FgRequestBody will be a byte array.
It's easiest to work with data in JSON or XML form in Flowgear. Use the sample workflow https://flowgear.me/s/3WPQVnz to see how to convert form data to a JSON document.


FgRequestHeaders (Input, String)
Contains a list of all HTTP Request Headers that were sent when the Workflow is invoked via API.


FgRequestContentType (Input, String)
Contains the HTTP Content-Type Header when the Workflow is invoked via API.


REST API Output Variables

Following is a list of special variables that enable the Workflow to customise the HTTP Response. These Properties can be accessed by clicking the button to the right of the Property name.


(FgResponseCode (Output, Number)
Provides a mechanism for the Workflow to specify the HTTP response code to be returned to the consumer. If not supplied, 200 will be returned. If an unhandled error occurs, 500 will always be returned. To override, add a custom error handler - see Error Handling.


FgResponseBody (Output, User Defined)
Provides a mechanism for the Workflow to emit a Raw HTTP Response payload. In this context, it is possible to emit an HTML page or file download as a result of the API call rather than JSON-encoded Key-Value Pairs.


FgResponseHeaders (Output, String)
Provides a mechanism for emitting custom HTTP Response Headers. Headers should be supplied exactly as they should appear in the HTTP Response. Namely, key:value pairs, one per line.


FgResponseContentType (Output, String)
Specifies the HTTP Response Content-Type Header. If omitted, the default Response Content-Type Header will be application/octet-stream. This property only has an effect in Raw mode.


FgResponseContentDisposition (Output, String)
Enables the Workflow to override the Content-Disposition HTTP Response Header. If omitted, a Content-Disposition Header of the form attachment;filename=Result.{file-extension} will be generated by Flowgear when the Variable Bar field FgResponseBody has a Type of File specified. In all other cases, this variable is not set.


http://flowgear.me/s/VkcFwMf provides an example of how to use FgResponseBody and FgResponseContentType.

Property Types

The Type determines how the editing control for the Node will render.


Text
This will show a normal text box, and does not support multiline text


YesNo
This will display a checkbox, and the value will be True or False


Number
This will look the same as the Text type


List
This will show a drop down. This must be configured, and must either have a static list, or reference a workflow that have a Xml output called List


Date
This will display a date time picker


Xml
This display a link that will show a text editor. The link display edit xml for inputs, and view xml for outputs


MultilineText
This is like the Xml type, but instead of showing edit xml, it shows edit text

File
This will show a link Download File, which will download a file with the name of the property, and the file extension set in the File Ext. column


Connection
This is a special property, which must be configured to use a specific connection type. In the Run Now screen, it will display the properties of the connection type. This can be plugged into the node.


File Extension

When Type is set to File, specify the File Extension that should be served when content is downloaded from the property.

Did this answer your question?