Jak stworzyć bota Slack od podstaw?
Oprogramowanie

Jak stworzyć bota Slack od podstaw?

Wirtualne obszary robocze, takie jak Slack, stały się dużą częścią naszej kultury pracy.

Chcesz komunikować się z członkami zespołu? Wystarczy wysłać im bezpośrednią wiadomość na Slack. Chcesz współpracować nad projektem? Slack oferuje kanały, integracje i łatwe udostępnianie plików.

Jedną z najlepszych funkcji Slacka są jego zautomatyzowane boty, które pełnią trzy główne role po zintegrowaniu z grupą lub kanałem Slack - automatyzacja zadań, wysyłanie powiadomień i odpowiadanie na pytania.

Brzmi jak ratunek, prawda? W tym artykule dowiemy się, jak stworzyć idealnego bota Slack, który będzie odpowiadał potrzebom twojego zespołu.

notatka: **Zanim zaczniesz, musisz zainstalować Slack CLI i autoryzować swój nowy obszar roboczy. Uruchom listę autoryzacji Slack, aby to zweryfikować.

Jak stworzyć własnego Chatbota Slack Przejdźmy przez kroki potrzebne do utworzenia i

zintegrować bota Slack .

Dla ułatwienia przedstawimy przykład, jak napisać bota Slack, który wysyła tekst powitalny do nowych użytkowników. Zwróć uwagę, że proces jest mniej więcej podobny do innych funkcji bota.

Każdy krok wymaga trochę kodowania. Ale nie martw się - ten przewodnik przeprowadzi cię przez każdy szczegół, abyś mógł stworzyć swojego chatbota bez żadnych kłopotów.

Krok 1: Utwórz aplikację Slack za pomocą CLI

Zanim zaczniesz tworzyć bota Slack, będziesz potrzebować odpowiednich narzędzi. Pierwszym krokiem jest stworzenie aplikacji Slack za pomocą interfejsu wiersza poleceń (CLI).

Rozpocznij od ustawienia pustej aplikacji za pomocą interfejsu CLI Slack przy użyciu tej komendy:

slack create welcome-bot-app -template https://github.com/slack-samples/deno-welcome-bot

Uruchomienie tej komendy spowoduje utworzenie folderu aplikacji połączonego z kontem Slack. Wewnątrz nowego folderu aplikacji utwórz trzy kluczowe katalogi, które posłużą jako podstawa dla twojego bota Slack:

  • funkcje
  • cykle pracy
  • wyzwalacze

Z tymi folderami i uprawnieniami jesteś gotowy, aby rozpocząć tworzenie aplikacji Slack!

Alternatywnie, zamiast samodzielnie pisać cały kod, możesz użyć poniższej komendy, aby bezpośrednio utworzyć aplikację Welcome Bot:

slack create welcome-bot-app --template https://github.com/slack-samples/deno-welcome-bot

Po utworzeniu projektu przejdź do katalogu projektu, aby niestandardowo skonfigurować bota Slack.

Krok 2: Utwórz mandat aplikacji

Manifest aplikacji jest planem dla bota Slack. W przypadku bota powitalnego manifest będzie zawierał:

Cykl pracy:

  • MessageSetupWorkflow
  • SendWelcomeMessageWorkflow

Datastore:

  • WelcomeMessageDatastore

Zakres:

  • chat:write
  • chat:write.public
  • datastore:read
  • datastore:write
  • channels:read
  • wyzwalacze:zapis
  • wyzwalacze:read

Po połączeniu wszystkich tych komponentów, plik manifest.ts będzie wyglądał mniej więcej tak:

// /manifest.ts

import { Manifest } z "deno-slack-sdk/mod.ts";

import { WelcomeMessageDatastore } z "./datastores/messages.ts";

import { MessageSetupWorkflow } z "./workflows/create_welcome_message.ts";

import { SendWelcomeMessageWorkflow } z "./workflows/send_welcome_message.ts";

export default Manifest({

name: "Welcome Message Bot",

description:

"Szybki sposób ustawienia automatycznych wiadomości powitalnych dla kanałów w obszarze roboczym.",

  
icon: "assets/default_new_app_icon.png",

cykle pracy: [MessageSetupWorkflow, SendWelcomeMessageWorkflow],

outgoingDomains: [],

datastores: [WelcomeMessageDatastore],

botScopes: [

"chat:write",

"chat:write.public",

"datastore:read",

"datastore:write",

"channels:read",

"wyzwalacze:zapis",

"wyzwalacze:odczyt",

  
],

});

Krok 3: Utworzenie cyklu pracy dla ustawienia wiadomości powitalnej

Najpierw zaczynamy od zdefiniowania przepływu pracy:

  • Twórz plik: Dodaj nowy plik o nazwie create_welcome_message.ts w folderze workflows
  • Define workflow: W tym pliku zdefiniuj MessageSetupWorkflow, aby umożliwić użytkownikowi bota ustawienie wiadomości powitalnej za pomocą formularza

