Custom VBO Action only works when enqueued (Adding User Role and Organic Group)
If anybody runs into this in the future, I had to pass the group id into the og_user_node field and save the user after calling og_group():

$values = array(
    'entity_type' =&gt; 'user',
    'entity' =&gt; $user,
    );

og_group('node', $group-&gt;nid, $values);
$data['og_user_node']['und'][0]['target_id'] = $groupid;
user_save($user, $data);


You should check for any other groups the user is in and create an array of groups along with the new group id and save that into og_user_node, but in my situation, users are only allowed in 1 group, so this takes care of putting them in the new group and removing the old one.