Selegic CRM Docs
ServerExtensions

Overview

Host and execute tenant-scoped extension actions, publish bundles securely, and secure access via short-lived tokens.

The Extensions feature is the primary extensibility vector for Selegic CRM. It allows the system to host third-party frontend code and execute custom server-side logic within a secure, multi-tenant context.

Core Concepts

ConceptDescription
ActionsPre-defined server-side functions callable by extensions or flows
ExtensionsBundled frontend applications served through a private proxy
TokensShort-lived JWTs authorizing extensions to call the Action API
ArtifactsPhysical assets (HTML, JS, CSS) making up an extension

Key Components

ComponentFilePurpose
ActionHandlerservices/action-handlers.tsAction dispatch and execution
TokenServicehelpers/token-helpers.tsJWT issuance and verification
ArtifactServiceservices/artifact-service.tsGCS upload/download and serving
DispatchServiceservices/dispatch.tsAction routing and validation

File Structure

features/extensions/
├── services/
│   ├── action-handlers.ts    # Action execution
│   ├── artifact-service.ts   # GCS asset management
│   └── dispatch.ts          # Action routing
├── helpers/
│   ├── token-helpers.ts      # Token generation/verification
│   ├── installation-resolver.ts
│   └── action-parsers.ts
├── cli-html/                 # CLI HTML templates
└── types/

Quick Navigation

Architecture

Bearer token response publish bundle Extension iframe CRM API verifyExtensionToken DispatchService ActionHandler TenantPrisma Selegic Web ArtifactService Private GCS

Why Extensions

Selegic is designed as a platform. Standard CRUD and Flows cover ~90% of use cases, but complex enterprise integrations require:

  • Custom UI components (embedded in CRM)
  • Specialized processing logic
  • Third-party integrations

Extensions provide a sandboxed way to add these capabilities without modifying core server code.

On this page