Treat discovered functions as another external entry point.
1. Caller access
The platform constrains which callers can invoke capabilities. Your domain layer must still check user state, ownership and operation-specific authorization.
2. Consequential actions
Require an appropriate user confirmation flow for actions that change or expose sensitive data. Bind the confirmation to the exact arguments being executed.
3. Idempotency
External callers can retry after timeouts. Assign an operation identity or detect duplicates so one intended action does not produce several records.
Worked scenario
A caller retries task creation after losing the response. The app returns the existing result for the same operation rather than creating another task.
Apply it
Test a locked account, another user’s record, denied confirmation and a repeated request.
Check your understanding
External invocation cannot bypass the checks used by the normal app UI. Explain the decision and show evidence from your implementation or design. If you cannot demonstrate it yet, revisit the relevant section before continuing.