Cold Leads

Надсилайте відповіді Typeform, Tally і Google Forms у Cold Leads

Для кого
Команди, які збирають лідів за допомогою конструкторів форм
Проблема
Конструктори форм зберігають відповіді у власних панелях. Ви хочете, щоб кожна відповідь ставала контактом у CRM, якому можна відповісти, але Typeform і Tally надсилають вебхуки у власному вкладеному форматі, а Google Forms вебхуків не має взагалі.
Рішення
Використайте маршрут, що доставляє пласкі поля на ендпоінт лідів Cold Leads: короткий тригер Apps Script для Google Forms і сценарій Make або Zap для Typeform і Tally, який зіставляє відповіді з полями email, name, company та message.
Що ви отримаєте
Кожна нова відповідь форми стає контактом у Cold Leads зі статусом згоди inquiry, вашими тегами й обраною стадією.

Адреси, ідентифікатори та результати в прикладах ілюстративні. Домен example.com зарезервовано для документації, тож реальна перевірка цих адрес поверне invalid.

Приклади коду однакові для всіх мов, коментарі в них — англійською.

Який маршрут обрати

Конструктор формМаршрутЩо потрібно
Google FormsТригер Apps Script на надсилання форми робить POST у Cold LeadsОбліковий запис Google, якому належить форма
TallyTally → Make (або Zapier) → HTTP-запит у Cold LeadsОбліковий запис Make; для вебхуків Zapier потрібен платний тариф
TypeformTypeform → Make (або Zapier) → HTTP-запит у Cold LeadsОбліковий запис Make; для вебхуків Zapier потрібен платний тариф

Спрямувати вебхук Tally чи Typeform безпосередньо на /api/hooks/lead не вийде: вони надсилають відповіді у вкладених структурах (data.fields у Tally, form_response.answers у Typeform), а ендпоінт очікує поле email на верхньому рівні.

Google Forms з Apps Script

  1. Відкрийте форму, потім ⋮ → Apps Script, і вставте скрипт нижче. Змініть назви запитань у FIELDS відповідно до вашої форми.
  2. У редакторі скриптів відкрийте Triggers → Add Trigger, оберіть sendToColdLeads, джерело подій From form, тип події On form submit і збережіть.
  3. Google попросить авторизувати скрипт, бо він підключається до зовнішнього сервісу. Тригер виконується від імені людини, яка його створила.
  4. Надішліть тестову відповідь і, якщо контакт не з’явився, перевірте Executions у редакторі скриптів.
Apps Script, прив’язаний до форми
const COLDLEADS_KEY = "lk_your_website_key";
// Form question title → Cold Leads field
const FIELDS = { "Work e-mail": "email", "Name": "name", "Company": "company", "What do you need?": "message" };

function sendToColdLeads(e) {
  const lead = { tag: "google-forms" };
  // If the form collects e-mail addresses automatically, use that address.
  const respondent = e.response.getRespondentEmail();
  if (respondent) lead.email = respondent;
  for (const item of e.response.getItemResponses()) {
    const field = FIELDS[item.getItem().getTitle()];
    if (field) lead[field] = String(item.getResponse());
  }
  const res = UrlFetchApp.fetch("https://coldleads.app/api/hooks/lead", {
    method: "post",
    contentType: "application/json",
    headers: { "x-api-key": COLDLEADS_KEY },
    payload: JSON.stringify(lead),
    muteHttpExceptions: true,
  });
  if (res.getResponseCode() >= 300) console.warn(res.getResponseCode(), res.getContentText());
}

Tally або Typeform через Make

  1. У Make створіть сценарій. Почніть його з тригера вашого конструктора форм для нових відповідей або з Webhooks → Custom webhook і вставте адресу цього вебхука в Tally (Integrations → Webhooks) чи Typeform (Connect → Webhooks).
  2. Надішліть одну тестову відповідь, щоб Make дізнався структуру відповідей.
  3. Додайте HTTP → Make a request: URL https://coldleads.app/api/hooks/lead, метод POST, заголовок x-api-key з вашим ключем сайту, тип тіла Raw, тип вмісту JSON.
  4. У тілі зіставте відповіді з полями Cold Leads, як у прикладі нижче. У Typeform відповідь з e-mail — це елемент типу email; у Tally — поле типу INPUT_EMAIL.
  5. Запустіть сценарій один раз, перевірте, що контакт з’явився в Cold Leads, а потім увімкніть розклад.

Тіло запиту, де заповнювачі замінено на зіставлені в Make значення:

Тіло модуля HTTP (JSON)
{
  "email": "{{email answer}}",
  "name": "{{name answer}}",
  "company": "{{company answer}}",
  "message": "{{message answer}}",
  "tag": "tally"
}

Tally або Typeform через Zapier

  1. Створіть Zap з тригером Tally або Typeform для нових відповідей.
  2. Додайте Webhooks by Zapier → POST (доступно на платних тарифах Zapier).
  3. URL https://coldleads.app/api/hooks/lead, Payload Type json, Data: email, name, company, message і tag, зіставлені з тригера, Headers: x-api-key з вашим ключем сайту.
  4. Протестуйте крок і опублікуйте Zap.

Питання

Чи можна надіслати вебхук Typeform безпосередньо в Cold Leads?

Ні. Payload Typeform зберігає відповіді в form_response.answers, а Cold Leads читає поле email на верхньому рівні. Використайте Make або Zapier, щоб зіставити поля.

Чи потрібен для Apps Script платний тариф Google?

Ні. Встановлювані тригери й UrlFetchApp працюють зі звичайним обліковим записом Google; діють денні квоти Google для Apps Script.

Який статус згоди отримують ці контакти?

inquiry, як і контакти з форм сайту. Використовуйте ендпоінт лише для людей, які заповнили вашу форму, а не для куплених списків; їх натомість імпортуйте CSV-файлом.