Надсилайте відповіді 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, якому належить форма |
| Tally | Tally → Make (або Zapier) → HTTP-запит у Cold Leads | Обліковий запис Make; для вебхуків Zapier потрібен платний тариф |
| Typeform | Typeform → Make (або Zapier) → HTTP-запит у Cold Leads | Обліковий запис Make; для вебхуків Zapier потрібен платний тариф |
Спрямувати вебхук Tally чи Typeform безпосередньо на /api/hooks/lead не вийде: вони надсилають відповіді у вкладених структурах (data.fields у Tally, form_response.answers у Typeform), а ендпоінт очікує поле email на верхньому рівні.
Google Forms з Apps Script
- Відкрийте форму, потім ⋮ → Apps Script, і вставте скрипт нижче. Змініть назви запитань у FIELDS відповідно до вашої форми.
- У редакторі скриптів відкрийте Triggers → Add Trigger, оберіть sendToColdLeads, джерело подій From form, тип події On form submit і збережіть.
- Google попросить авторизувати скрипт, бо він підключається до зовнішнього сервісу. Тригер виконується від імені людини, яка його створила.
- Надішліть тестову відповідь і, якщо контакт не з’явився, перевірте Executions у редакторі скриптів.
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
- У Make створіть сценарій. Почніть його з тригера вашого конструктора форм для нових відповідей або з Webhooks → Custom webhook і вставте адресу цього вебхука в Tally (Integrations → Webhooks) чи Typeform (Connect → Webhooks).
- Надішліть одну тестову відповідь, щоб Make дізнався структуру відповідей.
- Додайте HTTP → Make a request: URL https://coldleads.app/api/hooks/lead, метод POST, заголовок x-api-key з вашим ключем сайту, тип тіла Raw, тип вмісту JSON.
- У тілі зіставте відповіді з полями Cold Leads, як у прикладі нижче. У Typeform відповідь з e-mail — це елемент типу email; у Tally — поле типу INPUT_EMAIL.
- Запустіть сценарій один раз, перевірте, що контакт з’явився в Cold Leads, а потім увімкніть розклад.
Тіло запиту, де заповнювачі замінено на зіставлені в Make значення:
{
"email": "{{email answer}}",
"name": "{{name answer}}",
"company": "{{company answer}}",
"message": "{{message answer}}",
"tag": "tally"
}Tally або Typeform через Zapier
- Створіть Zap з тригером Tally або Typeform для нових відповідей.
- Додайте Webhooks by Zapier → POST (доступно на платних тарифах Zapier).
- URL https://coldleads.app/api/hooks/lead, Payload Type json, Data: email, name, company, message і tag, зіставлені з тригера, Headers: x-api-key з вашим ключем сайту.
- Протестуйте крок і опублікуйте Zap.
Питання
Чи можна надіслати вебхук Typeform безпосередньо в Cold Leads?
Ні. Payload Typeform зберігає відповіді в form_response.answers, а Cold Leads читає поле email на верхньому рівні. Використайте Make або Zapier, щоб зіставити поля.
Чи потрібен для Apps Script платний тариф Google?
Ні. Встановлювані тригери й UrlFetchApp працюють зі звичайним обліковим записом Google; діють денні квоти Google для Apps Script.
Який статус згоди отримують ці контакти?
inquiry, як і контакти з форм сайту. Використовуйте ендпоінт лише для людей, які заповнили вашу форму, а не для куплених списків; їх натомість імпортуйте CSV-файлом.