Applies to: Rainbow Web · Rainbow Desktop
Feature: Rainbow Extensions / custo-manifest
Availability: Rainbow Web and Rainbow Desktop support PBX events, buttons, displays and frame display extensions. Native application or script execution remains Desktop-only.
Feature: Rainbow Extensions / custo-manifest
Availability: Rainbow Web and Rainbow Desktop support PBX events, buttons, displays and frame display extensions. Native application or script execution remains Desktop-only.
Rainbow Extensions, also known as custo-manifest extensions, let a company integrate Rainbow Web and Rainbow Desktop with business applications without client-side code deployment. The integration is described in a JSON manifest and can react to events, add buttons, display contextual information, or open a third-party application.
License: PBX event extensions are available with Essentials. Button, display, frame and embedded application extensions require a Business or Enterprise license.
What you can build
| Extension family | What it does | Typical use case |
|---|---|---|
| Events | Runs an action automatically when a PBX call event occurs. | Open a CRM record when an incoming call rings, log call data, enrich a ticket. |
| Buttons | Adds clickable actions in Rainbow UI locations. | Create a ticket from a contact, open a customer page from the call log. |
| Displays | Displays contextual content automatically. | Show CRM notes, support status, or a customer summary in Rainbow. |
| Frame display | Opens a third-party web application in Rainbow or in a browser popup. | Embed a business application or launch it with Rainbow user context. |
Web and Desktop behavior
| Capability | Rainbow Web | Rainbow Desktop |
|---|---|---|
| REST calls | Supported. The remote service must pass trusted domain and CORS checks. | Supported. CORS can still matter when the embedded browser is used. |
| Open a web page | Supported. | Supported. |
commandType: "file" with a file packaged in the ZIP |
Supported for file reading/display scenarios. | Supported. |
| Execute a native application or script | Not supported. | Supported only on Desktop. |
| Local/private network access | Subject to browser Local Network Access rules. | Not subject to browser LNA rules in the same way. |
Recommended reading order
Use the articles in this section as a layered documentation set: start with the concepts, then use the reference articles when building or troubleshooting a manifest.
- Start with this overview.
- Read Custo-manifest file structure to understand the JSON envelope and extension point keys.
- Use PBX call event extensions or Rainbow GUI extensions depending on the integration type.
- Use Command object and action fields reference and Rainbow variables reference while editing the JSON.
- Use Displaying results with Markdown, JSON and Adaptive Cards when an extension returns visible content.
- Finish with Deploying a custo-manifest in Rainbow and Network security and trusted domains.
Packaging and deployment
A manifest can be deployed as a single JSON file or as a ZIP archive. Use a ZIP when the manifest references local resources such as icons, scripts, HTML files, or files read through ${custo.path}.
Note: In a ZIP archive, Rainbow identifies the manifest file through
"jsonType": "Rainbow-custo-manifest". Keep one valid manifest at the archive root unless your deployment procedure explicitly supports another layout.