Data level scripting and DI Importing will default IsInteractive to False. This can be changed using scripting.
Batch processes will set IsInteractive to False. This cannot be changed. These batch processes include posting invoices, generating invoices and fulfilling backorders.
Web sessions, non-interactive COM sessions and non-interactive Command line scripts will set IsInteractive to False.