Start with the job to be done
Do not begin by choosing a runtime. Begin by deciding what must be true when the work ends.Validate and return
A bounded request handler: validate customer input, read or write data, and return an HTTP result.
Transform and persist
A reusable unit that imports a file, normalizes records, and returns a durable Storage or Table reference.
Share a rule
A library element that exposes calculation or policy logic through
lib.LibraryName.ElementKey.member.Component types
Execution model
Low-code elements run in ascending order. Each element can return a value, and a later element can read it withinject(elementKey). Runtime inputs, platform calls, storage, utilities, and active libraries are available through injected globals.
Lifecycle
- Create or edit the component.
- Validate source and configuration.
- Debug transient changes in the Sandbox.
- Save a new version.
- Activate the intended version or runtime revision.
- Observe executions through logs, traces, job history, or endpoint statistics.
A useful first Component
For an order-confirmation API, keep the public handler small: load a record, apply the business rule, and enqueue durable work. The background provider call belongs in a Job Component, where retry and concurrency are explicit.Composition
- Call another active component with
api.executeComponent(). - Move shared business logic into a library component.
- Expose a component through an Endpoint for synchronous HTTP.
- Attach it to a job template for background execution.
- Publish selected components as governed Agent plugins.
Components as Agent capabilities
A Component becomes especially valuable when the same business rule must serve people, APIs, automation, and Agents. Publish the reviewed Component through an Agent plugin instead of asking a model to reproduce the logic in a prompt. This gives the Agent a narrow capability with:- a stable input and output contract;
- the same versioned business rule used elsewhere in the application;
- platform authorization and approval classification;
- observable executions and errors;
- independent testing and rollout.
@default public entry point. Named exports there use lib.LibraryName.member; other elements use lib.LibraryName.ElementKey.member. See Libraries for examples and privacy rules.
