At this stage there is no way to run Formativ applets from an external application. However, you could write an applet which is integrated with the GroupWise On Startup event, which would execute each time the GroupWise client starts. You could write the applet solution in such a way that it only executed the Shared Address Book update once per day (i.e. by writing a small text file to indicate that processing was complete for that day etc.).
Another possibility for initiating solutions, which is not likely to be desirable in this case, is to write an applet solution which triggers on the On Message Arrival event and which looks for a message specific subject/sender etc., then, if the message is a match, it executes the function and deletes the ‘trigger’ message. It could even send an email to the user indicating that the update was complete.
There are a couple of disadvantages with the On Message Arrival approach for your requirements. Firstly, you do not know what the user may be doing when the solution is triggered by the incoming trigger message and you don’t want to interfere with the user’s work. Secondly, the GroupWise client must be running for the On Message Arrival event to trigger. Both of these disadvantages can be worked around. For example, when the applet solution triggers on an incoming message, ask the user whether they wish to update now or not. If the user decides not to update, leave the trigger message in the Mailbox and use the GroupWise client On Startup event start the same applet and get it look for any remaining trigger messages. If found, perform the update and remove any remaining trigger messages.
BTW, you can also use Formativ to hide any message (such as the trigger message) from the user interface but allow it to be accessible via a search (this can also be disabled). Alternatively, access can be restricted exclusively to direct programmatic access.