Connect an AI assistant
Your AI assistant can read this documentation directly, so it answers from the current content instead of guessing. Add one of the servers below to your client — they use the Model Context Protocol (MCP). Each one covers a different body of content, so add the one you need.
The catalog did not load. Refresh the page to try again.
Loading…
{{server.name}}
{{server.summary}}
{{server.documentCount.toLocaleString()}} pages Not published to this site
- Name
-
{{server.name}} - URL
-
{{mcpServerUrl(server.path)}}
| Tool | What it does |
|---|---|
{{tool.name}} |
{{part.text}}{{part.text}} |
How can we help?
Keep typing - a search needs at least two characters
Searching in {{docApp.searchFilterBySpecificBookTitle}}
Searching for:
{{docApp.searchResultFilteredItems.length}} results for:
{{docApp.currentResultsSearchText}}
in {{docApp.searchFilterBySpecificBookTitle}}
Found {{docApp.searchResponse.totalResultsAvailable}} matches. Showing the top {{docApp.searchResponse.results ? docApp.searchResponse.results.length : 0}}. Use a more specific search to further narrow down the results.
No documentation pages match this search, so all content types are shown.
Most matches are in {{docApp.searchDocTypeRescue.best.name}}.
There is no book with the ID "{{docApp.searchBookRescue.bid}}", so the book filter from this link was ignored and results from all books are shown.
You have an odd number of " characters in your search terms - each one needs closing with a matching " character!
-
{{resultItem.title}} {{resultItem.matchedBy === 'semantic' ? 'semantic' : (resultItem.matchedBy === 'both' ? 'keyword + semantic' : 'keyword')}}
{{resultItem.url}}
{{docApp.libraryHomeViewProduct.title || docApp.libraryHomeViewProduct.id}}
{{docApp.libraryHomeViewProduct.description}}
{{group.title || group.id}}
{{group.description}}
Description
This type represents the complete content of a UI plugin’s ‘action.json’ manifest, and is the definition an application author writes that manifest against.
A UI plugin is a same-site UI extension published by an application. Each plugin lives in its own
folder under the publishing application's 'client/embed/actions' metadata folder, and that folder
must contain an 'action.json' manifest holding a document of this type - a folder without one is
not a plugin and is ignored. Plugins are discovered by client::queryUiPlugins, which returns only
those the calling session is entitled to use.
Properties
| Name | Type | Occurrence | Description |
|---|---|---|---|
id |
xs:string |
Optional | The plugin’s own identifier. This is normally the same as the name of the folder the manifest was found in, but a manifest is free to declare something else. |
contract |
xs:unsignedInt |
Optional | The version of the UI plugin contract this manifest is written against. The current contract version is 1. A host that does not understand the declared version should not attempt to launch the plugin. |
label |
uiPluginLabelType |
Optional | The label to present to the user for this plugin. |
description |
xs:string |
Optional | What the plugin does, in terms the user will understand. |
icon |
xs:string |
Optional | The name of the icon to present alongside the label. |
modes |
Array<xs:string> |
Optional | The presentation modes the plugin supports. A mode names the way the host puts the plugin on screen, and the manifest must define the correspondingly named element for each mode it declares - a plugin declaring ‘document’ must define the document element. |
document |
uiPluginDocumentType |
Optional | How to launch the plugin in document mode. Required if ‘document’ is one of the declared modes. |
display |
uiPluginDisplayType |
Optional | The size the plugin would like to be given by its host. |
availableTo |
Array<xs:string> |
Optional | The host contexts this plugin can be offered in, for example ‘mail.message’. A plugin that declares no availableTo places no restriction on its host and is available in every context. |
requires |
uiPluginRequiresType |
Optional | What the calling session must hold before this plugin is offered to it. A plugin that declares nothing here is offered to every session holding rights to the publishing application. |
inputs |
Array<uiPluginInputType> |
Optional | The values the host is expected to pass to the plugin when it launches it. In the manifest these are written as an object keyed by input name. |
order |
xs:unsignedInt |
Optional Default= 0 |
The relative position the plugin should be presented in among the other plugins offered in the same host context. client::queryUiPlugins returns its results in ascending order of this value; a manifest that does not declare one is treated as zero. |
- Version {{docApp.book.version}}
- Node {{docApp.node}} / {{docApp.build}}