Skip to main content

Plugin System

ARBEC plugins are edition-scoped declarations of conference-specific capabilities. They give an external developer and a conference organization a shared contract for adopting an integration.

What a plugin contains

A plugin manifest identifies the integration with:

  • a stable key, display name, and semantic version
  • one or more declared capabilities
  • an optional webhook URL
  • optional non-secret metadata

The manifest belongs to one organization, conference, and edition. The same plugin key can have a different version or configuration in another edition.

Supported capabilities

CapabilityIntended use
navigationAdd a navigation extension to the conference experience.
session-widgetAdd a session-level panel or widget.
registration-hookConnect custom registration-related behavior.
webhookReceive event notifications through a signed webhook endpoint.

The capability list is explicit. A manifest must contain at least one supported capability, and unsupported capability names are rejected.

Current boundary

Available today:

  • register, list, read, enable, and disable plugin manifests
  • create scoped organization API keys
  • read a published edition agenda through REST or GraphQL
  • subscribe to signed submission.created, registration.completed, and session.updated webhook events

Still rolling out:

  • the published @arbec/plugin-sdk package
  • runtime loading of third-party packages
  • custom resolver and UI execution hooks
  • a self-service developer portal

Registering a manifest does not currently upload, install, or execute plugin code. Until the runtime is released, treat the manifest as the integration declaration and use the public API/webhook surfaces for the working behavior.

Integration guide

For the manifest contract, authorization handoff, endpoint paths, API keys, and webhook verification, see Plugin Integration.

Design principles

  • Edition-scoped: a plugin is enabled for the conference edition that adopted it, not globally for every ARBEC customer.
  • Explicit: capabilities are declared instead of inferred from arbitrary package behavior.
  • Revocable: an authorized conference manager can disable a plugin without deleting its manifest or history.
  • Least privilege: companion apps use scoped API keys, and webhook secrets are kept separate from public plugin metadata.

Rollout note

The public developer platform is being released in stages. Use the current contract in Plugin Integration and verify the availability note on each page before relying on a planned SDK or runtime hook.