Сделано на основе статьи про интеграцию Рево с Битрикс24, найденной на просторах интернета.

Создаем сниппет с названием Bitrix24, в него вносим следующий код:
<?
// CRM server conection data
define('CRM_HOST', 'account.bitrix24.ru'); // your CRM domain name
define('CRM_PORT', '443'); // CRM server port
define('CRM_PATH', '/crm/configs/import/lead.php'); // CRM server REST service path

// CRM server authorization data
define('CRM_LOGIN', 'mail@mail.ru'); // login of a CRM user able to manage leads
define('CRM_PASSWORD', 'Your-Password'); // password of a CRM user
// OR you can send special authorization hash which is sent by server after first successful connection with login and password
//define('CRM_AUTH', 'e54ec19f0c5f092ea11145b80f465e1a'); // authorization hash

/********************************************************************************************/

// POST processing
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
    $leadData = $_POST;

    // get lead data from the form
    $postData = array(
        'TITLE' => $leadData['title'],
        'NAME' => $leadData['name'],
        'EMAIL_HOME' => $leadData['email'],
        'PHONE_WORK' => $leadData['phone'],
        'COMMENTS' => $leadData['message'],
        'SOURCE_ID' => 'WEB',
    );

    // append authorization data
    if (defined('CRM_AUTH'))
    {
        $postData['AUTH'] = CRM_AUTH;
    }
    else
    {
        $postData['LOGIN'] = CRM_LOGIN;
        $postData['PASSWORD'] = CRM_PASSWORD;
    }

    // open socket to CRM
    $fp = fsockopen("ssl://".CRM_HOST, CRM_PORT, $errno, $errstr, 30);
    if ($fp)
    {
        // prepare POST data
        $strPostData = '';
        foreach ($postData as $key => $value)
            $strPostData .= ($strPostData == '' ? '' : '&').$key.'='.urlencode($value);

        // prepare POST headers
        $str = "POST ".CRM_PATH." HTTP/1.0\r\n";
        $str .= "Host: ".CRM_HOST."\r\n";
        $str .= "Content-Type: application/x-www-form-urlencoded\r\n";
        $str .= "Content-Length: ".strlen($strPostData)."\r\n";
        $str .= "Connection: close\r\n\r\n";

        $str .= $strPostData;

        // send POST to CRM
        fwrite($fp, $str);

        // get CRM headers
        $result = '';
        while (!feof($fp))
        {
            $result .= fgets($fp, 128);
        }
        fclose($fp);

        // cut response headers
        $response = explode("\r\n\r\n", $result);

        $output = '<pre>'.print_r($response[1], 1).'</pre>';
    }
    else
    {
        echo 'Connection Failed! '.$errstr.' ('.$errno.')';
    }
}
else
{
    $output = '';
}
?>

В поля CRM_HOST, CRM_LOGIN и CRM_PASSWORD вносим соответственно адрес нашей Битрикс24, логин и пароль для аккаунта, от которого будут добавляться сделки.

И вызываем этот сниппет перед нужной нам формой:
[!Bitrix24!]

В форме, которую цепляем к Битрикс24 создаем следующую обязательную строку для названия, вида:
<input type="hidden" name="title" value="Заявка со страницы [*pagetitle*]">

Также можем занести в сниппет и другие поля, которые смотрим здесь: dev.1c-bitrix.ru/community/blogs/chaos/crm-sozdanie-lidov-iz-drugikh-servisov.php
Можно создать и в Битрикс24 пользовательские поля в разделе CRM — Настройки — Настройки форм и отчетов — Пользовательские поля — Лид. Поля создаются вида UF_CRM_XXXXXXXXXX, смотрим их названия и заносим их также в массив в сниппете.

Сохраняем, радуемся, проверяем и видим, что у нас теперь автоматически создаются сделки и контакты в Битрикс24.

Кому понравилась статья, ставьте лайк.