Kanal: Nachrichten schicken
Ohne Code: Slack-Adresse
Tools, die nur an Slack schicken können, schicken mit dieser Adresse an Samy. Ohne eine Zeile Code.
Viele Tools können keine eigene Push-App anbinden, haben aber eine Einstellung „Slack-Benachrichtigung“ oder „Slack Webhook“. Dort trägst du statt der Slack-Adresse die Slack-Adresse deines Packlets ein. Samy nimmt die Meldung an, als wäre Samy Slack, und schickt sie als Push auf dein Handy.
Du schreibst dafür keinen Code.
In der App verbinden
Tipp beim Verbinden auf Integrationen und wähle Slack. Name und Tier sind schon ausgefüllt. Danach zeigt Samy statt Code gleich die fertige Adresse zum Kopieren; die trägst du in deinem Tool bei Slack ein. Samy liest dabei nicht in deinem Slack mit, es nimmt nur an, was dein Tool schickt.
Deine Adresse
https://api.packlets.app/v1/slack/<SAMY_KEY>Statt <SAMY_KEY> setzt du den Schlüssel deines Packlets ein, also den, der mit samy_ beginnt. Mehr braucht das Tool nicht.
Der Schlüssel steht hier in der Adresse, weil diese Tools keinen eigenen Header schicken können. Behandle die ganze Adresse deshalb wie ein Passwort. Erzeugst du in der App einen neuen Schlüssel, gilt die alte Adresse sofort nicht mehr.
Wo das funktioniert
Überall, wo du eine Slack-Webhook-Adresse („Incoming Webhook“) eintragen kannst. Zum Beispiel:
| Bereich | Tools |
|---|---|
| Überwachung | Uptime Kuma, Grafana, Prometheus Alertmanager, Sentry, Healthchecks.io |
| Code und Deploys | GitHub Actions, GitLab, Jenkins, Railway, Netlify |
| Automatisierung | n8n, Zapier, Make, Home Assistant |
| Webseiten | Formular-Plugins für WordPress mit Slack-Option, Shop-Systeme |
| Eigene Skripte | Alles, was schon an Slack schickt: Adresse tauschen, fertig |
Schnell testen
curl https://api.packlets.app/v1/slack/<SAMY_KEY> \
-H "Content-Type: application/json" \
-d '{"text":"*Backup* fehlgeschlagen auf <https://status.example.com|server-1>"}'Kommt ok zurück, ist die Nachricht da. Im Packlet-Protokoll steht der Aufruf mit „Slack:“ davor.
Was Samy übernimmt
Samy versteht die üblichen Slack-Formate und macht daraus eine normale Nachricht:
| Slack | In Samy |
|---|---|
text | Text der Nachricht. Gibt es blocks, ist text dort nur die Kurzfassung und wird nicht gezeigt. |
*fett* | fett |
<https://…|Beschriftung> | Beschriftung im Text. Der erste Link wird zum Link der Nachricht. |
Erwähnungen wie <!channel> oder <@U123> | fallen weg |
Block header | Titel |
Block section mit text und fields | Absatz, Felder als Liste |
Block context | kleiner Absatz, Teile mit · getrennt |
Block image | Bild der Nachricht |
Block actions mit Buttons, die eine url haben | bis zu 3 Knöpfe, die den Link öffnen |
attachments mit title, title_link, pretext, text, fields, image_url | Titel, Link, Text, Liste und Bild |
attachments mit color: "danger" | Priorität high |
Formular mit payload=<json> | wie JSON |
Alles andere, etwa Menüs, Datumswähler oder Formatierungen, die Samy nicht kennt, lässt Samy weg, statt die Meldung abzulehnen. Zu lange Texte werden gekürzt, Links ohne https fallen weg.
Ein Beispiel mit Blocks:
{
"text": "Neue Bestellung #1042",
"blocks": [
{ "type": "header", "text": { "type": "plain_text", "text": "Neue Bestellung #1042" } },
{ "type": "section", "text": { "type": "mrkdwn", "text": "*Anna Weber* hat bestellt" },
"fields": [{ "type": "mrkdwn", "text": "*Betrag:* 49 €" }] },
{ "type": "actions", "elements": [
{ "type": "button", "text": { "type": "plain_text", "text": "Bestellung öffnen" },
"url": "https://shop.example.com/orders/1042" }
] }
]
}In Samy wird daraus eine Nachricht mit dem Titel „Neue Bestellung #1042“, dem Text „Anna Weber hat bestellt“ mit dem Punkt „Betrag: 49 €“ und einem Knopf „Bestellung öffnen“.
Antworten
Samy antwortet wie Slack mit kurzem Text, weil manche Tools genau das prüfen:
| Status | Antwort | Bedeutung |
|---|---|---|
200 | ok | Gespeichert, der Push ist unterwegs. |
400 | invalid_payload | Kein Text gefunden, weder in text noch in blocks oder attachments. |
401 | JSON mit invalid_key | Schlüssel falsch oder Packlet entfernt. |
429 | JSON mit rate_limited | Zu viele Aufrufe. Es gilt dasselbe Limit wie bei POST /v1/push. |
Grenzen
- Knöpfe öffnen nur Links. Knöpfe, die deinem Tool antworten, gibt es mit
POST /v1/pushund einem Webhook. - Elemente wie Schalter oder Diagramme gibt es über diese Adresse nicht.
- Die Adresse nimmt nur Nachrichten an. Die Seite einer App setzt du mit
PUT /v1/ui.