Skip to content

Extensions ​

Extensions let you customize your community from code. You declare widgets, scripts, and stylesheets in a single registry file in your Git repository, push to your watched branch, and the platform publishes everything automatically.

The Three Extension Types ​

You can publish any combination of the three types — one, two, or all three. They share the same registry file, the same publishing pipeline, and the same page-targeting rules.

TypeWhat it isScopeWhen to use
WidgetsInteractive components placed on pages via the No-Code BuilderOne placed instance per page zoneBuild tailored UI — forms, dashboards, dynamic content
ScriptsGlobal JavaScript injected into the pageEvery matching pageAnalytics, tracking, shared utilities
StylesheetsGlobal CSS injected into the pageEvery matching pageSitewide theming, fonts, design tokens

The Registry File ​

Every extension you publish is declared in a single file at the root of your repository: extensions_registry.json. See Registry Reference for the root object specification and Repository Layout for how to structure your repository around it.

How It Works ​

  1. Connect — Link your GitHub organization to the platform.
  2. Configure — Select which repositories and branches to watch.
  3. Push — Commit changes to your watched branch.
  4. Publish — Extensions update within seconds.

For publishing details, see Build & Publish and Repository & Branch Settings.

Why Extensions ​

For DevelopersFor Teams
Version control for every changeNo manual uploads
Pull requests and code reviewInstant deployments
Branch-based environmentsAudit trail via commits
Familiar Git workflowRollback via Git

Branch-Based Environments ​

Each repository watches one branch at a time per community. Use separate communities to run multiple environments (dev, staging, production) — each watching its own branch.

See Repository & Branch Settings and Preview and Promote.

Requirements ​

See Connect Your GitHub Account for the GitHub and platform access you need, and Repository Layout for the required extensions_registry.json file.

Limitations ​

See Repository & Branch Settings for the one-watched-branch-per-community rule, and Repository Layout for naming extensions uniquely.

Security ​

Extension code is scanned for security issues before publishing, and every widget response includes security headers. See Content Security for details.

Next Steps ​

Read Customization Guardrails first, and see the SDK for the sdk object API.

Pick the extension you want to build — each type has its own hands-on tutorial:

You want to build...Start with
A custom interactive componentYour First Widget
A global scriptYour First Script
A global stylesheetYour First Stylesheet

New to the platform entirely? Connect Your GitHub Account first, then create your project with the CLI — see Repository Layout — and return here.

Already familiar with the registry format? Go straight to the Registry Reference for the extensions_registry.json root object.

Gainsight CC Developer Portal