Use this path when the business object is backed by Forge dynamic CRUD and does not need custom Java Service logic for each record.
Create or publish the business object and runtime config.
AiCrudPage / /ai/crud/{configKey}.Configure flow binding.
ai_business_binding with target_type='OBJECT', target_code=<objectCode>, binding_type='FLOW'.flowModelKey, titleTemplate, businessBinding, variableMapping.Start the flow through platform runtime APIs.
START_FLOW path.BusinessFlowService locks by tenantId + businessKey and writes ai_business_flow_instance_link.AiCrudPage custom-action events.Configure node forms in the real flow designer.
formKey/formUrl/formJson/formFieldPermissions.BusinessFlowBinding.nodeForms is fallback only.Handle approval actions.
GET /ai/business/flow/task-form-context.GET /ai/business/flow/task-form-context/readonly.POST /ai/business/flow/task-form-context.FlowClient.approve/reject and syncs ai_business_flow_instance_link and document status.Callback actions and side effects.
callbackActions in flow binding only for domain actions that must run after terminal results.businessKey must be <objectCode>:<recordId>.${...}-like templates must avoid Flyway placeholder parsing, for example by using CONCAT('$', '{field}').