Permissions & events
Declare explicit capabilities and communicate without compile-time coupling.
Permissions
List every permission your module needs in the manifest. Core middleware checks keys such as my-integration.records:write before handlers run. Cross-module data access requires user consent at install time when you declare requiredPermissions owned by other modules.
Events
Emit events for workflows other modules can subscribe to (e.g. my-integration.record.created). Consume events to react to CRM, Sites, or Pay activity without polling. Payloads should be versioned and documented in your manifest event schema.
Approvals
Outbound side effects (email, refunds, publishes) may require human approval via the tenant approval inbox. Internal summaries and read-only analytics typically auto-approve.