Extend

Marketplace

Settings › Marketplace is the one place to add extensions to a workspace: channels, remote data lookups, rule and flow templates, apps and agent bots, each installed and set up per workspace, with one way to configure, pause, update and remove them.

Last updated

How it works

Settings › Extensions › Marketplace replaced the separate Integrations, Apps, Plugins, Data connectors and Agent bots pages; Developers keeps API keys and Webhooks. Three rules hold everywhere:

  • Only Kommio publishes. There is no publishing screen for other companies. A workspace's own apps, installed from a manifest, are offered to that workspace alone and listed as Private.
  • Offered is not installed. A listing is an offer. Nothing is installed in a workspace except by that workspace's own people, one workspace at a time, and every setting is per workspace. There is no "install in all workspaces".
  • Core modules stay out of sight. Behaviour compiled into the server is part of Kommio, not a listing: no screen names a module, its hooks or its internal channels. A module that gives a workspace something to set up (the word filter's lists) appears under Installed as an ordinary item ("Word filter", kind "Message guard") and is edited from there by people with plugins:manage.

Every listing says the same things: what it adds to Kommio in plain words (a channel, a data lookup, contact fields, a sidebar panel, an agent bot, an automation rule or action, a chatbot flow), what it will be able to read and change, the permissions it asks for, who publishes it, where it runs (Kommio Cloud, self-hosted or both) and whether an installation can be limited to some inboxes or teams. Listings are versioned: an installation stays on the version it was installed with until someone updates it. Each listing and installed row carries its source: Built-in (bundled with Kommio), Private (this workspace's own app) or Public (published by Kommio between releases).

The four screens

ScreenWhoWhat it does
BrowseAny memberSearch, category chips (Channels, Customer data, Automation templates, AI, Team chat) and source chips; your private extensions first; each card says Installed or Add.
ListingAny memberWhat it adds, what it will be able to do, the version and publisher, and Install in this workspace. For data lookups the setup form is on the page; a channel opens the add-inbox flow with that channel's step, a template opens a rule or a draft flow, an app or a bot opens its own page.
Installedintegrations:readEverything this workspace runs in one table: apps, data lookups, bots, channel inboxes that are installations, templates and the core modules' settings, each with its source, one status (Healthy, Needs reconnect, Paused, Error, Update available), its last activity and one action: Manage, Reconnect, Resume or Review update. The Apps, Agent bots and Data connectors pages live under it, with members' requests and the install policy.
Buildapps:manage, api_keys:manage, webhooks:manage or bots:manageYour own extensions (New extension installs from a manifest), API keys, Webhooks, the example guides and "Which should I use?".

Each action keeps the permission of the page underneath: someone who manages bots but not the catalog gets Manage to the bot's own page whatever its status. The old addresses redirect: /settings/integrations, /settings/apps, /settings/bots, /settings/connectors and /settings/plugins (to Installed with the module's settings open).

What is in it

KindExamplesHow it installs
ChannelsWebsite chat, email, Microsoft 365 email, Google email, API channel, WhatsApp Business, Facebook Messenger and Instagram, Telegram, Twilio SMS, SlackOpens the add-inbox flow with that channel's step; the inbox is the installation
Customer dataCustomer lookup, order lookup, subscription status, account lookup (JSON API recipes), or Remote data lookup (API) for your own JSON APIFill in the settings on the listing page and the data lookup is created; the editor for your own
Automation templatesThe six rule templates and three chatbot flow templatesOpens a rule, or creates a draft flow
Apps and botsYour own apps (Private), the example apps, an agent botTheir own pages under Installed
Core modulesWord filter (Message guard)Nothing to install; its settings are under Installed on self-hosted servers that compile it in

The apps, data lookups, agent bots and channel inboxes you already had are installations, and their own pages keep working: pausing a data lookup on its page pauses the installation, and the other way round. A channel inbox's credentials are changed on the inbox's page.

Installing and managing

  • Install: approve the permissions the listing asks for, connect and configure it with the form the listing defines (secrets are stored encrypted and never shown again), and choose inboxes and teams when the listing allows it. You can only approve permissions you hold yourself.
  • Manage: configure it, pause and resume it, or reconnect it with new credentials when the service refused the old ones. Installed shows each installation's status, health, last error and who installed it.
  • Updates are never automatic. A newer version shows as available; one that asks for more permissions waits, and administrators are told, until someone who holds those permissions approves it.
  • Uninstall first lists what depends on the installation (rules that use it, inboxes it answers, conversations a bot holds, panels and the attributes it fills) and, when anything does, asks you to type its name. An inbox with conversations is paused rather than deleted.
  • Failures: after a number of failures in a row (five by default, set in the policy), an installation pauses itself and everyone who manages extensions is told in the app and by email.

Every change is written to the audit log, and no audit row ever holds a secret.

Policy and requests

By default only administrators install. The workspace policy can let other members request an extension instead; administrators are notified and approve or decline each request. An allowlist can limit what may be installed at all (your own private apps are always allowed). The policy applies to this workspace only.

PermissionHeld by default byAllows
integrations:manageAdministratorInstall, configure, pause, update, uninstall; decide requests; change the policy
integrations:readAdministrator, SupervisorSee what is installed, its health and the requests

Installing also needs the permission of what is being installed: connectors:manage for a data lookup, inboxes:manage for a channel, apps:manage for an app, bots:manage for a bot.

API

curl "$KOMMIO_URL/integrations/catalog?category=commerce" -H "Authorization: Bearer $KOMMIO_KEY"
curl "$KOMMIO_URL/integrations/catalog/order-lookup-json-api" -H "Authorization: Bearer $KOMMIO_KEY"
curl "$KOMMIO_URL/integrations/installations" -H "Authorization: Bearer $KOMMIO_KEY"

Installations are managed under /integrations/installations/{id} with config, pause, resume, reconnect, update, approve-update and impact; the policy under /integrations/policy and requests under /integrations/requests. Each catalog entry and installation carries its source (builtin, feed or private); the installations list carries the core modules' settings as modules. The API reference has every field.

Every claim on these pages is covered by a test in the repository, and the API reference is generated from the same contract every server serves at /api/openapi. Corrections to [email protected].