Flow in Slack

Всім привіт! В цій статті хочемо розповісти вам як з Salesforce відправляти повідомлення у Slack, використовуючи Flow.

Якщо у вас ще немає workspace в Slack – саме час створити. З цим допоможе Slack документація.

Для роботи зі Slack-ом у Salesforce потрібно налаштувати з’єднання між Slack workspace та Salesforce org. Почнемо з середовища Salesforce. В Setup перейдіть на вкладку Slack->Initial Slack Setup. Ви побачите 8 кроків налаштування Salesforce for Slack. Виконайте наступні кроки:

  1. Прийміть умови та положення для Salesforce Slack Integration Service
  2. В 3 пункті оберіть програми, які ви хочете зробити доступними для користувачів (наприклад Sales Cloud for Slack).
  3. Перейдіть на вкладку Permissions Sets, має з’явитися новий - Sales Cloud for Slack, призначте його своєму Salesforce користувачу. Цей крок потрібен для того, щоб в Slack був доступ до Salesforce, інакше отримаєте помилку схожу на: You don’t have the user permissions to access this Slack app.
  4. Пункт 5 – налаштуйте доступ до рекордів під свої потреби.
  5. Перейдіть в Slack та завантажте Salesforce for Slack application або перейдіть за цим посиланням: https://slack.com/apps/A03269G3DNE-salesforce-for-slack.
  6. Якщо ви бачите кнопку Connect, потрібно її натиснути, щоб з’єднати Slack workspace з Salesforce організацією. Увійдіть до своєї організації Salesforce та натисніть кнопку Allow.

Перевірити чи з’єднання успішне можна двома способами:

  • У вкладці Messages напишіть /sfhq-connect та відправте повідомлення. Відповідь має бути така:
  • В Salesforce натисніть на іконку юзера та перейдіть в Settings, в розділі Slack-> Slack User Mappings маєте побачити підключеного Slack користувача.

Вітаю! Ми налаштували з’єднання між Slack та Salesforce і тепер можемо перейти до створення Flow. В цій статті ми покажемо як відправити повідомлення в Slack, використовуючи Record-Triggered Flow та Screen Flow.

Створення Record-triggered Flow
Припустимо, що нам потрібно надсилати повідомлення в Slack коли оновлюється Account. Отже, вибираємо Record-Triggered Flow на оновлення Account.

Оскільки це Record-Triggered Flow, робити якісь дії зі Slack в Run Immediately path неможливо, тому створимо Scheduled Path і вкажемо найменший час виконання - 1 хвилина після оновлення рекорда. Time Source оберіть: Account: Last Modified Date.


Далі додаємо елемент Action. У вкладці Slack оберіть Send Slack Message.

  1. Slack App оберіть підключену app в Slack, в нашому випадку це Salesforce for Slack.
  2. Slack Workspace оберіть ваш підключений workspace.
  3. Execute Action As оберіть Slack App.
  4. В поле Slack Message напишіть повідомлення, яке хочете відправити або створіть Text Template ресурс.
  5. Поле Slack Conversation ID це id Slack каналу, ви можете знайти його натиснувши правою клавішею мишки на канал, далі оберіть Views channel details, на вкладці About внизу ви знайдете ID каналу.

    Або просто скопіюйте посилання на Slack канал, воно має такий вигляд:
    https://app.slack.com/client/workspaceID/channelID

Примітка: Якщо ви хочете надіслати повідомлення особисто людині, тоді Channel ID користувача не підійде, якщо запустити Flow через Debug, у вас з’явиться помилка channel_not_found.

Щоб відправити повідомлення, яке буде бачити конкретний користувач, вам потрібно перейти в Settings Salesforce користувача та знайти вкладку Slack Mapping Users та скопіювати Slack User Id. Якщо там немає потрібного користувача, тоді цей користувач має законектитися через Slack, як ми це робили під час налаштування з’єднання.

Перевіримо, чи правильно працює наше Flow.

Вітаю, ми відправили своє перше повідомлення у Slack з середовища Salesforce!

Створення Screen Flow
Тепер спробуємо створити Screen Flow. В цьому випадку ми можемо використати Slack Workspace selector та Slack Channel Selector компоненти екрану, щоб мати можливість вибирати воркспейс та канал, куди хочемо відправити повідомлення, не вказуючи конкретний Channel ID.

Flow складається з трьох елементів Screen та одного Action відправки повідомлення у Slack.

Slack Workspace Selector має поле Slack appID - це id Slack application, його можна знайти в посиланні на application. Знайти свій application тут: https://slack.com/apps.
Наприклад в цій статті ми використовували Salesforce for Slack application:
https://slack.com/apps/A03269G3DNE-salesforce-for-slack.
Решта полів залиште за замовчуванням.

Для елемента Slack Channel Selector:
Slack app id та Slack workspace id вкажіть як вибрані змінні з попереднього екрана.
Use Bot Token має бути GlobalConstant.True, щоб був доступ до списку каналів.
Решта полів залиште за замовчуванням.

Для введення повідомлення додайте елемент Text на Screen.

Зі створенням екранів ми завершили, залишилось додати Action: Send Slack Message.

Зберігаємо Flow, додаємо його на page Layout та перевіримо виконання.



Ми отримали очікуваний результат.

В цій статті ми відкрили для себе нові можливості спільної роботи Slack та Salesforce. Проте це лише початок знайомства. Крім надсилання повідомлень у Flow можна робити й інші дії, наприклад: працювати з Slack каналами, запрошувати нових учасників, редагувати чи прикріплювати повідомлення і ще багато всього. В наступних статтях ми продовжимо вивчати можливості роботи Slack та Salesforce. Якщо у вас залишились питання, чекаю в коментарях)

До зустрічі!

5 Вподобань