# Stream Dock Documentation
Only common simple APIs are recorded. Please read the official documentation for more detailed properties.
[https://sdk.key123.vip/guide/events-received.html](https://sdk.key123.vip/en/guide/events-received.html)
[https://sdk.key123.vip/guide/events-sent.html](https://sdk.key123.vip/en/guide/events-sent.html)
## Property inspector HTML template
```html
```
## Events that plugins can trigger
didReceiveSettings Operation persistent data trigger
```json
{
"action": "com.example.action1",
"event": "didReceiveSettings",
"context": uniqueValue,
"device": uniqueValue,
"payload": {
"settings": {
},
"coordinates": {
"column": 3,
"row": 1
},
"isInMultiAction": false
}
}
```
keyDown/keyUp/touchTap triggers when pressed/released/touched
```json
{
"action": "com.example.action1",
"event": "keyUp",
"context": uniqueValue,
"device": uniqueValue,
"payload": {
"settings": {
},
"coordinates": {
"column": 3,
"row": 1
},
"state": 0,
"userDesiredState": 1,
"isInMultiAction": false
}
}
```
willAppear/willDisappear Fired when a plugin is created/deleted
```json
{
"action": "com.example.action1",
"event": "willAppear",
"context": uniqueValue,
"device": uniqueValue,
"payload": {
"settings": {
},
"coordinates": {
"column": 3,
"row": 1
},
"state": 0,
"isInMultiAction": false
}
}
```
titleParametersDidChange Fired when the user changes the title/title parameters
```json
{
"action": "com.example.action1",
"event": "titleParametersDidChange",
"context": "uniqueValue",
"device": "uniqueValue",
"payload": {
"coordinates": {
"column": 3,
"row": 1
},
"settings": {
},
"state": 0,
"title": "",
"titleParameters": {
"fontFamily": "",
"fontSize": 12,
"fontStyle": "",
"fontUnderline": false,
"showTitle": true,
"titleAlignment": "bottom",
"titleColor": "#ffffff"
}
}
}
```
deviceDidConnect/deviceDidDisconnect Fired when the device is plugged/unplugged from the computer
```json
{
"event": "deviceDidConnect",
"device": uniqueValue,
"deviceInfo": {
"name": "Device Name",
"type": 0,
"size": {
"columns": 5,
"rows": 3
}
},
}
```
propertyInspectorDidAppear/propertyInspectorDidDisappear Fired when the property selector appears/hides in the UI
```json
{
"action": "com.example.action1",
"event": "propertyInspectorDidAppear",
"context": uniqueValue,
"device": uniqueValue
}
```
sendToPlugin Fires when the property selector uses the sendToPlugin event
```json
{
"action": "com.example.action1",
"event": "sendToPlugin",
"context": uniqueValue,
"payload": {}
}
```
dialRotate Fires when the knob is rotated
```json
{
"action": "com.example.action1",
"event": "sendToPlugin",
"context": uniqueValue,
"payload": {}
}
```
dialDown Fires when the knob is pressed
```json
{
"action": "com.example.action1",
"event": "sendToPlugin",
"context": uniqueValue,
"payload": {}
}
```
## Events that can be triggered by attribute selectors
didReceiveSettings triggers persistent data
sendToPropertyInspector triggers when the plugin uses the sendToPropertyInspector event
```json
{
"action": "com.example.action1",
"event": "sendToPropertyInspector",
"context": uniqueValue,
"payload": {}
}
```
## Events that plugins can send
setSettings Persistently save the data of the action instance
openUrl Open the URL in the default browser
setTitle Dynamically change the title of the action instance
setImage Dynamically change the image displayed by the action instance
setState Change the state of an action instance that supports multiple states
sendToPropertyInspector Send a payload to the property inspector
## Events that property selectors can send
setSettings Persistently save the data of the action instance
openUrl Open the URL in the default browser
sendToPlugin Send a payload to the plugin