Ви зараз переглядаєте Standalone функції в Zoho CRM: що це, як працює і коли використовувати

Standalone функції в Zoho CRM: що це, як працює і коли використовувати


Якщо ви вже працюєте з deluge функціями в Zoho CRM, то точно стикалися з необхідністю повторного використання коду або запуску функцій поза межами стандартних тригерів. Саме для цього існують standalone функції в Zoho CRM — окремі скрипти, які можна запускати вручну, через кнопки, сценарії або з інших функцій. У цій статті розберемося, що це таке, як їх створити та коли їх варто використовувати.

Що таке standalone функції в Zoho CRM та для чого її використовують

Standalone-функції – це такі функції, які не привʼязані напряму до якогось workflow, чи інших процесів. Вона має свої параметри і її можна викликати не одноразово з інших функцій. Якщо ти знайомий з будь якою мовою програмування, то це якраз окрема функція, яку можна перевикористовувати. Звідси і виходить відповідь на питання, навіщо її використовувати.

Візьмемо за приклад функцію відправки повідомлення в телеграм. В проєкті необхідно налаштувати повідомлення, про нові Ліди, про нові Угоди, а також відправляти повідомлення про виграш угоди. Звісно, повідомлень може бути і більше, але для даної статті вистачить і трьох таких випадків.

Використання звичайних workflow-функції

Для реалізації такої задачі, вам необхідно буде зробити мінімум дві однакові функції для Лідів і Угод, і в кожному з них вам треба прописувати блок коду, для відправки повідомлення. Прописати token бота, id чату, в який треба відправляти повідомлення. Коли кількість таких повідомлень за різними тригерами зростає, то у вашому проекті в один момент зʼявиться 5+ функцій, в який написаний один і той же блок коду. В мене так було на проєкті, і коли наприклад змінюється треба змінити token бота, або стандарт повідомлення, то це даремно витрачений час на пошук всіх місць, де в тебе є відправка в телеграм, щоб всюди зайти і внести зміни.

Використання standalone функції в Zoho CRM

Щоб не дублювати цей блок по сто разів, я зробив одну standalone-функцію, в якій прописана основна інформація для відправки повідомлення в телеграм. Також, для використання в різних інших функціях, я налаштував параметри для цієї функції.

Таким чином, я можу викликати функцію відправки телеграм повідомлення з різних модулів, автоматизацій. Мені лише треба передати ід запису, тип запису (Лід, Угода, Користувацький модуль).

Після переходу на standalone-функцію процес відправки повідомлень в телеграм став значно легше.

Важливий момент, що workflow-функції залишаються не дуже навантажені кодом і сторонньому аналітику буде легко зрозуміти всю логіку.

Для чого standalone функції в Zoho CRM: типові кейси

Основним кейсом використання в моїй практиці залишається взаємодія з сторонніми сервісами, які є у вас в проєкті.

  • Функція по створення папки на гугл диск. Можна запускати з різних процесів та модулів.
  • Функція створення платежу в платіжній системі (наприклад wayforpay) та автоматичного створення рахунку в CRM. Можна налаштувати кнопки в різних модулях і викликати з них нашу одну функцію.
  • Функція запиту актуального курсу по API (наприклад мінфін АПІ).

Але звісно, є і кейси, коли зручно винести блок коду в standalone-функцію, щоб спростити викляд самої функції і також мати змогу повторного використання.

  • Пошук контакту за номером телефону та поштою. В основному використовується при створенні лідів, але можна додатково налаштувати пошук при ручному створенні контактів менеджером, щоб знаходити дублі та попереджати про це.
  • Форматуванню номеру телефона. Ліди можуть приходити з різних джерел і номера телефонів можуть бути в різних форматах. Також можна налаштувати на створення ліда, а також на створення контакту, щоб в нас завжди були номери телефонів в одному форматі.
  • Створення угоди. Може бути корисним, якщо у вас є партнерський відділ, або будь які інші відділи, які можуть передавати клієнтів на відділ продажів. Може бути декілька різних процесів, але при цьому ви будете використовувати одну функцію для створення.
  • Створення задачі, про помилку. Наприклад в вашому проєкті багато різних workflow-функцій і для того, щоб запобігти кейсам, коли сталась помилка, а ви про це не знаєте, то класно створювати задачу з описом помилки і приєднувати саме до того запису, в якому повинна була спрацювати автоматизація.

Мій перелік кейсів приведений лише для прикладу, але звісно є безліч інших варіантів для застосування.

Як створити standalone функції: покроково

Тепер я покажу вам, як легко створити таку standalone-функцію і як її використовувати на прикладі створення контакту, а у відповідь будемо віддавати Id створенного запису.

Для створення буду використовувати стандартні поля контакту, тому ви легко зможете повторити за мною.

