Programmatically setting a webform submission to draft in presave I am trying from within a hook_webform_submission_presave() programmatically set a webform submission to draft.  We are creating an event registration system with webforms and some events require approval.  The thought is if an event requires approval we would set submissions to draft and admins could then "approve" them by making them no longer drafts.

Maybe there is a better way to handle this functionality and i'm open to ideas though I am not sure why this cleaned up hook below doesn't set submissions to draft mode.

function lebow_events_webform_submission_presave(WebformSubmissionInterface $webform_submission) {
  $current_data = $webform_submission-&gt;getData();
  $current_data['in_draft'] = TRUE;
  $webform_submission-&gt;setData($current_data);
}
Turns out I need to do this to save draft, the setData is only used to set element data.

$webform_submission-&gt;set('in_draft', TRUE);