Expose Integrations
Choose the integration surface based on the caller and the direction of the workflow.
REST first for system contracts
REST is the default public system contract because each published app exposes generated OpenAPI. Use the generated contract to discover exact endpoint names, schemas, and response envelopes.
Runtime MCP first for agents
Agents should use Runtime MCP for published app operation. Runtime MCP names tools after the app’s commands and projections, and also exposes channel and user collaboration tools.
Do not give runtime agents Design MCP access unless they are explicitly meant to change the app model.
Webhooks and subscriptions
Use webhooks for inbound external events. Use subscriptions for outbound Cessy events. Keep both tied to modeled commands and events so behavior remains inspectable.
Adapters
Adapters are infrastructure dependencies used by policies and controlled app logic. They are not the normal public API for external consumers. If an external client needs a contract, expose a command, projection, webhook, subscription, or BFF endpoint instead.
BFF
Use a Backend-for-Frontend when a custom page needs orchestration that does not belong in the event model, such as combining Cessy projections with third-party data for display.
See BFF Pattern.