Skip to main content

Integration Development

Playrunner integrations are self-contained packages selected when an application or runner artifact is built. A package can contribute to three independent surfaces:

SurfacePackage contributionHost behavior
FrontendIntegration metadata and React componentsAdds the integration to the product UI
APIAn ID, mount path, and Express routerMounts package-owned HTTP routes
OrchestratorVersioned node executorsRuns package-owned workflow actions inside the DAG

Every surface follows the same composition rule: declare the surface in the package's own package.json, export it from that package, and make it the entrypoint's default export. The consuming artifact generates static imports from its installed direct production dependencies. There is no common provider list for a package author to edit.

Build time, not workflow runtime

Installing, upgrading, or removing an integration changes the artifact and therefore requires a rebuild. A running Playrunner deployment never invokes a package manager, discovers new packages from node_modules, downloads marketplace code, or dynamically imports an integration.

After a package has been bundled, users can connect credentials, add its node to a workflow, connect that node to other nodes, and configure its action. Those operations update settings and workflow data only; they do not install code.

Development guides

The top-level Integration Reference section is the operator and user reference for integrations currently shipped with Playrunner. This section is for people developing integration packages and the artifacts that consume them.