Oto jak będzie wyglądać definicja przepływu pracy:

// /workflows/create_welcome_message.ts

import { DefineWorkflow, Schema } z "deno-slack-sdk/mod.ts";

import { WelcomeMessageSetupFunction } z "../functions/create_welcome_message.ts";

/

  • Przepływ MessageSetupWorkflow otwiera formularz, w którym użytkownik tworzy wiadomość

  • wiadomość powitalną. Wyzwalacz dla tego cyklu pracy znajduje się w sekcji

  • /wyzwalacze/welcome_message_trigger.ts

    */

export const MessageSetupWorkflow = DefineWorkflow({

callback_id: "message_setup_workflow",

tytuł: "Create Welcome Message",

description: " Tworzy wiadomość witającą nowych użytkowników w kanale.",

input_parameters: {

properties: {

  interaktywność: {

    type: Schema.Slack.types.interactivity,

  },

  channel: {

    type: Schema.Slack.types.channel_id,

  },

},

wymagane: ["interaktywność"],

  
},

});

Następnie dodajemy formularz:

  • Use OpenForm: Dodaj formularz za pomocą funkcji OpenForm, aby zbierać dane wejściowe użytkownika bota

Oto jak dodać funkcję OpenForm do cyklu pracy create_welcome_message.ts:

// /workflows/create_welcome_message.ts

/

  • Ten krok wykorzystuje funkcję OpenForm Slack. Formularz ma dwa elementy

  • wejścia - wiadomość powitalną i ID kanału dla tej wiadomości do

  • zostać opublikowana.

    */

const SetupWorkflowForm = MessageSetupWorkflow.addStep(

Schema.Slack.functions.OpenForm,

{

tytuł: "Welcome Message Form",

submit_label: "Submit",

description: ":wave: Utwórz wiadomość powitalną dla kanału!",

interaktywność: MessageSetupWorkflow.inputs.interactivity,

pola: {

  wymagane: ["channel", "messageInput"],

  elements: [

    {

      name: "messageInput",

      tytuł: "Your welcome message",

      type: Schema.types.string,

      long: true,

    },

    {

      name: "channel",

      tytuł: "Wybierz kanał, w którym chcesz opublikować tę wiadomość",

      type: Schema.Slack.types.channel_id,

      default: MessageSetupWorkflow.inputs.channel,

    },

  ],

},

  
},

);

Następnie dodajemy potwierdzenie.

Dodaj następujący krok do cyklu pracy create_welcome_message.ts:

// /workflows/create_welcome_message.ts

/

  • Ten krok pobiera dane wyjściowe z formularza i przekazuje je do niestandardowej funkcji

  • funkcji, która ustawi wiadomość powitalną.

  • Więcej informacji można znaleźć w /functions/setup_function.ts.

    */

MessageSetupWorkflow.addStep(WelcomeMessageSetupFunction, {

message: SetupWorkflowForm.outputs.fields.messageInput,

channel: SetupWorkflowForm.outputs.fields.channel,

autor: MessageSetupWorkflow.inputs.interactivity.interactor.ID,

});

/

  • Ten krok wykorzystuje funkcję SendEphemeralMessage Slack.

  • Efemeryczna wiadomość potwierdzająca zostanie wysłana do użytkownika

  • tworzącego wiadomość powitalną, po tym jak użytkownik prześle powyższą wiadomość

  • formularz.

    */

MessageSetupWorkflow.addStep(Schema.Slack.functions.SendEphemeralMessage, {

channel_id: SetupWorkflowForm.outputs.fields.channel,

user_id: MessageSetupWorkflow.inputs.interactivity.id,

message:

`Twoja wiadomość powitalna dla tego kanału została powodzenie utworzona! :white_check_mark:`,

});

export default MessageSetupWorkflow;

Krok 4: Użyj datastore do przechowywania wiadomości powitalnej

Zacznij od utworzenia magazynu danych.

  • Utwórz plik: W folderze datastores utwórz plik o nazwie messages.ts
  • Zdefiniuj strukturę: Ustawienie struktury datastore do przechowywania wiadomości powitalnych

W tym pliku zdefiniujesz strukturę magazynu danych, w którym będą przechowywane wiadomości powitalne w polu tekstowym:

// /datastores/messages.ts

import { DefineDatastore, Schema } z "deno-slack-sdk/mod.ts";

/

export const WelcomeMessageDatastore = DefineDatastore({

name: "messages",

primary_key: "id",

attributes: {

iD: {

  type: Schema.types.string,

},

channel: {

  type: Schema.slack.types.channel_id,

},

message: {

  type: Schema.types.ciąg,

},

autor: {

  type: Schema.Slack.types.user_id,

},

  
},

});

Krok 5: Utworzenie niestandardowej funkcji do przechowywania wiadomości powitalnej w datastore

