You can not pre-fill the form unless you specifically implement something to do that. CB will ignore POST and GET data sent to its registration page if that data did not come from itself.
I understand what you're asking now though as you're wanting to workaround that limitation using CB Auto Actions. That won't be doable since CB won't pre-fill unless the registration failed (e.g. they attempt to register, it fails due to validation, so it fills in the data they already filled in). I think the only way to do this without throwing an error is to use the below trigger.
Code:
$_PLUGINS->trigger( 'onBeforeEditATab', array( &$tabContent, &$oTab, &$user, &$postdata, $output, $formatting, $reason, $tabbed ) );
That is ran when tabs and their fields are being ran through for display. Specifically what we're interested in is $user or var3 in case of CB Auto Actions and $postdata or var4. The $reason or var7 is also important as this tells us where we are. So for example the below would just act on registration.
Global
Triggers: onBeforeEditATab
Type: Code
User: Automatic
Access: All Non-Registered Users
Conditions
1: Custom > Value: [var7] Equal To register
Action
Method: PHP
Code
Code:
$fields = array( 'username' );
foreach ( $fields as $fieldName ) {
$fieldValue = $input->get( 'get/' . $fieldName, null, \CBLib\Registry\GetterInterface::STRING );
if ( $fieldValue ) {
$variables['var3']->set( $fieldName, $fieldValue );
$variables['var4'][$fieldName] = $fieldValue;
}
}
Parameters
Reference Variables: Variable 3 and Variable 4
This should work fine for any field. Just add more fields to the $fields variable array and it'll handle them. They're always being cleaned to a string value for additional security (CB will also check, clean, and secure on actual POST of the form but this is an extra precaution). They will also only map if the value exists in GET. So you'd just link to your other registration form with whatever information you'd like to pass to it.