Every low-code platform has a ceiling. The question is what happens when you reach it. On most, the answer is a proprietary scripting language, a support ticket, or a migration.
Here, the answer is that your developer writes ordinary code. A custom service is packaged, installed into the application's own container, and declares the endpoints it exposes with their input and output schemas. From then on, your pages, workflows, scheduled jobs, and AI actions call it like any other endpoint.
What the platform still enforces
- The declared contract is validated before the call is made.
- Permissions are checked by the platform, not by the extension.
- Credentials stay in approved secret mappings and never reach the browser.
- Request and response hashes, outcome, duration, and package version go into the invocation ledger.
Bringing in an outside contractor does not mean widening your security boundary. The extension runs inside a declared contract, and the platform decides what it is allowed to touch.
Packaging and provenance
Extension packages carry a publisher, a semantic version, an image digest, a manifest, a release fingerprint, a signature, and an SBOM reference. You always know exactly which build is running, and a bad release can be revoked rather than chased.