Najpierw zdefiniuj funkcję niestandardową.

  • Utwórz plik: W folderze funkcji utwórz plik o nazwie create_welcome_message.ts
  • Zdefiniuj funkcję: Dodaj następujący kod, aby zdefiniować funkcję do przechowywania wiadomości powitalnej

Oto kod definiujący niestandardową funkcję:

// /functions/create_welcome_message.ts

import { DefineFunction, Schema, SlackFunction } z "deno-slack-sdk/mod.ts";

import { SlackAPIClient } z "deno-slack-sdk/types.ts";

import { SendWelcomeMessageWorkflow } z "../workflows/send_welcome_message.ts";

import { WelcomeMessageDatastore } from "../datastores/messages.ts";

/

  • Ta niestandardowa funkcja będzie pobierać początkowe dane wejściowe formularza, przechowywać je

  • w magazynie danych i utworzy wyzwalacz wydarzenia, aby nasłuchiwać

  • user_joined_channel w określonym kanale.

    */

export const WelcomeMessageSetupFunction = DefineFunction({

callback_id: "welcome_message_setup_function",

title: "Welcome Message Setup",

description: "Pobiera wiadomość powitalną i zapisuje ją w datastore",

source_file: "functions/create_welcome_message.ts",

input_parameters: {

properties: {

  message: {

    type: Schema.types.ciąg,

    description: "Wiadomość powitalna",

  },

  kanał: {

    type: Schema.slack.types.channel_id,

    description: "Channel to post in",

  },

  autor: {

    type: Schema.Slack.types.user_id,

    description:

      "ID użytkownika osoby, która utworzyła wiadomość powitalną",

  },

},

wymagane: ["message", "channel"],

  
},

});

Następnie dodaj wymaganą funkcję.

  • Przechowywanie danych: Dołącz kod, aby zapisać szczegóły wiadomości powitalnej w swoim datastore i ustaw wyzwalacze wydarzeń bota

// /functions/create_welcome_message.ts

export default SlackFunction(

WelcomeMessageSetupFunction,

async ({ inputs, client }) => {

const { channel, message, author } = inputs;

const uuid = crypto.randomUUID();

// Zapisywanie informacji o wiadomości powitalnej w magazynie danych

const putResponse = await client.apps.datastore.put<

  typeof WelcomeMessageDatastore.definition

>({

  datastore: WelcomeMessageDatastore.name,

  element: { ID: uuid, channel, message, author },

});

if (!putResponse.ok) {

  return { error: `Failed to save welcome message: ${putResponse.error}` };

}

// Wyszukaj wszystkie istniejące wyzwalacze dla powitalnego cyklu pracy

const wyzwalacze = await findUserJoinedChannelTrigger(klient, kanał);

if (wyzwalacze.błąd) {

  return { error: `Failed to lookup existing wyzwalacze: ${triggers.error}` };

}

// Utwórz nowy wyzwalacz user_joined_channel, jeśli taki nie istnieje

if (!wyzwalacz.istnieje) {

  const newTrigger = await saveUserJoinedChannelTrigger(client, channel);

  if (!newTrigger.ok) {

    return {

      błąd: `Nie udało się utworzyć wyzwalacza powitalnego: ${newTrigger.error}`,

    };

  }

}

return { outputs: {} };

  
},

);

Następnie zintegruj bota Slack ze swoim cyklem pracy.

  • Zaktualizuj cykl pracy: W pliku create_welcome_message.ts dodaj krok, aby wywołać niestandardową funkcję

// /workflows/create_welcome_message.ts

/

  • Ten krok pobiera dane wyjściowe z formularza i przekazuje je do niestandardowej aplikacji

  • funkcji, która ustawi wiadomość powitalną.

  • Więcej informacji można znaleźć w /functions/setup_function.ts.

    */

MessageSetupWorkflow.addStep(WelcomeMessageSetupFunction, {

message: SetupWorkflowForm.outputs.fields.messageInput,

channel: SetupWorkflowForm.outputs.fields.channel,

autor: MessageSetupWorkflow.inputs.interactivity.interactor.ID,

});

export default MessageSetupWorkflow;

Dzięki temu krokowi, Twój cykl pracy jest teraz zdolny do:

  • Umożliwienie użytkownikowi bota wprowadzenia i przesłania wiadomości powitalnej za pośrednictwem formularza
  • Przechowywanie informacji o wiadomości powitalnej w magazynie danych
  • Ustawienie wyzwalaczy w celu zapewnienia, że wiadomość powitalna zostanie dostarczona, gdy nowy użytkownik dołączy do określonego kanału

Krok 6: Tworzenie wyzwalaczy aktywujących cykle pracy

Najpierw utwórz wyzwalacz połączony z kanałem.

  • Utwórz plik: W folderze wyzwalaczy utwórz plik create_welcome_message_shortcut.ts
  • Dodaj kod: Zdefiniuj wyzwalacz linku, aby uruchomić MessageSetupWorkflow, gdy użytkownik bota kliknie określony link

