Programmatically load and submit the user form I want to programmatically load the user profile form for a particular user and re-submit it without changing any of the existing values. The reasons are complex but I am dependent on gathering data during the form submit phase.

I can see functions to build an empty form ( drupal_get_form ) and to submit a new form ( drupal_form_submit ), but I can't see how to load the form prepopulated with the correct $form_state.
You can try to prepoulate value of any form programmatically &amp; submit like this

$form_state = array();
$form_id = 'invite_form';
$form_state['values']['email'] = 'abc@xyz.com';
drupal_form_submit($form_id, $form_state);

If you want to gather data during user save as mention in question use hook_user_presave.