Усім привіт, у цій статті хочу познайомити вас з декларативним інструментом створення складних бізнес-рішень на платформі Salesforce під назвою OmniStudio. Інструменти розробки OmniStudio дозволяють розробникам швидко будувати керовані бізнес флоу , що базуються на основі LWC компонентів. Адміністратори та розробники також можуть інтегрувати в ці процеси дані із Salesforce та інших корпоративних додатків, використовуючи можливості ETL (extract, transform, load) та будувати рішення використовуючи декларативні інструменти. Це рішення може бути цікавим, коли бізнесу треба мінімізувати кількість коду та уніфікувати користувацький інтерфейс.
OmniStudio development tools має 4 основних інструменти:
1.FlexCards
2.OmniScripts
3.DataRaptors
4.Integration Procedures
Давайте трохи детальніше розглянемо кожен із них.
FlexCards відповідає за відображення даних та взаємодію з користувацьким інтерфейсом, а також будувати інтерактивну взаємодію, яка може змінюватись в залежності від контексту. Цей інструмент дозволяє відображати дані з бази даних Salesforce та будувати юзер інтерфейс за допомогою тексту, кнопок, значків, зображень, посилань, діаграм, таблиць або навіть інших FlexCards .
Кожен візуальний елемент, який буде доданий на FlexCard, може бути кастомно налаштований завдяки інструменту style, що дозволить швидко будувати гнучкий юзер інтрерфейс.
Після активації FlexCard може бути розміщена на Salesforce, Сommunity site, або інтегрована у будь-який Aura чи LWC компонент. Також FlexCard може бути інтегрована у Omniscript для побудування складних бізнес-процесів. Ось невеликий приклад інтерактивного інтерфейсу, побудованого за допомогою FlexCard.
OmniScript дозволяє нам побудувати швидкий шлях виконання бізнес-процесу і надавати можливість забезпечення безперебійного обслуговування клієнтів. Ви можете створювати OmniScript за допомогою інтуїтивно зрозумілого редактора з можливістю drag and drop, який дозволяє групувати різні елементи (такі як витягування даних, створення записів в базі даних, побудування інтеграцій, відправка імейлів та багато іншого); також омніскріпт дозволяє створювати step by step флоу, щоб провести юзера через заготований бізнес-процес.
Переваги використовування OmniScript:
- Побудова бізнес-процесів без коду або з низьким кодом
- Гнучкість інструментарію для відстеження помилок та дебагінгу.
- Простота в обслуговуванні
- Вбудована можливість розгалуження (аналог if else)
- Інтеграція даних практично з будь-якого джерела
Одна з найбільших переваг OmniScript – це можливість вбудовування одних омніскріпт в інші що дозволяє будувати омніскріпти, які будуть перевикористовуватись в багатьох місцях, що в свою чергу дозволить уникнути дублювання роботи.
DataRaptor – це інструмент, який дозволяє витягувати, редагувати та створювати дані в Salesforce. Це дозволяє адміністраторам відображати та зберігати дані без необхідності писати Apex. DataRaptor виступає як основний спосіб маніпулювання даними в OmniStudio.
Існує 4 види дата раптор:
- Turbo Extract: швидко витягує дані з одного об’єкта Salesforce.
- Extract: витягує дані з одного або декількох об’єктів Salesforce
- Load: зберігає дані до одного або декількох об’єктів Salesforce.
- Transform: маніпулює даними, наданими із Salesforce або зовнішніх джерел.
DataRaptor працює в основному з JSON, але також підтримує XML. Вони також можуть використовувати спеціальні функції та формули OmniStudio, щоб забезпечити більшу гнучкість під час маніпуляцій з даними.
DataRaptor Turbo Extract витягує та фільтрує дані з одного об’єкту Salesforce з підтримкою витягування полів зі зв’язаних об’єктів. Ви можете відфільтрувати дані та вибрати поля для повернення. На відміну від стандартного отримання DataRaptor Extract, DataRaptor Turbo Extract не підтримує формули або складні вихідні фільтри.
DataRaptor Extract — другий тип DataRaptor, який витягує дані з Salesforce, зчитує дані Salesforce і повертає результати в JSON, XML або інших форматах за допомогою складних зіставлень полів. Зазвичай ви використовуєте DataRaptor Extract для надання OmniScript та FlexCard будь-яких внутрішніх даних Salesforce, які необхідно відображати. Вони підтримують формули та складні вихідні зіставлення даних.
DataRaptor Load завантажує дані в об’єкти Salesforce із вхідних даних JSON або XML. DataRaptor може оновлювати записи, а також створює нові. Щоб змінити вхідні дані, ви визначаєте формули, перетворюєте значення та змінюєте тип вихідних даних. Щоб вказати, як результати записуються в об’єктах Salesforce, ви зіставляєте поля вихідного JSON з полями в об’єктах Salesforce. DataRaptor Load застосовує зіставлення та формули до вхідних даних для створення вихідних даних, а потім завантажує вихідні дані в об’єкти Salesforce відповідно до зіставлення.
Integration procedure – це декларативний процес на стороні сервера, який виконує кілька дій за один виклик сервера. Процедури інтеграції можуть зчитувати та записувати дані із Salesforce та зовнішніх систем (з використанням викликів REST), а також викликати код Apex. Процедуру інтеграції можна викликати з OmniScript, API або методу Apex, а також вона може бути джерелом даних для FlexCard або OmniScript. Integration procedure оптимальний, коли вам необхідно отримати доступ до даних зі сторонніх джерел. Взаємодія з користувачем не потрібна, а переміщення робочого навантаження з клієнта на сервер оптимізує навантаження. Integration procedure можуть робити деякі речі, які OmniScript не може, найважливішою з яких є обробка списків за допомогою циклічних блоків та об’єднання колекцій даних. Integration procedure можуть виконувати більше функцій обробки даних, ніж DataRaptor, і є більш гнучким за нього.
У цій статті ми розглянули основні інструменти розробки Omnistudio. Вони дозволяють створювати швидкі ефективні та гнучкі бізнес-рішення без використання коду, або мінімізувати його кількість. Omnistudio є легким для розгортання в організаціях Salesforce або комьюніті сайтах, використовує сучасний фреймворк LWC що забезпечує сучасний юзер френдлі інтерфейс. У одній статті неможливо детально розглянути кожен окремий інструмент, тож у наступних статтях ми детально та на прикладах розглянемо кожен інструмент окремо.