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

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 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