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 filled 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...

Conigma Connect automatically normalizes various request content types (JSON, XML, form-encoded, plain text, etc.) into JSON where possible (cf. chapter Body Content Conversion below), ensuring consistent availability within 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 result for $.inputParams.headers.x-ordertoken:

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

Body Content Conversion

Depending on the content data type received, Connect performs a conversion into JSON.

JSON

Stored directly as received.

Example:

Rendering...

Form URL-encoded

Converted to a JSON object where each field maps to an array of values.

Example:

event=order.created×tamp=2025-08-14T10:32:00Z

is converted into

Rendering...

Form-data

Stored as an array of parts, each containing headers and content.

Example:

Rendering...

Plain text

Stored as a single string.

Example:

Rendering...

XML

Converted into a JSON-like object that preserves XML node structure.

Example:

Rendering...

is converted into

Rendering...

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"

For the above JSON, on the other side, the following response is received (Postman example):