Передача ответов из Google Форм в карточки (для администратора)

Если вы используете Google Формы для сбора карточек, то можете настроить их передачу в KeyCRM. Рассказываем как это сделать.
Автор Юлія Бакум
Обновлено 4 месяца назад

Автоматическая передача карточек из Google Форм ускорит их обработку в несколько раз, избавив от необходимости проверять каждый ответ вручную. Все ответы будут сразу попадать в раздел воронок.

Обратите внимание! Описанный в этой статье способ не передаёт старые ответы на формы. Только те, что будут поступать после настройки.

Шаг 1. Создание скрипта

Перейдите в настройки нужной формы и выберите «Редактор скриптов»:

Откроется новая вкладка, где вам нужно полностью удалить код, который там будет, и вставить вместо него вот этот:

function KeycrmSendLeads() {
    let form = FormApp.getActiveForm(),
        allResponses = form.getResponses(),
        latestResponse = allResponses[allResponses.length - 1],
        response = latestResponse.getItemResponses(),
        number = allResponses.length;

    let options = {
        'method': 'POST', 
        'contentType': 'application/json',
        headers: {
            'Authorization': 'Bearer ' + 'СЮДа ВСТАВИТь ВАШ API-КЛЮЧ' // вставьте API ключ из KeyCRM
        }    
    };  

    let payload = {
        'title': form.getTitle()+ ' #' + number,
        'source_id': 141,  // идентификатор источника из KeyCRM
        'manager_id': 108, // идентифыкатор профиля пользователя из KeyCRM
        'pipeline_id': 94, //идентификатор воронки из KeyCRM
        'utm_source': 'google-form', 
        'utm_medium': 'social_cpc',
        'utm_campaign': 'west-january',
        'utm_term': 'landing page',
        'utm_content': 'pre-registration'
    };

    let contact = {};
    let comment = '';
    let custom_fields = [];

    for (let i = 0; i < response.length; i++) {
        let question = response[i].getItem().getTitle();
        let answer = response[i].getResponse();

        if (question === 'Имя' && answer) {
            contact.full_name = answer;
        } 

        if (question === 'Телефон' && answer) {
            contact.phone = answer;
        }

        if (question === 'Ваш email' && answer) {
            contact.email = answer;
        }

        if (question === 'У вас есть алергия на какие-то продукты?' && answer) {
            comment += 'АЛЕРГИЯ - ' + answer;
        } 

        if (question === 'Дополнительные комментарии' && answer) {
            comment += '; Комментарии - ' + answer;
        } 

        if (question === 'Введите промокод:' && answer) {
            custom_fields.push({ 'uuid': 'LD_1690', 'value': answer.toString() });
        }

        if (question === 'В какой день мероприятия вы будете присутствовать?' && answer) {
            // Все значения передаются в виде массива, поскольку это поле в CRM с типом список/мультисписок
            custom_fields.push({ 'uuid': 'LD_1689', 'value': Array.isArray(answer) ? answer : [answer] });
        }
    }

    payload['contact'] = contact;
    payload['manager_comment'] = comment;
    payload['custom_fields'] = custom_fields;


    options.payload = JSON.stringify(payload);

    try {
        let response = UrlFetchApp.fetch('https://openapi.keycrm.app/v1/pipelines/cards', options);
        Logger.log("Ответ сервера: " + response.getContentText());
    } catch (error) {
        Logger.log("Ошибка во время отправки даных на сервер: " + error);
    }
}

После добавления кода, нажмите «Сохранить проект»:

Шаг 2. Получение API-ключ KeyCRM

Перейдите в «Настройки»«Основные» и скопируйте ключ:

Шаг 3. Редактирование скрипта 

Сначала необходимо настроить базовую информацию:

  1. API-ключ: вставьте скопированный ключ в предыдущем шаге;
  2. ID источника в KeyCRM: укажите идентификатор источника, с которым будут создаваться карточки. Удалите строку, если не требуется;
  3. ID менеджера: укажите идентификатор пользователя CRM, который будет назначен менеджером в созданных карточках. Удалите строку, если не требуется;
  4. ID воронки: укажите, в какой воронке должны создаваться карточки. Можно не указывать, тогда просто удалите строку. Карточки будут приходить в первую воронку;
  5. UTM-метки: заполните метки, с которыми будет создана карточка. Если не требуется, удалите все строки.
Важно! Все текстовые данные должны быть в одинарных кавычках! Редактируйте код осторожно и не удаляйте нужные кавычки, запятые или скобки.

Настройте поля формы, которые необходимо передавать

Поля с контактной информацией передаются по отдельности, необходимо в коде прописать название каждого поля в отдельных конструкциях.

Важно! Заменять названия полей нужно на такие же, как в форме, иначе данные не будут передаваться! 

Другие поля можно передавать в комментарий/примечание к карточке. Скопируйте конструкцию, которая сохраняет комментарий для каждого поля или удалите, если не требуется:

Вы можете создать в карточке свои поля и передать данные с полей формы прямо в них. Именно для передачи данных в кастомные поля используйте конструкцию custom_fields.push, в которой нужно указать системный код созданного поля. 

Пример передачи ответов формы в поле с типом строка/текст и список/мультисписок:

Когда все настроите, обязательно сохраните проект. 

Шаг 4. Настройка триггера для передачи карточек

Чтобы заявка отправлялась автоматически сразу после заполнения формы, настройте триггер:

  1. Перейдите в пункт меню «Триггеры» и нажмите кнопку «Добавить триггер»;
  2. В появившемся окне ничего не меняйте, только в самом низу выберите тип события — «При отправке формы», и нажмите «Сохранить»:

В момент добавления триггера у вас появится окно подтверждения доступа. Вам нужно подтвердить разрешение со своего аккаунта Google: 

После этого карточки будут приходить в воронки сразу после заполнения формы, и вы сможете их обрабатывать в едином окне.

Теги: гугл формы, гуглформы, форма, форму, гугл, форма гугл, google form, заявки с гугл
Оцените эту статью