Integration Designer uses Redis for caching workflow execution data.Cache-specific configuration:
Variable
Description
Default Value
SPRING_CACHE_TYPE
Cache type
redis
SPRING_CACHE_REDIS_KEYPREFIX
Cache key prefix
flowx:core:cache:integration-designer:
SPRING_CACHE_REDIS_TIMETOLIVE
Cache time to live
5000000
Redis connection:Quick reference:
Environment Variable
Description
Example Value
Status
SPRING_DATA_REDIS_HOST
Redis server hostname
localhost
Recommended
SPRING_DATA_REDIS_PORT
Redis server port
6379
Recommended
SPRING_DATA_REDIS_PASSWORD
Redis authentication password
-
Recommended
REDIS_TTL
Cache TTL in milliseconds
5000000
Optional
Both SPRING_DATA_REDIS_* and SPRING_REDIS_* variable prefixes are supported. The SPRING_DATA_REDIS_* prefix is the modern Spring Boot standard and is recommended for new deployments.
For advanced Redis deployment modes (Sentinel, Cluster) and SSL/TLS setup, see the Redis Configuration guide. Note that Sentinel and Cluster modes are only supported by the Events Gateway service.
Integration Designer interacts with various APIs, some of which return large responses. To handle such cases efficiently, the FlowX WebClient buffer size must be configured to accommodate larger payloads, especially when working with legacy APIs that do not support pagination.
General timeout for AI Platform service calls (seconds)
30
FLOWX_AISERVICE_NODERUNNERTIMEOUTSECONDS
Timeout for AI node execution in workflows (seconds). Increase for Custom Agent nodes with many tool calls.
300
FLOWX_WORKFLOW_MAXEXECUTEDNODES is a safety guardrail — workflows that exceed this limit are terminated. Increase only if your workflows legitimately require more node executions.
Integration Designer uses a native script engine for executing JavaScript and Python scripts in workflow nodes. The native engine runs scripts in separate Node.js and Python worker processes.
The native script engine is the default starting with 5.9.0. It replaces the previous GraalVM-based engine and runs scripts in isolated Node.js / Python subprocess pools. If you need to revert to GraalVM, set APPLICATION_SCRIPT_ENGINE_PROVIDER=graalvm.
The Advancing Controller is a support service that optimizes advancing operations by ensuring efficient, balanced workload distribution—especially during scale-up and scale-down events. To enable Integration Designer to interact with the Advancing database, configure the following environment variables:
It can connect to the same database as the FlowX.AI Engine.
Number of worker threads for reading from database (picking operations)
1
ADVANCING_PROCESSINGTHREADS
Number of threads for parallel processing of advancing events
20
ADVANCING_PROCESSINGBUFFERSIZE
Maximum buffer size for processing queue. Controls how many events can be queued
20
ADVANCING_BLOCKPICKINGIFNOWORKERAVAILABLE
Block picking operations when no worker threads are available
true
ADVANCING_PICKINGPAUSEMILLIS
Pause duration between picking batches (ms)
50
ADVANCING_COOLDOWNAFTERSECONDS
Cooldown period after processing a batch (seconds)
120
ADVANCING_SCHEDULER_HEARTBEAT_CRONEXPRESSION
Cron expression for the heartbeat
"*/2 * * * * ?"
How the new advancing controller works:
Picking threads (ADVANCING_PICKINGTHREADS): Controls how many worker threads read events from the database. This handles only the picking/reading operations.
Processing buffer (ADVANCING_PROCESSINGBUFFERSIZE): Acts as a queue between picking and processing. When the buffer is full, no new events are read. When there’s available space (even just 1 position), that amount of events will be read.
Processing threads (ADVANCING_PROCESSINGTHREADS): Controls how many threads process the advancing events in parallel. Events are processed instantly if processing threads are available. If all processing threads are busy, events accumulate in the buffer until it reaches capacity.
The Advancing Controller supports multiple database systems including PostgreSQL and Oracle. Ensure you configure the appropriate JDBC URL and driver class for your chosen database system.
Workflow partitioning allows you to manage workflow instance data more efficiently by organizing data into time-based partitions. This is particularly useful for large-scale deployments where workflow instances accumulate over time.
Environment variable
Description
Default value
Options
FLOWX_DATA_PARTITIONING_ENABLED
Turn on or off workflow instance partitioning
false
true, false
FLOWX_DATA_PARTITIONING_INTERVAL
Time interval for creating partitions
MONTH
DAY, WEEK, MONTH
FLOWX_DATA_PARTITIONING_ARCHIVING_ENABLED
Turn on or off automatic archiving of old partitions
Partitioning: When turned on, workflow instances are stored in time-based partitions according to the specified interval.
Partition interval: Determines how frequently new partitions are created (DAY, WEEK, or MONTH).
Archiving: When turned on, automatically archives partitions older than the specified retention intervals. For example, with MONTH interval and 3 retention intervals, partitions older than 3 months will be archived.
Archiving schedule: The cron expression controls when the archiving process runs. The default 0 0 1 * * ? runs daily at 1:00 AM.
Turn on partitioning and archiving only after careful planning and testing. Once turned on, ensure that your database has sufficient storage for partition management operations. It’s recommended to start with archiving turned off and turn it on only after verifying that partitioning works correctly for your use case.
Integration Designer requires two MongoDB databases for managing integration-specific data and runtime data:
Integration Designer Database (integration-designer): Stores data specific to Integration Designer, such as integration configurations, metadata, and other operational data.
Shared Runtime Database (app-runtime): Shared across multiple services, this database manages runtime data essential for integration and data flow execution.
Integration Designer requires a runtime connection to function correctly. Starting the service without a configured and active runtime MongoDB connection is not supported.
There are two types of Config Params that can be read from the environment: variables and secrets. There is one provider for variables and secrets extracted from the environment variables, and two providers for the ones extracted from Kubernetes. By default, the variables and secrets are extracted from environment variables (env provider).
Configuration parameters from environment variables (default)
The env provider used for variables and secrets extracts them from environment variables. For security reasons, the env provider uses an allow list regex which defaults to FLOWX_CONFIGPARAM_.*. This means only environment variables that match this naming pattern can be read at runtime into configuration params (either as variables or secrets). Feel free to edit it to match the environment variables that you use in your deployment.
Environment variable
Description
Default value
FLOWX_CONFIGPARAMS_VARS_PROVIDER
Provider type for variables
env
FLOWX_CONFIGPARAMS_VARS_ALLOWLISTREGEX
Regular expression to match allowed env variables for variables
FLOWX_CONFIGPARAM_.*
FLOWX_CONFIGPARAMS_SECRETS_PROVIDER
Provider type for secrets
env
FLOWX_CONFIGPARAMS_SECRETS_ALLOWLISTREGEX
Regular expression to match allowed env variables for secrets
You can configure multiple secrets and ConfigMaps by incrementing the index number (e.g., FLOWX_CONFIGPARAMS_PROVIDERS_K8SSECRETS_SECRETSLIST_1, FLOWX_CONFIGPARAMS_PROVIDERS_K8SCONFIGMAPS_CONFIGMAPSLIST_1). In dev environments, the typical ConfigMap/Secret name is flowx-rt. Values are overridden based on the order in which the maps are defined.The default provider is env, but there is a built-in allowlist with the regex pattern FLOWX_CONFIGPARAM_.*. This means only configuration parameters that match this naming pattern can be read at runtime, whether they are environment variables or secret variables.
The Integration Designer uses a structured topic naming convention that follows a standardized pattern, ensuring consistency across environments and making topics easily identifiable.
Topic naming components
Environment variable
Description
Default value
KAFKA_TOPIC_NAMING_PACKAGE
Base package for topics
ai.flowx.
KAFKA_TOPIC_NAMING_ENVIRONMENT
Environment identifier
KAFKA_TOPIC_NAMING_VERSION
Topic version
.v1
KAFKA_TOPIC_NAMING_SEPARATOR
Topic name separator
.
KAFKA_TOPIC_NAMING_SEPARATOR2
Alternative separator
-
KAFKA_TOPIC_NAMING_ENGINERECEIVEPATTERN
Engine receive pattern
engine.receive.
KAFKA_TOPIC_NAMING_INTEGRATIONRECEIVEPATTERN
Integration receive pattern
integration.receive.
Topics are constructed using the following pattern:
When a workflow triggered by a UI Flow finishes, the integration-designer sends the result to the process-engine so the session variables are updated automatically.
Environment variable
Description
Default Pattern
KAFKA_TOPIC_UIFLOW_UPDATE_OUT
Topic for sending workflow results to process-engine for UI flow session variable updates
ai.flowx.core.trigger.ui-flow.update.v1
Knowledge Base store entry lifecycle topics
These topics handle communication between Integration Designer and the AI Platform for Knowledge Base store entry indexing operations.
Environment variable
Description
Default Pattern
KAFKA_TOPIC_KB_STOREENTRYLIFECYCLE_IN
Topic for receiving KB store entry index responses from AI Platform (consumed)
The sync.out.v1 and correction-after-app-operation.response.v1 topics exist since 5.1.x (produced by admin). Starting with 5.5.0, integration-designer also produces to these shared response topics for system and workflow sync/correction operations.
OAuth authentication variables (when using SASL_PLAINTEXT)
Environment Variable
Description
Default Value
KAFKA_OAUTH_CLIENT_ID
OAuth client ID
kafka
KAFKA_OAUTH_CLIENT_SECRET
OAuth client secret
kafka-secret
KAFKA_OAUTH_TOKEN_ENDPOINT_URI
OAuth token endpoint
kafka.auth.localhost
When using the kafka-auth profile, the security protocol will automatically be set to SASL_PLAINTEXT and the SASL mechanism will be set to OAUTHBEARER.
When configuring Kafka topics in the FlowX ecosystem, ensure proper coordination between services:
Topic name matching: Output topics from one service must match the expected input topics of another service.
Pattern consistency: The pattern values must be consistent across services:
Process Engine listens to topics matching: ai.flowx.engine.receive.*
Integration Designer listens to topics matching: ai.flowx.integration.receive.*
Communication flow:
Other services write to topics matching the Engine’s pattern → Process Engine listens
Process Engine writes to topics matching the Integration Designer’s pattern → Integration Designer listens
The exact pattern value isn’t critical, but it must be identical across all connected services. Some deployments require manually creating Kafka topics in advance rather than dynamically. In these cases, all topic names must be explicitly defined and coordinated.
Large message handling for workflow instances topic
The workflow instances topic requires special configuration to handle large messages. By default, Kafka has message size limitations that may prevent Integration Designer from processing large workflow payloads.Recommended max.message.bytes value: 10485760 (10 MB)
The Integration Designer service uses the standard FlowX.AI ingress pattern. For complete setup instructions including the full ingress template, CORS configuration, and troubleshooting, see the Ingress Configuration Guide.Service-specific values for Integration Designer:
Ingress name:integration-designer-admin
Service path:/integration(/|$)(.*)
Service name:integration-designer
Rewrite target:/$2
Fx-Workspace-Id: Required
Complete Ingress Configuration
View the centralized ingress guide for the complete configuration template, annotations reference, and best practices.
Integration Designer requires specific RBAC (Role-Based Access Control) permissions to access Kubernetes ConfigMaps and Secrets, which store necessary configurations and credentials. Set up these permissions by enabling RBAC and defining the required rules:
This configuration grants read access (get, list, watch) to ConfigMaps, Secrets, and Pods, which is essential for retrieving application settings and credentials required by Integration Designer.
The Integration Designer service is exposed externally on the admin host. Routing is configured through the FlowX Helm chart, which renders either a Kubernetes Ingress (default) or a Gateway API HTTPRoute per service. CORS handling lives in the service code; only the allowed-origins list is deployment-specific.
Comma-separated list of origins allowed to call this service from the browser. Supports wildcard subdomains. Must include every Designer and integration domain that issues browser requests against Integration Designer.
-
Allowed methods, allowed headers (including Authorization, Content-Type, Fx-Workspace-Id), and credential handling are baked into the service’s application.yaml with safe defaults. Override these only if you have a non-standard requirement.For the complete route reference, Gateway API HTTPRoute configuration, and route customization, see the ingress configuration guide.