Twój kod będzie wyglądał mniej więcej tak.

// wyzwalacze/create_welcome_message_shortcut.ts

import { wyzwalacz } z "deno-slack-api/types.ts";

import MessageSetupWorkflow z "../workflows/create_welcome_message.ts";

import { TriggerContextData, TriggerTypes } z "deno-slack-api/mod.ts";

/

  • Ten połączony wyzwalacz podpowie przepływ pracy MessageSetupWorkflow.

    */

const welcomeMessageTrigger: Wyzwalacz = {

type: TriggerTypes.Skrót,

name: "Ustaw wiadomość powitalną",

description: "Tworzy zautomatyzowaną wiadomość powitalną dla danego kanału",

cykl pracy: #/workflows/${MessageSetupWorkflow.definition.callback_id},

inputs: {

interaktywność: {

  wartość: TriggerContextData.Skrót.interactivity,

},

channel: {

  wartość: TriggerContextData.Skrót.channel_id,

},

  
},

};

export default welcomeMessageTrigger;

Teraz utwórz wyzwalacz wydarzenia. Zasadniczo jest to miejsce, w którym włączasz wydarzenia aktywujące bota. W tym przykładzie wyzwalaczem zdarzenia użytkownika bota będzie nowy użytkownik dołączający do kanału.

  • Zaktualizuj plik: Dodaj wyzwalacz wydarzenia do create_welcome_message.ts, aby wysłać wiadomość powitalną, gdy nowy użytkownik dołączy do kanału

Oto kod do dodania.

// /functions/create_welcome_message.ts

/

  • findUserJoinedChannelTrigger zwraca, czy wyzwalacz user_joined_channel

  • istnieje dla przepływu pracy "Wyślij wiadomość powitalną" w kanale.

    */

export async function findUserJoinedChannelTrigger(

client: SlackAPIClient,

channel: ciąg,

): Promise<{ błąd?: ciąg; istnieje?: logiczna }> {

// Zbierz wszystkie istniejące wyzwalacze utworzone przez aplikację

const allTriggers = await client.workflows.wyzwalacze.lista({ is_owner: true });

if (!allTriggers.ok) {

return { error: allTriggers.error };

  
}

// Znajdź wyzwalacze user_joined_channel dla "Wyślij wiadomość powitalną"

// cyklu pracy w określonym kanale

const joinedTriggers = allTriggers.triggers.filter((wyzwalacz) => (

wyzwalacz.workflow.callback_id ==

  SendWelcomeMessageWorkflow.definition.callback_id &&

trigger.event_type == "slack#/events/user_joined_channel" &&

trigger.channel_ids.includes(channel)

  
));

// Zwróć, jeśli znaleziono pasujące wyzwalacze

const exists = joinedTriggers.length > 0;

return { exists };

}

/

  • saveUserJoinedChannelTrigger tworzy nowy wyzwalacz user_joined_channel

  • dla cyklu pracy "Wyślij wiadomość powitalną" w kanale.

    */

export async function saveUserJoinedChannelTrigger(

client: SlackAPIClient,

channel: ciąg,

): Promise<{ ok: logiczna; błąd?: ciąg }> {

const triggerResponse = await client.workflows.triggers.create<

typeof SendWelcomeMessageWorkflow.definition

  

({

type: "wydarzenie",

name: "Użytkownik dołączył do kanału",

description: "Wyślij wiadomość, gdy użytkownik dołączy do kanału",

cykl pracy:

  `#/workflows/${SendWelcomeMessageWorkflow.definition.callback_id}`,

wydarzenie: {

  event_type: "slack#/events/user_joined_channel",

  channel_ids: [channel],

},

inputs: {

  channel: { wartość: kanał },

  triggered_user: { wartość: "{{data.user_id}}" },

},

  
});

if (!triggerResponse.ok) {

return { ok: false, error: triggerResponse.error };

  
}

return { ok: true };

}

Wynik:

  • Połączony wyzwalacz: Umożliwia użytkownikom bota ustawienie wiadomości powitalnej poprzez kliknięcie łącza, inicjując przepływ MessageSetupWorkflow
  • Event wyzwalacz: Wysyła zautomatyzowane wiadomości, gdy nowy użytkownik dołącza do określonego kanału, korzystając z zapisanej wiadomości i szczegółów kanału

Krok 7: Utworzenie cyklu pracy do wysyłania wiadomości powitalnej

  • Przejdź do folderu: Przejdź do folderu cyklu pracy
  • Utwórz plik: Utwórz nowy plik o nazwie send_welcome_message.ts
  • Dodaj kod: Zdefiniuj przepływ pracy, aby pobrać i wysłać wiadomość powitalną z magazynu danych

// /workflows/send_welcome_message.ts

import { DefineWorkflow, Schema } z "deno-slack-sdk/mod.ts";

import { SendWelcomeMessageFunction } z "../functions/send_welcome_message.ts";

