Sign In

Button

An interactive button field with configurable actions including links, form submission, messages, provider triggers, and step navigation.

The Button field places a clickable button on the form canvas. It supports multiple action types, from navigating to a URL to submitting the form, displaying a message, or triggering a third-party provider action.

Configuration

PropertyTypeDefaultDescription
labelstring--Label displayed above the button (optional)
widthLayoutWidth"full"Horizontal space the field occupies
textstring--Text displayed on the button itself
variantButtonVariant"default"Visual style: "default", "destructive", "outline", "secondary", "ghost", or "link"
sizeButtonSize--Button size: "sm", "md", "lg", or "icon"
actionButtonAction--The action triggered when the button is clicked (see below)

Button Actions

The action property is a discriminated union. The kind field determines which action type is used.

Navigates to a URL when clicked.

PropertyTypeDescription
kind"link"Action type identifier
hrefstringDestination URL
methodSubmitMethodHTTP method ("GET", "POST", "PUT", "PATCH", "DELETE")
headersJsonstringJSON string of headers to include
targetstringLink target: "_self" or "_blank"
relstringLink rel attribute value

Submit Action

Submits the form data to a specified URL.

PropertyTypeDescription
kind"submit"Action type identifier
urlstringURL to submit the form data to
methodSubmitMethodHTTP method (defaults to "POST")
headersJsonstringJSON string of headers to include

Message Action

Displays a message to the user without navigation.

PropertyTypeDescription
kind"message"Action type identifier
messagestringThe message text to display

Next Step Action

Advances to the next step in a multi-step form flow.

PropertyTypeDescription
kind"nextStep"Action type identifier
targetStepKeystringOptional key for a specific target step

Provider Action

Triggers a third-party provider integration.

PropertyTypeDescription
kind"provider"Action type identifier
providerKeystringProvider identifier (e.g. "zoom", "calendly", "salesforce", "google", "stripe")
providerActionstringSpecific action to invoke on the provider
payloadJsonstringJSON string of payload data for the provider

Payment Action (Future)

Reserved for future payment integrations.

PropertyTypeDescription
kind"payment_future"Action type identifier
providerstringPayment provider (e.g. "stripe")
configJsonstringJSON string of payment configuration

Example Usage

A submit button with outline styling:

{
  "type": "button",
  "text": "Submit Application",
  "variant": "default",
  "size": "lg",
  "action": {
    "kind": "submit",
    "url": "/api/applications",
    "method": "POST"
  }
}

On this page

Button | Buildorado