protected function isValid(Lead $lead)
 {
     $valid = true;
     $webworks = false;
     $options = false;
     $account = $lead->getAccount();
     $apis = $account->getApis();
     // Check WebWorks API
     if ($apis) {
         foreach ($apis as $api) {
             if ($api->getName() == 'WebWorks') {
                 $webworks = $api;
             }
         }
     }
     if ($webworks) {
         $options = [];
         $apiOptions = $webworks->getOptions();
         $values = array_map(function ($option) {
             return [$option->getOption() => $option->getValue()];
         }, array_filter($apiOptions, function ($option) {
             return $option->getApi()->getName() == 'WebWorks' && !empty($option->getValue()) && $option->getScope() == 'global';
         }));
         foreach ($values as $option) {
             foreach ($option as $key => $value) {
                 switch ($key) {
                     case 'AppReferrer':
                         if (!preg_match('/none/i', trim($value))) {
                             $options[$key] = preg_replace('/\\{lead\\}/i', "Lead #" . $lead->getId(), $value);
                         }
                         break;
                     default:
                         $options[$key] = $value;
                         break;
                 }
             }
         }
         foreach ($account->getApiSettings() as $apiSetting) {
             $option = $apiSetting->getApiOption();
             switch ($option->getOption()) {
                 case 'CompanyId':
                     $options['CompanyId'] = $apiSetting->getApiValue();
                     break;
                 case 'CompanyName':
                     $options['CompanyName'] = $apiSetting->getApiValue();
                     break;
                 case 'AppReferrer':
                     if (!preg_match('/none/i', trim($apiSetting->getApiValue()))) {
                         $options['AppReferrer'] = $apiSetting->getApiValue();
                     } else {
                         unset($options['AppReferrer']);
                     }
                     break;
             }
         }
         foreach (['Source', 'CompanyId'] as $option) {
             if (!in_array($option, array_keys($options))) {
                 $valid = false;
             }
         }
     } else {
         $valid = false;
     }
     return $valid ? $options : false;
 }