/

  • Funkcja SendWelcomeMessageWorkFlow pobiera wiadomość powitalną

  • z magazynu danych i wyśle ją do określonego kanału, gdy

  • nowy użytkownik dołączy do kanału.

    */

export const SendWelcomeMessageWorkflow = DefineWorkflow({

callback_id: "send_welcome_message",

title: "Send Welcome Message",

description:

"Wysyła efemeryczną wiadomość powitalną, gdy nowy użytkownik dołącza do kanału",

  
input_parameters: {
properties: {

  kanał: {

    type: Schema.Slack.types.channel_id,

  },

  triggered_user: {

    type: Schema.Slack.types.user_id,

  },

},

required: ["channel", "triggered_user"],

  
},

});

Ten cykl pracy pobiera zapisaną wiadomość powitalną i wysyła ją do odpowiedniego kanału, gdy dołącza nowy użytkownik, zwiększając zaangażowanie i automatyzując proces wdrażania.

Krok 8: Utworzenie niestandardowej funkcji do wysyłania wiadomości powitalnej

1. Zdefiniuj funkcję niestandardową:

  • Przejście do folderu: Przejdź do folderu funkcji
  • Utwórz plik: Utwórz nowy plik o nazwie send_welcome_message.ts

2. Dodaj definicję funkcji:

// /functions/send_welcome_message.ts

import { DefineFunction, Schema, SlackFunction } z "deno-slack-sdk/mod.ts";

import { WelcomeMessageDatastore } from "../datastores/messages.ts";

/

  • Ta niestandardowa funkcja pobierze zapisaną wiadomość z magazynu danych

  • i wyśle ją do dołączającego użytkownika jako wiadomość efemeryczną w pliku

  • określonym kanale.

    */

export const SendWelcomeMessageFunction = DefineFunction({

callback_id: "send_welcome_message_function",

title: "Sending the Welcome Message",

description: "Wyciągnięcie wiadomości powitalnej i wysłanie jej do nowego użytkownika",

source_file: "functions/send_welcome_message.ts",

input_parameters: {

properties: {

  kanał: {

    type: Schema.Slack.types.channel_id,

    description: "Kanał, w którym wydarzenie zostało wyzwalacz",

  },

  triggered_user: {

    type: Schema.Slack.types.user_id,

    description: "Użytkownik, który wyzwalacz wydarzenie",

  },

},

required: ["channel", "triggered_user"],

  
},

});

3. Dodanie funkcji:

  • Implement Code: Dodaj następujący kod poniżej definicji funkcji w pliku send_welcome_message.ts:

// /functions/send_welcome_message.ts

export default SlackFunction(SendWelcomeMessageFunction, async (

{ inputs, client },

) => {

// Zapytanie do magazynu danych o przechowywane wiadomości

const messages = await client.apps.datastore.query<

typeof WelcomeMessageDatastore.definition

  

({

datastore: WelcomeMessageDatastore.name,

expression: "#channel = :mychannel",

expression_attributes: { "#channel": "channel" },

expression_values: { ":mychannel": inputs.channel },

  
});

if (!messages.ok) {

return { error: `Failed to gather welcome messages: ${messages.error}` };

  
}

// Wyślij zapisane wiadomości efemerycznie

for (const element of messages["items"]) {

const message = await client.chat.postEphemeral({

  channel: item["channel"],

  text: item["message"],

  user: inputs.triggered_user,

});

if (!message.ok) {

  return { error: `Failed to send welcome message: ${message.error}` };

}

  
}

return {

outputs: {},

  
};

});

4. Integracja funkcji niestandardowej:

  • Dodaj do cyklu pracy: Wróć do pliku workflow send_welcome_message.ts i dodaj funkcję niestandardową jako krok:

// /workflows/send_welcome_message.ts

SendWelcomeMessageWorkflow.addStep(SendWelcomeMessageFunction, {

channel: SendWelcomeMessageWorkflow.inputs.channel,

triggered_user: SendWelcomeMessageWorkflow.inputs.triggered_user,

});

Dzięki tej niestandardowej funkcji ustawienia aplikacji Slack będą teraz wysyłać wiadomości do każdego użytkownika, który dołączy do prywatnego lub publicznego kanału z określonym kanałem.

Krok 9: Korzystanie z aplikacji Slack

1. Uruchom aplikację Slack lokalnie

  1. Zainstaluj lokalnie:
    • Otwórz terminal i przejdź do folderu głównego aplikacji
    • Uruchom: slack run
    • Postępuj zgodnie z podpowiedziami terminala, aby ustawić lokalny serwer
  2. Wywołaj wyzwalacz połączony:
    • Otwórz nową zakładkę terminala
    • Utwórz połączony wyzwalacz: slack trigger create -trigger-def triggers/create_welcome_message_shortcut.ts
    • Zainstaluj wyzwalacz w obszarze roboczym i wybierz środowisko lokalne
    • Skopiuj podany adres URL skrótu
    • Opublikuj ten adres URL w kanale Slack, aby uruchomić cykl pracy i utworzyć wiadomość powitalną

