Chapter 6: Drive a node from settings forms
Chapter 6 of the Orchesty onboarding series: import the demo-forms topology and see how an application's custom settings forms (text, select, checkbox) change what a custom node produces, with no code edits.
So far every node behaved the same on every run. Real integrations need to be configurable without touching code. In this chapter you'll import a topology whose custom nodes read their behaviour from an application's settings forms.
By the end you'll see how changing a value in the UI immediately changes what a node produces.
Prerequisites #
The demo worker is running and connected to your platform. No mock server is needed here; this demo makes no API calls.
What's new in this chapter #
Custom settings forms. Beyond authorization, an application can expose configuration forms with typed fields (text, select, checkbox). The Forms Demo application ships two: Message settings and Output settings. Background: Authentication & settings.
A node that reads those settings. A custom node can load the application's settings at runtime, so its output is driven by the form values instead of hard-coded constants. Here message-builder applies Message settings to build a greeting, and message-formatter applies Output settings to format it. Change a form value, re-run, and the output changes with no code edit.
Event trigger. This topology starts from a plain Event node (the base request entry point from Chapter 5: it just exposes a URL to run against), so you can trigger it manually.
Import and run #
- Import
demo-forms.tplg.jsonfrom the demo worker'ssrc/topologies/folder, then Publish and Enable it. - Install the Forms Demo application in the Admin UI and Activate it (it needs no credentials). Open its two settings forms to see the defaults.
- Trigger the topology from its Event node. Send an empty payload to use the defaults, or override the name:
{ "name": "Alice" }
With the default settings the two nodes produce a greeting like Hello, World! and then format it. Now change a setting and re-run to watch the output follow:
| Change in settings | Effect on the output |
|---|---|
| Message settings: Shout on | HELLO, WORLD! |
Message settings: Greeting Ahoj, Language cs | Ahoj, World! |
Output settings: Wrap style quotes | "Hello, World!" |
| Output settings: Append timestamp off | the timestamp field disappears |
Drop a breakpoint after either node to compare the payload before and after each form is applied.
Where next #
That wraps the core toolkit: a custom node, connectors and applications, a batch with a mapper, the Limiter, the Cron / Event / Webhook triggers, and now settings forms. You've built and imported topologies, installed applications, and inspected running processes end-to-end.
From here, browse the reference docs to go deeper on any building block, or start a worker of your own and adapt these patterns to a real integration.
Want to read the code behind this chapter? Browse the demo worker on GitHub: Orchesty/orchesty-demo-worker. The application and its forms live in src/FormsDemo/, and the two custom nodes in src/FormsDemo/CustomNode/.