Verfassen von Block-Kit-Nachrichten
Lernziele
Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:
- Verfassen einer Block-Kit-Nachricht mit dem Block-Kit-Builder
- Verwenden von Vorlagen zum Erstellen benutzerdefinierter Nachrichten
- Erläutern, was Nachrichten-Payloads sind
Senden von Block-Kit-Nachrichten
Im Prinzip sind Block-Kit-Nachrichten JSON-Payloads, die die verwendeten Blocktypen aufschlüsseln. Sie werden über die Web-API von Slack zwischen Ihrer App und Slack übertragen. Sie können Nachrichtenblöcke zwar durchaus manuell erstellen, die Verwendung von Block-Kit-Builder ist jedoch einfacher und intuitiver.
Verfassen von Nachrichten mit Block-Kit-Builder
Da Sie nun die Blocktypen, Blockelemente und Oberflächen kennen, möchten wir Ihnen zeigen, wie Sie einfache und auch komplexe Block-Kit-Nachrichten verfassen.
Block-Kit-Builder bietet alles zentral an einem Ort und ermöglicht Ihnen, im linken Fensterbereich Blöcke auszuwählen(1) und sie durch Ziehen und Ablegen anzuordnen, um Block-Kit-Layouts zu entwerfen und im mittleren Fensterbereich (2) eine Vorschau davon anzuzeigen. Wenn Sie eine Block-Kit-Nachricht nach Ihren Vorstellungen erstellt haben, können Sie das für Ihre Slack-App nötige JSON-Array kopieren (3) oder durch Klicken auf eine Schaltfläche (4) direkt an Slack senden.
In Block-Kit-Builder gibt es auch Vorlagennachrichten, die Sie als Ausgangspunkt für Dinge wie Genehmigungen, Abstimmungen, Einarbeitung und Newsletter nutzen können.
Alternativ können Sie die Blockreferenz verwenden, um ein vollständiges Block-Array manuell zu erstellen.
Die Struktur der Nachrichten-Payload
Die Struktur der Nachrichten-Payload oder Blockanweisung ist universell. Jeder Block enthält ein Feld type
zur Angabe des verwendeten Blocktyps und andere Felder, die den Inhalt des Blocks beschreiben.
Sehen Sie sich einmal die folgende Vorlage an. Die Nachricht besteht aus den Layoutblöcken section
, image
und context
. Darüber hinaus ist in einen der section-Blöcke ein interaktives Element namens conversations_select
eingebettet. Sie können diese Vorlage unverändert einsetzen oder als Ausgangspunkt für einen robusteren Workflow zur Einarbeitung neuer Teammitglieder verwenden.
{ "blocks": [ { "type": "section", "text": { "type": "mrkdwn", "text": "Hey there 👋 I'm TaskBot. I'm here to help you create and manage tasks in Slack.\nThere are two ways to quickly create tasks:" } }, { "type": "section", "text": { "type": "mrkdwn", "text": "*1️⃣ Use the `/task` command*. Type `/task` followed by a short description of your tasks and I'll ask for a due date (if applicable). Try it out by using the `/task` command in this channel." } }, { "type": "section", "text": { "type": "mrkdwn", "text": "*2️⃣ Use the _Create a Task_ action.* If you want to create a task from a message, select `Create a Task` in a message's context menu. Try it out by selecting the _Create a Task_ action for this message (shown below)." } }, { "type": "image", "title": { "type": "plain_text", "text": "image1", "emoji": true }, "image_url": "https://api.slack.com/img/blocks/bkb_template_images/onboardingComplex.jpg", "alt_text": "image1" }, { "type": "section", "text": { "type": "mrkdwn", "text": "➕ To start tracking your team's tasks, *add me to a channel* and I'll introduce myself. I'm usually added to a team or project channel. Type `/invite @TaskBot` from the channel or pick a channel on the right." }, "accessory": { "type": "conversations_select", "placeholder": { "type": "plain_text", "text": "Select a channel...", "emoji": true } } }, { "type": "divider" }, { "type": "context", "elements": [ { "type": "mrkdwn", "text": "👀 View all tasks with `/task list`\n❓Get help at any time with `/task help` or type *help* in a DM with me" } ] } ] }
Das Ergebnis ist eine umfangreiche, aussagekräftige Nachricht, die neuen Slack-Benutzern hilft, Aufgaben nach einem vom Ihrem Team eingerichteten Workflow zu erstellen, und zwar mit Einzelschritten, Screenshots und einem interaktiven Element, mit dem der Benutzer den Bot zu einem Channel hinzufügen kann.
Doch wie interagiert der Benutzer mit solchen Nachrichten? In der nächsten Lektion zeigen wir Ihnen, wie Sie Interaktivität mit einer Block-Kit-Payload verwalten. Das Handling von Benutzerinteraktion ist ein wichtiger Schritt bei der Erstellung funktionierender Block-Kit-Nachrichten und -Workflows.
Ressourcen
- Slack App: Block-Kit-Builder (Anmeldung erforderlich)