manifest aplikacji Utworzono manifest aplikacji dla "welcomebot (local)" w obszarze roboczym "myworkspace"

⚠️ Domeny wychodzące Nie skonfigurowano żadnych dozwolonych domen wychodzących Jeśli funkcja wykonuje żądania sieciowe, konieczne będzie zezwolenie na domeny wychodzące Dowiedz się więcej o nadchodzących zmianach dotyczących domen wychodzących: https://api.slack.com/changelog

instalacja obszarów roboczych Zainstalowano aplikację "welcomebot (local)" w obszarze roboczym "myworkspace" Zakończono w 1,5 s

utworzono wyzwalacz ID wyzwalacza: Ft0123ABC456 Typ wyzwalacza: skrót Nazwa wyzwalacza: Ustawienia wiadomości powitalnej URL skrótu: https://slack.com/shortcuts/Ft0123ABC456/XYZ123 ...

2. Uruchom aplikację Slack

  1. Deploy Slack:
    • Uruchom: Slack deploy
  2. Utwórz wyzwalacz:
    • Utwórz wyzwalacz dla wdrożonej aplikacji: slack trigger create -trigger-def wyzwalacze/create_welcome_message_shortcut.ts
    • Wybierz opcję wdrożenia
  3. Użyj w środowisku wdrożonym:
    • Skopiuj URL nowego skrótu
    • Użyj go w obszarze roboczym Slack

Krok 10: Twój bot Slack jest gotowy!

Gratulujemy osiągnięcia ostatniego kroku w budowaniu bota Slack! Twój bot będzie teraz automatycznie wysyłać wiadomości do nowych użytkowników. Przetestuj go, aby upewnić się, że działa poprawnie na kanale publicznym.

Slackbot

Limity korzystania z botów Slack do komunikacji

Do tej pory musiałeś zdać sobie sprawę z wygody, jaką boty Slack wnoszą do komunikacji w miejscu pracy . W końcu, kto nie kocha małej pomocy w automatyzacji?

Istnieje jednak kilka limitów, których należy się wystrzegać.

Znajomość tych limitów pozwoli ci podjąć świadomą decyzję o tym, który platformę komunikacji w miejscu pracy jest dla Ciebie najbardziej wydajna.

1. Boty Slack mogą być rozpraszające

Boty Slack mogą być mieczem obosiecznym, jeśli chodzi o skupienie.

Jasne, dostarczają szybkich informacji i pomagają w realizacji zadań za pomocą prostego zapytania. Ale wiąże się to również z natłokiem powiadomień, od aktualizacji tokenów bota po wiadomości od zespołu.

To ciągłe rozpraszanie uwagi może utrudniać pracę. Często utrudnia to pracownikom ustalanie priorytetów pracy przy dodatkowym szumie botów.

2. Slack może być drogi, podobnie jak jego boty

Jest to prawdopodobnie największy problem, jeśli chodzi o narzędzi komunikacyjnych, takich jak Slack mogą szybko stać się naprawdę drogie.

Slack oferuje różne plany, każdy z własnymi funkcjami, ale wraz ze wzrostem zespołu rośnie całkowity koszt własności produktu SaaS.

Na przykład plan Pro kosztuje 7,25 USD za użytkownika miesięcznie, co początkowo może wydawać się rozsądne. Jednak w przypadku dużego zespołu koszty te mogą szybko wzrosnąć, prowadząc do znacznych miesięcznych wydatków. W tej cenie można znaleźć Alternatywy dla Slack które oferują lepsze funkcje.

3. Boty Slack wymagają konserwacji

Boty Slack, podobnie jak każdy inny chatbot, polegają na danych, z którymi zostały przeszkolone. Jeśli dostawca bota poprosi o informacje, które nie zostały zintegrowane z systemem bota, prawdopodobnie nie udzieli on satysfakcjonującej odpowiedzi.

Oznacza to, że bot Slack będzie wymagał ciągłych aktualizacji, aby pozostać istotnym i użytecznym.

Będziesz musiał śledzić najczęściej zadawane pytania i regularnie dostarczać botowi Slack nowe, istotne informacje. Ta bieżąca konserwacja może stać się znaczącym obciążeniem pracą, zwłaszcza gdy obszar roboczy Slack rośnie.

4. Boty mogą zajmować przestrzeń

Slack ma minimalne obciążenie pamięci masowej, a po osiągnięciu tych limitów Slack automatycznie usuwa starsze pliki i wiadomości, aby zrobić miejsce na nowe.

Proces ten może prowadzić do niezamierzonej utraty ważnych dokumentów lub historii komunikacji, zwłaszcza jeśli używasz botów do automatyzacji zadań, które generują dużo danych.

5. Boty Slack nie są kreatywne

