Reference: Use this article to choose the correct action fields and command fields in a custo-manifest.
You can use this article to choose the correct root action fields and command fields in a custo-manifest. You will see how Rainbow uses each field and which fields depend on the extension point family.
Root action fields
| Field | Description |
|---|---|
name |
Text shown in Rainbow: button label, widget title or menu entry. Optional for automatic events. |
icon / iconId
|
Icon URL, packaged resource path, or built-in icon identifier. Mandatory for most button extension points. |
tooltip |
Tooltip shown when someone hovers over a button. |
command |
Mandatory object describing what Rainbow must execute or call. |
responseType |
Display format for visible results: markdown, json or adaptiveCard. |
displayJsonField |
When a REST response is JSON, this field identifies the property containing Markdown to display. |
adaptiveCardTemplate |
Inline Adaptive Card template. |
adaptiveCardTemplateJsonField |
JSON field containing the Adaptive Card template returned by the REST service. |
adaptiveCardContentJsonField |
JSON field containing the data used to fill the Adaptive Card template. |
adaptiveCardSubmitUrl |
REST URL called with POST when an Adaptive Card Action.Submit is triggered. |
The command object
"command": {
"url": "https://api.example.com/customer",
"params": "email=${contact.email}",
"commandType": "rest",
"method": "GET",
"header": ["Authorization: Bearer TOKEN"],
"bodyParameters": {
"user": "${localUser.email}"
}
}| Field | When to use it |
|---|---|
url |
Mandatory. Web URL, REST endpoint, local file path or packaged resource path. |
params |
Optional query parameters. Variables are supported. |
commandType |
Optional. Common values are rest and file. If omitted, behavior depends on the extension point. |
method |
For REST commands. Supported values: GET and POST. |
header |
For REST commands. Array of HTTP header strings. |
bodyParameters |
For REST POST commands. JSON object sent as request body. Variables are supported. |
Secondary fields
| Field | Used with | Purpose |
|---|---|---|
AnswerOnClick |
Incoming call button | Answer the call when the button is clicked. |
NoShortNumber |
PBX events | Use the full phone number instead of the short number when relevant. |
RaiseChangeCall |
PBX events | Controls call state change behavior for specific telephony workflows. |
Popup |
on-main-window-actions |
Open the application in a browser window instead of embedding it in Rainbow. |
alsoForTeams |
GUI extension points | Expose the extension for Teams where supported. |
urlConfig |
Widget/frame use cases | URL used to configure the widget or embedded application. |
firstNameJsonField |
Contact data extraction | Field containing a first name in a JSON response. |
lastNameJsonField |
Contact data extraction | Field containing a last name in a JSON response. |
companyJsonField |
Contact data extraction | Field containing a company name in a JSON response. |
File commands and packaged resources
On Rainbow Desktop, commandType: "file" can execute a local application or script. On Rainbow Web, native execution is not available; file-based use cases must rely on resources packaged in the manifest ZIP.
"command": {
"commandType": "file",
"url": "${custo.path}\display.html"
}
Warning: Do not use machine-specific absolute paths in production manifests. Use
${custo.path} and package the required resources in a ZIP archive whenever possible.