НАЗВА ПОЛЯAPI ІМʼЯ
ІмʼяFirst_Name
Прізвище*Last_Name*
Номер телефонуPhone
ПоштаEmail

*-обовʼязкове поле

Якщо ви вже працюєте з Zoho, то для вас не буде секрет, що Прізвище в лідах та контактах завжди обовʼязкове.

Всі подальші дії буду показувати в Zoho з англійським перекладом, тому рекомендую і вам переставити на англійську, щоб легко все знайти.

Для створення функції необхідно перейти в налаштування, в розділ Developer Hub -> Functions -> New Function

Необхідно обрати категорію функції Standalone. Якщо, ви користуєтесь російським перекладом, то у вас буде називатись Автономний.

Спочатку нам необхідно вказати параметри. В прикладі я вказав окремо параметри, але можна також передавати і обʼєкт з даними.

Далі, реалізовуємо звичайний код по створенню контакту. Звісно, в прикладі показано дуже легкий варіант створення, але у вашому проєкті може бути багато логіки і додаткових запитів.

string standalone.create__contact(String firstName, String lastName, String phone, String email)
{
if ( !lastName.isEmpty()) 
{
createContactMap = map();
createContactMap.put("First_Name", firstName);
createContactMap.put("Last_Name", lastName);
createContactMap.put("Phone", phone);
createContactMap.put("Email", email);
info "createContactMap" ;
info createContactMap ;
createContact = zoho.crm.createRecord("Contacts", createContactMap);
info "createContact" ;
info createContact ;
return createContact.get("id");
}
else 
{
return "Прізвище (Last_Name) не заповнене. Не можливо створити контакт";
}
}

Далі, обовʼязково перевіряємо, чи спрацьовує наша логіка. В реальному проєкті важливо додавати більше перевірок і перевіряти різні варіанти, але в нашому прикладі, я покажу тільки успішний кейс створення.

Логіка нашої функції в тому, що при успішному створенні контакту вона повертає Id контакту, який ви вже можете далі використовувати в своїх автоматизаціях. Наприклад, привʼязати створений контакт до ліда чи якось інакше.

Також не забуваємо перевірити сам контакт, чи все правильно передалось.

Після того, як ми перевірили, що наша функція правильно працює, перейдемо до того, як викликати нашу standalone-функцію з інших функцій.

Як викликати standalone функції з іншої функції

В моєму прикладі я зроблю таку автоматизацію: наприклад ваша компанія працює тільки з B2B сегментом наразі і для B2C у вас немає поки що пропозицій, але ви б хотіли мати базу контактів B2C клієнтів, яким цікавий ваш продукт, щоб у майбутньому скористатись нею, якщо ви запустите роздрібні пропозиції.

Для цього, налаштуємо workflow на зміну статуса ліда і зробимо умову, щоб причина програшу була тільки B2C

У наступному блоці нам необхідно створити ще одну функцію, яка і буде викликати standalone-функцію.

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

void automation.create__b2c__contact(int leadId)
{
leadData = zoho.crm.getRecordById("Leads", leadId);
firstName = leadData.get("First_Name");
lastName = leadData.get("Last_Name");
phone = leadData.get("Phone");
email = leadData.get("Email");
info firstName ;
info lastName ;
info phone ;
info email ;
createContact = standalone.create__contact(firstName,lastName,phone,email);
}

Коли ми викликаємо функцію, то також бачимо всі логи, так само як і в самій standalone-функції. У відповідь ми отримуємо Id створеного контакту

Звісно, для нашого прикладу з B2C клієнтом було б добре ще додати тип клієнта, або поставити тег, щоб зрозуміти, що то був саме B2C клієнт, але це ви вже зможете доробити самостійно.

Підсумок: коли варто використовувати standalone функції в Zoho CRM

Я для себе вивів таке правило. Я можу створювати спочатку workflow-функцію і вже пізніше, якщо я бачу, що в мене один і той же блок повторюєтеся декілька разів, в такому разі я виношу це в standalone-функції і змінюю попередній код, на виклик нової функції.

Звісно, якщо я від початку проєкту знаю, що ми будемо робити повідомлення в телеграм, або наприклад ми маємо декілька кастомних модулів і всюди будуть номери телефонів, які треба відформатувати по стандарту, то я можу і одразу зробити таку функцію.

Також, хотів додати, що згодом, у вас може зібратись 5 – 10 готових standalone-функцій однотипних, які легко переносити з проєкта в проєкт, тим самим прискорюючи вашу роботу.

Звісно, фінальне рішення за вами, використовувати цей підхід чи ні, але рекомендую спробувати подумати, можливо у вас вже є проєкт, в якому є 2 – 3 однакових функції, в яких вам постійно доводиться вносити правки, то чому б не змінити це на одну функцію і облегшити собі життя?

А якщо у вас є потреба зробити індивідуальну розробку, переходь за посиланням в телеграм.