To oczywiste, ale boty zazwyczaj nie są najmądrzejszym narzędziem w szopie. Brakuje im krytycznego myślenia i umiejętności spojrzenia na sytuację z różnych perspektyw.

Dlatego w trudnej sytuacji, w której wymagane jest rozwiązywanie problemów, nie można polegać na tym, że bot Slack dostarczy unikalne rozwiązania.

Poprawa komunikacji w zespole dzięki ClickUp i Slack

Jeśli uważasz, że Slack jest skutecznym narzędziem komunikacji, poczekaj aż zintegrujesz go z ClickUp .

Razem, Slack i ClickUp tworzą najlepszy dream team w środowisku współpracy.

Zbadajmy, w jaki sposób różne Teams mogą skorzystać z tej integracji, pamiętając jednocześnie o etykiecie Slack.

Włącz synchronizację aktywności ClickUp ze Slackiem

Gdy już zintegrowałeś ClickUp ze Slackiem , możesz zsynchronizować całą swoją aktywność ClickUp z obszarem roboczym Slack dla określonych przestrzeni, folderów i list.

Twoje działania w ClickUp będą automatycznie wysyłane jako wiadomości na Twój kanał Slack. Możesz wybrać kanały publiczne lub prywatne, w których ClickUp będzie miał dostęp do tych powiadomień.

Zsynchronizuj ClickUp ze swoim kanałem Slack

zsynchronizuj ClickUp ze swoim kanałem Slack i wybierz rodzaj tekstów, które chcesz otrzymywać

Aby przyznać ClickUp dostęp do prywatnego kanału, użyj komendy /invite @ClickUp.

Integracja ClickUp i Slack

Wyszukaj ClickUp w sekcji "dodaj aplikację" na stronie integracji Slack, aby uzyskać dostęp do prywatnych kanałów

Do zrobienia?

Wyobraź sobie, że jesteś częścią zespołu marketingowego pracującego nad kampanią o wysokiej stawce z napiętym terminem. Ta integracja eliminuje potrzebę aktualizowania członków zespołu o postępach ręcznie.

Zamiast tego ClickUp automatycznie wysyła aktualizacje do kanału Slack, dając wszystkim 360-stopniowy widok na aktualny stan projektu.

Podobnie, krytyczne aktualizacje od zespołów technicznych - takie jak poprawki błędów, wdrożenia funkcji lub zadania związane z konserwacją serwera - są natychmiast udostępniane zespołowi w czasie rzeczywistym.

Zadania, komentarze i dokumenty - wszystko na ekranie Slack

Gdy połączysz zadania, komentarze lub dokumenty w Slack, zobaczysz podgląd każdego elementu, proces określany jako "rozwijanie" Funkcja ta pozwala zespołowi zobaczyć szczegóły, takie jak status zadania, osoby przypisane, priorytety i inne, bezpośrednio w Slack.

Jak stworzyć bota Slack: Użyj ClickUp zsynchronizowanego ze Slackiem

Wyświetl opis, temat i przypisanych członków jednocześnie dzięki ClickUp na Slack

Na przykład, powiedzmy, że zespół sprzedaży utworzył kanał Slack, aby omówić kluczowe konto. Gdy zadanie związane z tym kontem jest udostępniane na Slacku, wszyscy mogą natychmiast zobaczyć, kto jest przypisany, jaki jest priorytet i aktualny status.

Teraz przedstawiciele handlowi (lub jakikolwiek inny zespół) mogą szybko reagować na potrzeby klienta bez konieczności przekopywania się przez wiele aplikacji.

Zamień wiadomości w zadania

Jak stworzyć bota Slack: Użyj ClickUp zsynchronizowanego ze Slackiem

wpisz /clicUp new na kanale Slack, aby utworzyć i zapisać zadanie_

Zadania ClickUp można tworzyć bezpośrednio ze Slacka za pomocą polecenia /Slash, takiego jak /clickup new lub dodając wiadomość Slack jako komentarz do istniejącego zadania.

Jest to szczególnie pomocne w przypadku oddelegowanych zadań. Wyobraź sobie, że szefowi marketingu podoba się kreatywny pomysł udostępniany na czacie Slack; może natychmiast przekształcić tę wiadomość w zadanie w ClickUp bez opuszczania Slacka.

Przeczytaj również: Co robić, a czego nie robić używając Slacka w pracy

ClickUp robi to, co potrafi Slack, a nawet więcej

Koniec końców, używasz Slacka do skutecznie komunikować się z zespołem i między działami. Komunikacja w ClickUp jest jednak sprawniejsza, skuteczniejsza i bardziej intuicyjna. Dowiedzmy się więcej.

Rozmowy w czasie rzeczywistym z widokiem czatu

Jak stworzyć bota Slack: Użyj ClickUp zsynchronizowanego ze Slackiem Widok czatu w ClickUp pozwala Twojemu Teamsowi zaangażować się w rozmowy w czasie rzeczywistym bez opuszczania platformy.

