Skip to content
DocsOpen Hub
Build web apps

Connect widget data and actions

On this page

A useful page has a clear cycle: load data, collect a user action, call a workflow, and refresh the visible result. Keep each step's input and output explicit.

Input API actions#

Use an input action to fetch the data a widget needs. Configure the method, route, required parameters, and the path within the response. A saved request sample is an example, not a validated schema; confirm the real workflow contract.

For a filtered table, identify whether filtering happens in the browser or in the API. When the filter changes, reset or update paging consistently so the table does not request an empty page beyond the new result set.

Action flow#

text
Select record → open form or confirmation
             → validate input
             → call workflow
             → show result and refresh data

Use event keys or the builder's supported event controls to connect widgets. Name events for their purpose, such as an order being selected or a list needing refresh, and document the payload fields the receiving widget expects.

Keys and shared state#

Page/widget values can supply API input. Global keys can share configuration or state across app pages. Keep the scope intentional and avoid treating a browser-provided user ID or role as an authorization decision.

Workflow Key Selectors live on the server and have their own scope and environment values. They are not the same as arbitrary client-side widget state.

Handle completion and errors#

Disable or guard duplicate submissions while an action is pending. Retain useful form input when a request fails. Close a dialog only after the operation has succeeded or the user chooses to cancel.

Show a specific, safe error message and provide a retry path. Distinguish validation failures, denied access, missing records, and temporary service errors where the API contract permits it.

For custom widget code, use the APIs exposed by the current editor and inspect the generated configuration. Test the entire interaction in preview with the intended user role before publishing.

Need to investigate a problem? Start with troubleshooting