AboutSupportDeveloper GuideVersion 18.0.10

Interface CLIProvider

A CLI provider responds to search requests from Workspace components. Upon receiving a search request, a CLI provider can return search results that can be rendered and interacted with by a user by the requesting Workspace component.



clientAPIVersion?: string

version of client SDK, set by the API

commandCode?: string

A keycode that can be used to interact with this Search Provider.

description?: string

A short description of the Search Provider.

dispatchFocusEvents?: boolean

If set, focusing on a search result will trigger onResultDispatch callback.

hidden?: boolean

A flag to indicate this provider will not be displayed as a command.

icon: string

An icon that a UI can display for the Search Provider.

id: string

A unique ID used to identify the search provider.

identity?: Identity_5

The OpenFin identity that registered this search provider.

inputPlaceholder?: string

The placeholder string to be displayed in a UI when targeting this specific Search Provider.

listTitle?: string

A title to display above the result list in a UI when targeting this specific Search Provider.

logoUrl?: string

Logo to show render when targeting this specific Search Provider.

scoreOrder?: ScoreOrder

The order to sort the score in. The default is ascending.

title: string

A UI friendly title for the search provider.


  • Callback that is invoked when ever a search result returned by this provider is interacted with from a Workspace component. (clicked, pressed enter, hotkey pressed, etc.)

    import { getAvailableCommands } from './my-commands';

    const onResultDispatch = async(result: CLIDispatchedSearchResult): Promise<void> => {
    try {
    //Grab the command corresponding to the result
    const availableCommands = await getAvailableCommands();
    const commandToExecute = availableCommands.find((command) => command.key === result.key);

    if (commandToExecute != undefined) {
    await commandToExecute.action();
    } catch (err) {
    //Handle the error
    log.error('Error trying to action show command %s', err, result.key);


    Returns Promise<void>

  • Function that is called when a search request is triggered due to user input.

    import { getAllData, getResultsByQuery } from './get-all-data';

    const onUserInput = async({ query }): Promise<CLISearchResponse> => {
    if (!query) {
    return getAllData();

    // Provide an implementation to fetch query-filtered search results
    return getResultsByQuery(query);


    Returns Promise<CLISearchResponse>

    an object that contains the search results to render in the requesting Workspace component.