Developer documentation

Actions

Commands return actions. Actions are how plugins show UI, edit requests, persist state, mutate live nodes, run commands, and chain work.

Action table

ActionFieldsUse
multi / action.multiactions or stepsRun multiple actions in order.
showMessagetitle, messageShow a simple popup.
showModaltitle, children, actions, width, heightShow a modal containing plugin UI nodes.
showFormtitle, form fields, actionsShow a form-style modal.
setPluginDatakey, valuePersist state and rebuild plugin UI.
editPluginDatakey, titleOpen a plugin-data editor dialog.
setFieldsfields, optional sendWrite request/app bind values.
setRequest / request.setrequestReplace the active request.
saveActiveRequestToCollectionnoneSave the active request.
triggerTarget / ui.triggerTargettargetId, optional payloadClick/trigger an app target.
runCommand / commandcommand, optional payloadRun a command by id.
sendRequestByIdrequestId, resultKeySend a saved request and store the result.
pickTextFileallowedExtensions, nextCommandPick a text file and pass it to a command as ctx.file.
saveTextFile, exportTextFile, downloadTextFilefilename, textWrite text to a user-selected file.
debug.logpluginId, level, messageAppend to the plugin debug log.
ui.ownership.inspectresultKeyStore a map of UI node owners.
media.requestCamera, media.requestMicrophonepluginId, resultKeyRequest native camera or microphone permission and store the result.
media.startAudioRecording, media.stopAudioRecordingpluginId, resultKey, optional transcribeRecord audio and optionally transcribe it through the AI bridge.
bluetooth.run, ble.runoperation, pluginId, resultKeyRun Bluetooth operations such as permission, status, scan, connect, service discovery, read, and write.
platform.runoperation, pluginId, resultKey, operation-specific fieldsRun platform operations such as system info, network diagnostics, file access, mail/SMS/phone launchers, calendar/contact files, Android snapshots, and Windows diagnostics.
uiRobot.runsteps, optional capture settingsDrive visible UI targets inside the app for validation and debugging.
scanDirectoryPickernoneOpen directory picker and scan plugins.

Live UI actions

These mutate the rendered app immediately. They are temporary runtime mutations unless you also store data with setPluginData.

return {
  __action: "multi",
  actions: [
    { __action: "ui.setValue", targetId: "urlInput", value: "https://jsonplaceholder.typicode.com/posts/1" },
    { __action: "ui.setText", targetId: "sendButton", value: "SEND NOW" },
    { __action: "ui.setProps", targetId: "sendButton", props: { disabled: false } },
    { __action: "runCommand", command: "core.request.send" }
  ]
};
Value/textui.setValue, ui.setText, ui.setProps.
Visibilityui.hide, ui.show, ui.remove, ui.showAll, ui.resetHidden.
CRUDui.append, ui.prepend, ui.replaceWith, ui.empty.
Stateui.disable, ui.enable, ui.addClass, ui.removeClass.
Resetui.resetRuntimeUi, ui.resetRuntimeMutations, ui.clearRuntimeUi.