The Process View can be used to launch a particular workflow. Here's an example of using the Process View.
Main steps involved are to first create an instance of the Process View specifying the process to run, then to modify the view before calling checkinView to launch the workflow instance.
In this example we're launching the workflow process called 'Custom - Partner Create User Template'
<Activity name='Create Process View'> <Action id='0' application='com.waveset.session.WorkflowServices' hidden='true'> <Argument name='viewId' value='Process'/> <Argument name='op' value='createView'/> <Argument name='process' value='Custom - Partner Create User Template'/> <Variable name='view'/> <Return from='view' to='processView'/> <Return from='WF_ACTION_ERROR' to='error'/> </Action> <Transition to='Create User'/> </Activity> <Activity name='Create User' audit='true'> <Action id='0'> <expression> <block> <set name='processView.user'> <ref>user</ref> </set> <set name='processView.accountId'> <ref>accountId</ref> </set> <set name='processView.to'> <ref>accountId</ref> </set> <set name='processView.fullname'> <concat> <ref>firstname</ref> <s> </s> <ref>lastname</ref> </concat> </set> <set name='processView.taskNameTemplate'> <concat> <s>Create user </s> <ref>accountId</ref> </concat> </set> <set name='processView.notifications.user.enable'> <ref>enableNotifications</ref> </set> <set name='processView.notifications.user.template'> <ref>notificationTemplate</ref> </set> </block> </expression> </Action> <Action id='1' application='com.waveset.session.WorkflowServices' hidden='true'> <Argument name='op' value='checkinView'/> <Argument name='view'> <ref>processView</ref> </Argument> <Argument name='subject' value='Configurator'/> <Return from='WF_ACTION_ERROR' to='error'/> </Action> <Transition to='end'/> </Activity>