Налаштування циклічної автоматизації для привітань з Днем Народження
Опис: Ця інструкція крок за кроком пояснює, як налаштувати циклічну автоматизацію для привітань з днем народження або створення нагадувань. Суть процесу полягає в автоматичному перерахунку дати дня народження на поточний або наступний рік та збереженні її в окремому полі.
Підготовка полів у картці
Для початку вам потрібно створити 3 нових поля у вашій папці:
День народження - поле дата, куди вводиться дата народження.
Технічне поле ДН - сюди буде автоматично записуватись оновлена дата наступного дня народження.
ID запису - створіть це як окреме однорядкове текстове поле і відразу вкажіть його як поле для визначення дублікатів.
💡Зверніть увагу: Ви можете заблокувати можливість редагування полям:
Технічне поле ДН.
ID запису.
Для того, щоб менеджери випадково не вносили значення в технічні поля.
Налаштування Google Apps Script
Google Скрипт відповідає за обчислення: він перевіряє, чи вже пройшов день народження у поточному році, і за потреби переносить його на наступний рік.
Відкрийте редактор скриптів і скопіюйте туди наступний код:
function doPost(e) {
try {
var data = JSON.parse(e.postData.contents);
var recordId = data.id;
var birthDateStr = data.birthday;
var parts = birthDateStr.split('/');
var day = parseInt(parts[0], 10);
var month = parseInt(parts[1], 10) - 1;
var today = new Date();
// Встановлюємо сьогодні на початок дня для порівняння
var comparisonToday = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0);
var currentYear = today.getFullYear();
// Створюємо дату, встановлюючи 12 годин дня (полудень) замість півночі
var targetDate = new Date(currentYear, month, day, 12, 0, 0);
// Якщо ця дата в полудень вже пройшла сьогодні
if (targetDate < comparisonToday) {
targetDate.setFullYear(currentYear + 1);
}
// Форматуємо, використовуючи явний часовий пояс "GMT+3" (Київ влітку) або "GMT+2"
// Найкраще використовувати Session.getScriptTimeZone()
var updatedDateStr = Utilities.formatDate(targetDate, Session.getScriptTimeZone(), "dd/MM/yyyy");
var url = "https://nethunt.com/service/automation/hooks/69d026741f24de2bb193829e";
var payload = {
id: recordId,
updated_birthday: updatedDateStr
};
UrlFetchApp.fetch(url, {
"method": "post",
"contentType": "application/json",
"payload": JSON.stringify(payload)
});
return ContentService.createTextOutput(JSON.stringify({
"status": "success",
"returned": updatedDateStr
}))
.setMimeType(ContentService.MimeType.JSON);
} catch (error) {
return ContentService.createTextOutput(JSON.stringify({"status": "error", "message": error.toString()}))
.setMimeType(ContentService.MimeType.JSON);
}
}💡Зверніть увагу: В коді скрипта обов'язково треба буде замінити посилання на актуальний вебхук вашої CRM:
Опублікуйте скрипт, натиснувши: "Ввести в дію" → "Нове введення в дію".
Оберіть тип "Веб-додаток".
Завершіть розгортання та скопіюйте отримане посилання на веб-додаток, його буде залучено в API-виклику.
Налаштування першої автоматизації (Відправка даних)
Ця автоматизація передаватиме первинну дату в Google Скрипт.
Тригер: Поле "День народження" стає заповненим.
Дія 2 (API виклик): Вставте скопійоване посилання на веб-додаток в поле URL у налаштуваннях API виклику.
Додайте деталі API виклику, де:
Виберіть тип запиту - POST
URL - це вебхук, взятий із вашого Google скрипт, до якого ви хочете надіслати інформацію:
https://script.google.com/macros/s/Актуальне посилання/exec
JSON - дані для надсилання за допомогою формату даних JavaScript Object Notation. Скопійовані login та secret key вставляємо тут:
{
"id": "макрос - ID запису",
"birthday": "макрос - День народження"
}
Дія 1 (Оновити запис): Перенесіть системний ID запису в створене вами звичайне поле "ID запису" (для подальшого визначення дублікатів).
Загальний вид автоматизації:
Налаштування другої автоматизації (Вебхук та приймання даних)
Ця автоматизація приймає обчислену дату зі скрипта і зберігає її в технічне поле.
Тригер: Створіть тригер Вебхук. Згенеруйте його посилання та вставте його в код вашого Google Скрипта.
Відправте тестовий запит до вебхука, щоб він отримав змінні (id та оновлену дату). Обов’язково вкажіть формат дат.
Дія 1: Створіть запис у вашій папці. Співставте отриманий зі скрипта з полем, яке ви визначили як визначник дублікатів (ваше поле "ID запису").
Дія 2: Налаштуйте оновлення запису. В цьому кроці запишіть отриману розраховану дату в "Технічне поле ДН", щоб воно мало можливість оновлюватись щоразу після дня народження.
Запуск циклічних привітань
Після того, як "Технічне поле ДН" автоматично оновиться, ви можете створити фінальну циклічну автоматизацію для привітання з Днем Народження або нагадування. Вона буде базуватися саме на цьому технічному полі, гарантуючи, що дія відбуватиметься щороку в потрібну дату.
Тригер автоматизації:
Значення поля змінено: Автоматизація запускається щоразу, коли в полі «ДН технічне» з'являється нова дата. Оскільки скрипт автоматично перераховує дату на наступний рік після завершення циклу, цей процес стає нескінченним.
Розподіл на гілки:
Для того, щоб система виконувала різні дії в межах одного робочого процесу, використовується логічний крок «Розділити на 3 гілки».
Гілка А: Основне привітання клієнта
Ця гілка відповідає за комунікацію безпосередньо в день свята:
Чекати до дати: Система призупиняє дію до настання дати, вказаної в полі «ДН технічне», саме на 10:00 ранку (ви можете вказати власний час).
Відправити email: Клієнту надсилається святковий лист «Вітаємо».
Зробити виклик API: Паралельно надсилається сповіщення в Telegram, щоб команда знала про свято. Або змінити на API виклик для надсилання SMS напряму клієнту з привітанням.
Оновити запис: Перше оновлення потрібно очистити поле ДН технічне. Останні кроки в цій гілці призначені для того, щоб змінити дані в картці клієнта та спровокувати повторний запуск скрипта для оновлення дати на наступний рік. Вказуємо поточну дату та підвищити на рік.
Гілка Б: Попереднє нагадування
Ця гілка потрібна для внутрішньої підготовки команди:
Чекати до дати: Система чекає дату «ДН технічне» за мінусом 1 дня (або ваше значення).
Зробити виклик API: Відправляється повідомлення в Telegram. Це дозволяє менеджерам завчасно підготувати особливі пропозиції або зателефонувати клієнту особисто.
Гілка В: Контроль змін
Чекати оновлення: Ця гілка стежить за полем «День народження» (основним полем, яке заповнює менеджер).
Завершити автоматизацію: Якщо менеджер вручну змінює основну дату народження, ця конкретна сесія автоматизації зупиняється, щоб уникнути конфліктів і дочекатися нових розрахунків від скрипта.
Загальний вид автоматизації:
💡Зверніть увагу: Це лише один з прикладу можливих сценаріїв, побудови автоматизацій, які ви можете використовувати в роботі.
Не знайшли відповідей, які шукали? Пишіть нам у чат підтримки прямо з CRM!
А також доєднуйтесь до спільноти однодумців в нашому телеграм каналі.





