Developer & Integration Tools
No-code where you can. Code where you need it.
Most of the platform is configured, not programmed. Where a device or an integration genuinely needs logic, there are defined places to write it — edited in the platform, owned by the entity they belong to, and audited like any other field.

Extension points, not a fork.
You extend the platform by filling in the places it leaves open for you. Nothing on this page requires a custom build, a private branch, or a recompile before it takes effect.
Four places where logic belongs.
Every platform ends up needing somewhere to put the awkward part. These are the four, and each of them is attached to the entity it serves — not to an environment, a branch or a build.
Expose what you configured, without recompiling.
The general-purpose endpoints take a fixed set of context fields plus a flexible list of named parameters. Those names are the ones you defined visually — a query, a rule, an activity. Configure it in the interface, then call it by name. No new endpoint, no release.
Illustrative example of the general-purpose endpoint shape. Alongside it, the platform exposes process-instance operations — start, load, set and get parameters — and system operations such as current instance information, save, search, flow states, state log and status update. The full API reference is available to integrators and clients on request.
An integration is not a back door.
Calls over the API pass the same gateway, carry the same kind of session and answer to the same roles and permissions as a person clicking through the interface. There is no second access model to keep in step with the first.
- Authentication is managed by the API gateway, which issues and validates the session
- A JWT token or an encrypted cookie, set HttpOnly and Secure
- The gateway can delegate to an external identity provider over OAuth 2.0 or OpenID Connect and still manage the session locally
- Unauthorized calls are blocked at the gateway, before they reach any service behind it
- SSL termination happens at the gateway
- Security policies are configuration, not code scattered through the services
- The API can be extended without breaking the integrations already built on it
- Integration accounts are platform accounts, so their roles and permissions are reviewed alongside everyone else’s
- Revoking a role revokes it for the interface and the API at the same time
Rules that can call out.
Integration runs in both directions. A rule can compose a JSON body, send it to an external service through the REST client, parse what comes back and carry on with the result — inside the same visual rule, with no service to build and deploy alongside it.
Inside a rule the JSON is an object you compose and query. Only at the boundary — when it goes to the plugin — is it serialized, once.
Tell us where you need to write code.
A vendor payload nobody has decoded, an external system that has to stay in step, a fleet to enroll from a file. We will show you which extension point covers it — and hand you the API reference if that is the answer.