Input Builder
Every Action or Trigger in a viaSocket plugin requires an input form. These forms collect user data and pass it to your app’s API to create, update, find, or delete records.
You can create input forms using either:
GUI (Form Editor) – drag-and-drop input field builder
JSON Configuration – manually define field structure and behavior
Why JSON?
JSON (JavaScript Object Notation) is the foundation for defining the input field behavior and structure in your plugin. It allows for flexible configuration, dynamic rendering, and consistent data processing.

In the Form Editor, define the following field attributes:
Property | Description |
---|---|
Key | A unique identifier for the field |
Value | The data submitted for that field |
Help | Guidance text shown to help users understand the field |
Type | Expected data type ( |
Required | If |
optionsGenerator | JS function to dynamically generate dropdown options |
Fields | Nested fields or grouped input components |
List | Used for array-style inputs (e.g., list of tags) |
Placeholder | Hint text shown in the field before user input |
VisibilityCondition | Rule that shows/hides the field based on other inputs |
customInputLabel | Custom label shown alongside the field |
customPlaceholder | Custom hint text shown inside the field |
defaultValue | Initial value shown in the field before user makes changes |
Example Use Case
If you're creating a trigger for a CRM plugin to “Find Deals by Stage,” your form might include:
A dropdown for “Deal Stage” (fetched via API)
A text field for “Minimum Deal Size”
A boolean checkbox for “Include Archived Deals?”