Predefined Flow Contexts

Input Parameters

In the Flow Context, certain sections of the JSON structure are reserved for special purposes. These predefined areas are used to store incoming event data and define outgoing event data such as the HTTP response. They follow a fixed schema that allows arbitrary data to be passed between events.

At present, only the Flow Context contains these predefined fields and schema. The Global Context remains empty unless explicitly populated by the user.

Incoming webhook requests are stored in the Flow Context path:

$.inputParams

They are automatically populated at the beginning of a flow execution for an incoming event. This allows flow logic to access any part of the original request without additional parsing.

Example input parameter structure:

Rendering...

onigma Connect automatically normalizes various request content types (JSON, XML, form-encoded, plain text, etc.) into JSON where possible, ensuring consistent handling in flows. Different properties of $.inputParams map directly to different parts of the original HTTP request.

The predefined properties are:

$.inputParams.requestUrl

Contains the full request URL, including domain, endpoint path, and parameters exactly as they were sent. https://example.org/integrations/events?type=newest

$.inputParams.method

The HTTP request method used when triggering the webhook, e.g. GET, POST, PUT.

$.inputParams.subpath

The relative path segment of the request URL after the webhook’s base endpoint, including URL parameters. E.g. /events?type=newest

$.inputParams.headers

All HTTP request headers as key–array pairs, supporting repeated headers. Example:

Rendering...

$.inputParams.query

All query string parameters as key–array pairs, using the same format as headers. Example:

Rendering...

$.inputParams.headers.

Array of values for a specific header. Header names are case-insensitive. Example:

Rendering...

$.inputParams.content

The parsed body of the incoming HTTP request. Content types like JSON, XML, or form data are normalized to JSON. Example:

Rendering...

$.inputParams.$metadata.contentDataType

Indicates the original format of the body before normalization. Example: JsonContentData

Response Definition

Analog to $.inputParams, $.outputParams is used to define the HTTP response that should be returned when a flow is triggered by a webhook event configured to require a response. The values in $.outputParams are parsed after the flow execution finishes and sent back to the client as an HTTP response.

Example response definition:

Rendering...

Only the following fields can be set inside $.outputParams:

  • statusCode – The HTTP status code for the response (for example 201 for "Created").

  • headers – A key–array mapping of HTTP headers. Each header name maps to an array of string values.

  • content – The body of the response. The structure and format depend on the desired response type.

  • $metadata.contentDataType – A required property that specifies the content type Conigma Connect should expect and serialize. This must match the type of data in content

By default, Conigma Connect only adds minimal HTTP headers to a response (date, server, transfer-encoding). If the response should include a body, the Content-Type header must be explicitly set to match the data in content (for example application/json, text/plain, text/xml).

The general syntax for $.outputParams is similar to $.inputParams, but properties that do not apply to responses, such as query parameters or sub-paths, are not included.

Hint: When setting $.outputParams in a flow, bracket notation should be used for the $metadata property:

$.outputParams['$metadata'].contentDataType = "JsonContentData"

On the other side, the following response is received (Postman example):