Skip to main content
Version: 5.1

Manage Integrations

An integration in ICP represents a deployable Ballerina or MI application that runs in one or more environments. Each integration belongs to a project and is the primary unit for viewing logs, metrics, and runtime status in the ICP console. This page guides you through creating integrations and navigating the integration home.

Create an integration​

  1. Navigate to a project's home page.

  2. Click + Create Integration. The Create New Integration form opens.

    FieldRequiredDescription
    Display NameYesHuman-readable name shown in the console (e.g. Order Create)
    NameAutoURL-safe slug derived from the display name. Click the edit icon to override.
    DescriptionNoOptional free-text description of the integration
    TechnologyYesWSO2 Integrator (default profile, Ballerina) or WSO2 Integrator: MI (Micro Integrator). Defaults to WSO2 Integrator.
    Integration TypeNoWhat the integration does: Integration as API, Automation, Workflow, File Integration, Event Integration, AI Agent, or MCP Server. Workflow is available only for WSO2 Integrator.
  3. Click Create.

ICP opens the new integration's overview.

Edit an integration​

  1. On the project home, click the Edit icon on the integration's row.
  2. Update the Display Name, Integration Type, or Description. The Name and Technology cannot be changed.
  3. Click Save.

Delete an integration​

  1. On the project home, click the Delete icon on the integration's row.
  2. Type the integration's display name to confirm, then click Delete.

You can only delete an integration that has no registered runtimes. Delete its runtimes first (see Manage runtimes). This action cannot be undone.

Integration home​

The integration overview shows one environment card per environment. Each card displays:

  • Environment name and a badge showing how many runtimes are active (e.g. 1/1 Active or 0/1 Active).
  • View Runtimes, a refresh icon to reload runtime status, and a Settings icon.
  • An Endpoint selector listing the services and automations exposed by the integration. For a selected service, the card shows its resources and the listeners it is attached to.
  • For MI integrations, Entry Points and Supporting Artifacts tabs.
  • + Add Runtime link when no runtimes are registered yet.

When no runtimes are connected, the card shows: "No entry points found for this integration. Add runtime to get started."

Integration sidebar​

The sidebar changes to integration scope when you navigate into an integration:

ItemDescription
OverviewEnvironment cards with entry points and runtime status
TestSend test requests to the integration's services. Not shown for workflow integrations.
RuntimesRuntime instances connected to this integration
WorkflowsWorkflows and executions for this integration. Shown only for workflow integrations.
Human TasksHuman tasks for this integration's workflows. Shown only for workflow integrations.
LogsIntegration-specific logs from connected runtimes
LoggersConfigure log levels per runtime
MetricsPer-integration request metrics and latency data
Access controlRole assignments scoped to this integration

Runtimes​

The Runtimes page groups runtime instances by environment. Each environment section shows a search bar, a refresh icon, and a runtime table:

ColumnDescription
Runtime NameDisplay name assigned when connecting the runtime
Runtime IDUnique identifier (UUID)
TypeWSO2 Integrator (default profile) or WSO2 Integrator: MI
StatusRUNNING or OFFLINE
VersionRuntime version
PlatformBallerina runtime version (e.g. Ballerina 2201.13.4 (Swan Lake Update 13))
OSOperating system of the host machine
Registration timeWhen the runtime first connected to ICP
Last heartbeatTimestamp of the most recent heartbeat received
ActionsDelete icon to remove the runtime, available only when the runtime is OFFLINE

Logs​

The Logs page shows runtime log entries when both a connected runtime and an observability provider are configured. See Observability setup to enable this.

When operational, the page provides:

  • Filtering: Environment, log level (INFO, WARN, ERROR, DEBUG), time range, and a keyword search bar
  • Display controls: Sort order (Newest first / Oldest first), auto-fetch toggle for automatic reload, and an entry count showing how many entries are loaded
  • Actions: Refresh button for manual reload and a download button to export log entries
  • Log entries: Each entry shows a timestamp, level, and message

Loggers​

The Loggers page lets you change the log level of a running Ballerina integration without restarting it. Loggers are grouped by environment, and each row is a logger reported by the connected runtimes, such as the root logger, with its current log level.

ColumnDescription
Component NameName of the logger (e.g. root)
Log LevelCurrent log level: DEBUG, INFO, WARN, or ERROR

Change the log level​

  1. Navigate to Loggers in the integration sidebar.
  2. Find the environment section for the environment you want to update.
  3. In the Log Level column, click the dropdown next to the component and select a new level.

The change is applied immediately to all runtimes connected to that integration in the selected environment. A spinner appears next to the dropdown while the update propagates. Once the runtimes acknowledge the new level, the spinner clears.

The available log levels for Ballerina integrations are:

LevelWhen to use
DEBUGVerbose output for troubleshooting; logs all detail including internal state
INFOStandard operational messages; recommended for normal production use
WARNPotentially harmful situations that do not cause a failure
ERRORError events that may still allow the integration to continue running

Click View Runtimes on any logger row to see which runtime IDs are receiving log level commands for that component.

Metrics​

The Metrics page shows request performance data when both a connected runtime and an observability provider are configured. See Observability setup to enable this.

When operational, the page provides:

  • Summary cards: Total Requests, Error Count, Error Percentage, and P95 Latency
  • Overview charts: Requests Per Minute and Request Latency (average, P50, P95, P99)
  • Most Used APIs: Table with per-endpoint request counts, error counts, and average response times
  • Statistics of APIs: Section with an API filter dropdown, showing Requests Per Minute, Average Request Latency, Successful Requests by API, and Failed Requests by API charts

Listeners​

Ballerina listeners (HTTP, TCP, and other transport listeners) appear on the integration Overview, under the service they are attached to. Each listener row shows its name, protocol, host and port, and its state (Enabled or Disabled). You can start or stop individual listeners directly from the console, which sends a control command to all runtimes running that listener in the selected environment.

Listener row with View Details and Disable buttons, and the disable confirmation dialogListener row with View Details and Disable buttons, and the disable confirmation dialog

Start or stop a listener​

  1. Open the integration and go to Overview.
  2. In the environment card, select the service in the Endpoint selector.
  3. On the listener row, click Disable or Enable. To see the listener's details, click View Details.
  4. A confirmation dialog appears. Click Disable or Enable to confirm.

ICP sends a START or STOP command to every runtime associated with the listener. The listener state updates to Enabled or Disabled once the runtimes acknowledge the command.

Detail fieldDescription
PackageModule that provides the listener (e.g. ballerina/http:2)
ProtocolTransport protocol (e.g. HTTP, TCP)
HostHostname the listener is bound to
PortPort the listener is bound to

What's next​