FAQ
Plugin Builder
Plugin Input Fields
Input Builder

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.

Screenshot 2025-05-16 at 3.47.22 PM.png

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 (string, number, boolean, etc.)

Required

If true, the field must be filled before proceeding

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?”