Niezależnie od tego, czy jesteś zespołem IT rozwiązującym pilny problem, czy zespołem sprzedaży omawiającym nowy potencjalny klient, widok czatu pozwala scentralizować całą komunikację.

Teamsy marketingowe szczególnie zmagają się z rozproszonymi rozmowami w różnych aplikacjach. W ClickUp możesz przeprowadzać burze mózgów, udostępniać kreatywne briefy i podejmować szybkie decyzje - wszystko w tym samym obszarze roboczym.

A kiedy nadejdzie czas do zrobienia czegoś, ClickUp pozwala na to bezpośrednio z poziomu czatu. Przypisuj zadania, ustawiaj terminy i rozwijaj projekty bez opuszczania rozmowy.

Współpraca, burza mózgów i tablice

Jak stworzyć bota Slack: Użyj ClickUp zsynchronizowanego ze Slackiem

wizualizuj swoje zadania za pomocą Whiteboard ClickUp_

Potrzebujesz przeprowadzić burzę mózgów na temat strategii lub zaplanować projekt? Tablice ClickUp oferują wirtualną przestrzeń, w której Teams mogą wizualnie współpracować.

Podczas gdy Slack umożliwia burzę mózgów z członkami zespołu poprzez dyskusje oparte na tekście, tablice ClickUp przenoszą projekty na wyższy poziom, umożliwiając zespołowi rysowanie, dodawanie adnotacji i przekształcanie pomysłów w wykonalne zadania na tablicy.

Jeśli należysz do zespołu inżynierów, który musi opracować mapę cyklu pracy lub jesteś kierownikiem projektu zajmującym się złożoną osią czasu projektu, to ClickUp Whiteboards stanie się Twoim nowym ulubionym narzędziem.

Zarządzanie zadaniami z przypisanymi komentarzami

Jak stworzyć bota Slack: Użyj ClickUp zsynchronizowanego ze Slackiem

natychmiastowe rozwiązywanie problemów poprzez przydzielanie zadań w komentarzach w widoku czatu ClickUp_

Jedną z wyróżniających się funkcji ClickUp jest możliwość przypisywania komentarzy do konkretnych członków zespołu za pomocą @wzmianek. Jeśli omawiasz krytyczną aktualizację w widoku czatu, możesz natychmiast oznaczyć członka zespołu i przekształcić ten komentarz w zadanie.

Na przykład, podczas spotkania dotyczącego rozwoju produktu, lider inżynierii może przypisać poprawkę błędu bezpośrednio z czatu, upewniając się, że nic nie umknie uwadze.

Komunikacja wizualna z ClickUp Clips

Jak stworzyć bota Slack: Użyj ClickUp w synchronizacji ze Slack

nagrywaj ważne wydarzenia i przekształcaj je w zasoby dzięki ClickUp Clips_

Czy jesteś wzrokowcem? Jeśli tak, ClickUp Clip ma na celu dziesięciokrotne zwiększenie Twojego doświadczenia, umożliwiając nagrywanie i udostępnianie nagrań ekranu .

Wyobraź sobie zespół IT nagrywający krok po kroku przewodnik rozwiązywania typowego problemu - członkowie zespołu mogą uzyskać dostęp do tego klipu w dowolnym momencie, co ułatwia im zrozumienie i wdrożenie zmian.

Strategizuj działania za pomocą szablonów

Szablon strategii komunikacji wewnętrznej i planu działania ClickUp

W ostatecznym rozrachunku narzędzia takie jak ClickUp i Slack umożliwiają komunikację. Aby narzędzia te były użyteczne i faktycznie uporządkowały komunikację wewnętrzną, potrzebna jest strategia. I właśnie w tym miejscu Szablon strategii komunikacji wewnętrznej i planu działania ClickUp może się przydać.

Dzięki temu szablonowi można ocenić istniejącą strategię komunikacji, nakreślić nowe podejście i związane z nim cele, ustawić cele i zadania dla strategii oraz stworzyć spójny plan działania.

Bonus: 15 szablonów Free Plan Komunikacji w projekcie

Jesteś o jedno kliknięcie od lepszej komunikacji z ClickUp

Slack to świetne narzędzie, które staje się jeszcze lepsze dzięki integracji z ClickUp.

Jednak zamiast żonglować wiadomościami Slack i tekstami ClickUp w tym samym czasie, posiadanie jednej platformy, która może to wszystko zrobić, ma większy sens.

Rozmowy ClickUp w czasie rzeczywistym, wygoda przekształcania jednej bezpośredniej wiadomości w szczegółowe zadanie oraz możliwość wizualizacji dyskusji - wszystko to sprawia, że ClickUp jest holistyczną aplikacją do zarządzania projektami w porównaniu do Zarządzanie projektami w Slack możliwości.

Wypróbuj sam, aby zobaczyć różnicę. Stwórz swoje darmowe konto ClickUp już dziś i uprość swój cykl pracy!