Webform add data along with submitted values
For webform submission it is best to use hook_webform_submission_insert($node, $submission).
$submission-&gt;data will contain all the submitted values arranged against form components ids.

See my implementation how I arranged a webform as user register form.

function user_register_webform_submission_insert($node, $submission){
// Load information about form components
$comps = $node-&gt;webform['components'];
$fields = array();

//Extract the component info to get form_key=&gt;cid to resolve relation
foreach($comps as $cid =&gt; $comp_info){
    $fields[$comp_info['form_key']] = $cid;
}

// Load the submitted data (field values)
$data = $submission-&gt;data;

//Prepare a user info
$user = array(
    'mail' =&gt; $data[$fields['mail']]['value'][0],
    'name' =&gt; $data[$fields['name']]['value'][0],
    'pass' =&gt; user_password(8),
    'status' =&gt; 1,
    'init' =&gt; $data[$fields['mail']]['value'][0],
    'roles' =&gt; array(2, 3),
);

$account = user_save(null, $user);  
}