Всім привіт. Сьогодні пропонуємо вашій увазі першу із декількох статей, присвячених такому декларативному інструменту, як Salesforce Flows. В цій статті ми розкажемо про те, що таке Salesforce Flows, а також більш детально зосередимось на його Screen компоненті.
Що таке Flow?
Flow - це найпотужніший інструмент автоматизації, наданий Salesforce для розв’язання різних задач: від відправки електронних листів та кастомних сповіщень - до використання тригерів, які створюють, оновлюють або видаляють записи в Salesforce.
Загалом ми маємо наступні типи Flow:
Screen Flow:
З Screen Flow ви можете створювати власний інтерактивний UI та провести користувача через потрібний бізнес-процес, який зможете запустити з Lightning Pages, Experience Cloud тощо.
Scheduled-Trigger Flow:
Такий Flow спрацює у визначений час і з запланованою періодичністю. Це гарна альтернатива для Apex batch jobs, які використовують розробники для схожих задач.
Record Triggered Flow:
Цей Flow спрацьовує, коли відбувається створення, оновлення або видалення запису Salesforce. Раніше для таких автоматизацій ми використовували тригери Apex, але тепер деякі з них можна виконувати за допомогою Flow.
Platform Event Flow:
Спрацює при отриманні Platform Event message. Наприклад, ми можемо завантажити дані зі стороннього сервісу і потім використовувати Flow для розділення їх та створення записів у різних об’єктах Salesforce.
Auto launched Flow:
Запускається з Apex, Process Builder або REST API.
Salesforce надає багатий вибір різних компонентів, які являють собою набір різних дій, за допомогою яких ви можете виконувати різні види операцій. Розгляньмо їх більш детально.
Interaction компоненти (взаємодія)
- Screen-компонент дозволить нам створити UI, який проведе користувача через бізнес-процес.
- Action призупинить наш Flow до тих пір, поки не виконається вказаний Aura Enabled компонент.
- Subflow викликає інший Flow під час виконання поточного.
Logical компоненти. Salesforce Flow дає нам можливість проводити Logical операції над даними, такі як:
- Assignment (присвоєння) використовується для встановлення значень у змінних, змінних колекції, змінних записів, змінних колекції записів і глобальних змінних.
- Decision (умова) - це елемент флоу, який дозволяє оцінити набір умов і скерувати користувачів через Flow на основі результатів цих умов.
- Loop (цикл) - це елемент Salesforce Flow, який використовується для проходження кількох елементів у змінній колекції
- Collection Sort (сортування) компонент, що використовується для сортування вмісту колекції за зростанням або спаданням і, за бажанням, зменшує кількість елементів у цій колекції до вказаної кількості.
Data(SFDC) компоненти. Ці компоненти використовуються для взаємодії з базою даних та виконанням CRUD операцій із записами.
- Get Record. З цим елементом ви з легкістю можете знайти записи Salesforce, які відповідають умовам фільтра, і зберегти їх значення у змінних.
- Create Record. Дозволяє створювати бажану кількість записів Salesforce, використовуючи змінні або інші значення із Flow.
- Update Record. Визначте записи Salesforce, які потрібно оновити, і встановіть значення, які потрібно змінити в цих записах. Для цього використовуйте ідентифікатори та значення полів, які зберігаються у змінній запису чи змінній колекції записів, або скористайтеся спеціальними умовами для ідентифікації записів і встановлення значень полів окремо.
- Delete Record. За допомогою цього компонента ви можете видалити визначені записи Salesforce, використовуючи ідентифікатори, збережені в змінній запису чи змінній колекції записів, або вказавши умови.
Screen Flow
Screen Flow - це тип Flow, який надає нам можливість взаємодії з користувачем через UI, де він може або вводити певні дані, або вибирати записи. Цей Flow надає користувачу інструкції та поля вводу, а після їх заповнення виконує визначені дії, такі як: створення, оновлення записів тощо. Наші користувачі будуть переміщуватися по серії створених нами екранів, а нам не доведеться писати жодного рядка коду.
Уявімо, що нам необхідно надати юзеру можливість, знаходячись на сторінці компанії, додавати нових робітників до цієї компанії, заповнивши при цьому усі необхідні поля. З цим завданням нам може допомогти Screen Flow. Створімо такий флоу разом.
- Спершу створіть новий Flow та виберіть відповідний тип (Screen Flow).
- Після чого додайте новий Screen компонент
- На екрані з’явиться поп-ап з налаштуваннями компонента. У поле “Label” введіть заголовок для цього компонента, поле “API Name” заповниться автоматично.
- У секції “Configure Footer” є можливість прибирати зайві кнопки та перейменувати кнопку “Finish”
- Тепер нам треба додати необхідні поля. Для цього у лівій секції знайдіть відповідний тип компонента і перетягніть його. Після цього праворуч у поле “Label” введіть назву для кожного поля та натисніть “Done”
- Тепер, коли ми закінчили зі скрін компонентом, нам треба, щоб всі введені у скрін компонент дані збереглися в базі даних. Для цього нам необхідно після скрін компонента додати “Create Record” елемент
- Далі треба дати ім’я нашому новому компоненту та зробити деякі налаштування. Для цього у секції “How to Set the Record Fields” вибираємо опцію “Use separate resources, and literal values”. Ми будемо створювати запис об’єкта Contact, тому нижче обираємо його.
- Зараз нам треба змапити поля зі скрін компонента до нашого запису Contact. У самому низу вікна у секції “Set Field Values for the Contact” находяться 2 поля: Field і Value. У полі Field доступні всі поля об’єкта Contact, а у полі Value знаходяться всі значення, які доступні у нашому Screen Flow. Тож виберімо необхідні поля на об’єкті Contact і відповідні із нашого скрін компонента.
- Але це не все: ще треба зробити так, щоб новий створений запис Contact був пов’язаний із нашим записом Account (компанія). Для цього нам необхідно додати ще одне поле, яке буде приймати Account Id, а значенням для цього поля буде глобальна змінна Flow → CurrentRecord.
- Натискаємо на кнопку “Done”, а потім у верхньому правому куті натискаємо кнопку “Save”, щоб зберегти наш Screen Flow. У полі Flow Label введіть ім’я для нашого флоу та ще раз натисніть “Save”.
- І не забудьте активувати ваш флоу, інакше ви не побачите його у списку доступних компонентів на пейдж лейауті.
- Тепер додаємо наш флоу до сторінки Account і на цьому все
- Компонент додано і працює
Salesforce Flow - це дуже потужний і корисний інструмент декларативної розробки, за допомогою якого ви можете зробити корисні речі не написавши жодного рядка коду. Сьогодні ми з вами дізналися про те, що таке Flow, про основні елементи флоу, які вони бувають та більш детально на прикладі розглянули Screen Flow тип. В наступних статтях ми детальніше розкажемо вам про інші види флоу, а на цьому у нас все, всім па-па!