Skip to main content

Release 0.5.55 — Multiple Webex Bots and Per-Surface Default Agents

Released: 2026-07-17 Chart: oci://ghcr.io/cnoe-io/charts/ai-platform-engineering:0.5.55 Previous release: 0.5.54

Highlights

0.5.55 significantly expands the Webex integration: a single deployment can now host multiple distinct Webex bots, each routing to different agents and enforcing independent direct-message access policies. Separately, users can now set independent default agents for the web interface, Slack, and Webex rather than sharing one platform-wide DM default.

Webex bot operators: this release changes the bot configuration format. See the upgrade guide for migration steps.

New Features

Multiple Webex bots on one deployment

Operators can now configure any number of Webex bot identities within a single platform deployment. Each bot is independent:

  • Routes its group spaces to a designated agent and team.
  • Enforces its own direct-message access policy: disabled, allowlist, or open to all users.
  • Carries its own bot token, so each identity authenticates separately.

This makes it possible, for example, to have a general-purpose bot in shared spaces and a restricted bot for a specific team — both running on the same platform.

Legacy migration: Existing space-to-agent assignments created before this release do not carry a bot identity. A Legacy Migration tab in the Admin UI lists all spaces in this state so operators can assign them to the correct bot before cutting over.

(#2184)

Per-surface default agents

Users can now set independent default agents for each surface they use:

  • Web — the agent that opens when starting a new conversation in the browser.
  • Slack — the agent that handles direct messages to the Slack bot.
  • Webex — the agent that handles direct messages to a Webex bot.

Slack and Webex selectors appear only when those integrations are active on the platform. The platform-wide default remains the fallback for any surface without a personal preference. Admins set the platform default from Admin > Settings > Agents.

The legacy shared DM default is retired. Existing selections fall back to the platform default automatically; an optional cleanup migration is available from the Admin tracked-migrations UI.

(#2233)

Breaking Changes

Webex bot configuration format changed

The previous flat env-var approach for Webex bot defaults (WEBEX_DEFAULT_TEAM_SLUG, WEBEX_DEFAULT_AGENT_ID, WEBEX_AUTO_ASSIGN_UNMAPPED_SPACES) is replaced by a structured bots array in Helm values. See the upgrade guide below.

This only affects deployments with tags.webex-bot: true. Deployments that do not run the Webex bot are unaffected.


Upgrade Guide: 0.5.54 → 0.5.55

Helm Values Changes

Webex bot multi-bot configuration (breaking for webex-bot users)

The following env vars are removed from the webex-bot subchart:

Removed keyReplacement
WEBEX_DEFAULT_TEAM_SLUGwebex-bot.bots[*].spaces.defaultTeamSlug
WEBEX_DEFAULT_AGENT_IDwebex-bot.bots[*].spaces.defaultAgentId or webex-bot.bots[*].directMessages.defaultAgentId
WEBEX_AUTO_ASSIGN_UNMAPPED_SPACESreplaced by per-bot spaces.accessMode

The new configuration uses a bots array. Each entry describes one bot identity:

Before (0.5.54):

webex-bot:
env:
WEBEX_DEFAULT_TEAM_SLUG: "platform"
WEBEX_DEFAULT_AGENT_ID: "agent-platform"
WEBEX_AUTO_ASSIGN_UNMAPPED_SPACES: "false"

After (0.5.55):

webex-bot:
bots:
- id: "primary"
name: "Platform Bot"
tokenEnv: "WEBEX_BOT_TOKEN" # env var holding the bot token in your secret
spaces:
accessMode: "all_spaces" # or "allowlist"
defaultTeamSlug: "platform"
defaultAgentId: "agent-platform"
directMessages:
accessMode: "all_users" # or "disabled" or "allowlist"
defaultAgentId: "agent-platform"

Per-surface default agent migration (optional)

The legacy dm_default_agent_id field in user preferences is retired. Existing values fall back to the platform default automatically — no action required. To clean up the retired field from the database, run the user_preferences_default_agent_cleanup_v1 migration from Admin > Tracked Migrations after upgrading.

Upgrade Runbook

1. Update your values.yaml

If you run the Webex bot (tags.webex-bot: true), replace the removed env vars with the new bots array as shown above.

2. Upgrade the chart

helm upgrade ai-platform-engineering \
oci://ghcr.io/cnoe-io/charts/ai-platform-engineering \
--version 0.5.55 \
-f your-values.yaml

3. Assign legacy Webex spaces (Webex bot only)

After the upgrade, open Admin > Integrations > Legacy Migration and assign any unattributed spaces to the correct bot.

4. Verify

kubectl get pods -n <namespace>

Full Values Diff

Raw diff (0.5.54 → 0.5.55)
-    WEBEX_DEFAULT_TEAM_SLUG: ""
- WEBEX_DEFAULT_AGENT_ID: ""
WEBEX_THREAD_CONTEXT_ENABLED: "true"
WEBEX_THREAD_CONTEXT_MAX_MESSAGES: "10"
WEBEX_THREAD_CONTEXT_MAX_CHARS: "4000"
- WEBEX_AUTO_ASSIGN_UNMAPPED_SPACES: "false"
- WEBEX_DEFAULT_TEAM_SLUG: ""
- WEBEX_DEFAULT_AGENT_ID: ""
+ # One runtime pod can host multiple bot identities. Each bot owns its group
+ # space and direct-message policy. Automatic modes require both defaults.
+ bots: []
+ # - id: "primary"
+ # name: "Primary bot"
+ # tokenEnv: "PRIMARY_WEBEX_BOT_TOKEN"
+ # spaces:
+ # accessMode: "all_spaces"
+ # defaultTeamSlug: "platform"
+ # defaultAgentId: "agent-platform"
+ # directMessages:
+ # accessMode: "all_users"
+ # defaultAgentId: "agent-personal"