Pređi na sadržaj
FFormhook
Nazad na blog

Blog

Slanje unosa formi na Slack (bez koda)

· 4 min čitanja

Unos kontakt forme koji sleti u zajednički inboks pročita se onda kad neko slučajno pogleda u njega - što za manji tim može značiti nekoliko sati kasnije, ili nikad, dok neko ne prosledi dalje. Unos objavljen na Slacku pročita se u sledećih trideset sekundi, jer je Slack mesto gde tim već jeste. Isti lid, ista poruka, sasvim drugačije vreme odgovora.

Imejl i dalje ima svoje mesto - on je papirni trag. Ali kao prvi kanal obaveštenja, obično pobeđuje Slack: to je alat u koji tim već gleda, niko ne mora da pamti da proveri inboks, a novu poruku u kanalu vidi svako ko je u njemu, ne samo onaj u čiji je inboks stigla.

DIY pristup

Slack ne prihvata sirovi POST HTML forme direktno, pa dostavljanje unosa tamo sami znači pisanje malog prijemnika u sredini. To je obično serverless funkcija (Cloudflare Worker, Vercel funkcija, AWS Lambda) koja:

  • Prima POST forme i proverava da li zaista liči na unos, a ne na spam.
  • Preoblikuje imena i vrednosti polja u Slack-ov format poruke - bilo kao prost text string, bilo kao blocks niz ako želite da izgleda native.
  • Eskejpuje korisnički unos kako poruka sa &, < ili > ne bi pokvarila Slack-ovo mrkdwn renderovanje.
  • Šalje rezultat POST-om na Slack Incoming Webhook URL i obrađuje slučaj kad taj POST ne uspe ili istekne vreme - Slack webhookovi nisu beskonačno pouzdani, pa naivna implementacija tiho gubi unose kad se nešto zagluvi.

Ništa od ovoga nije egzotično - to je popodne prave inženjerske izrade, i to je još jedna usluga koju treba deploy-ovati, pratiti i na kraju održavati kad se ime polja promeni ili Slack izmeni pravila formatiranja. Razumno je ako već imate tu infrastrukturu i uživate da je posedujete; višak posla ako ste hteli samo da "obavestite tim kad neko popuni formu".

Pristup bez koda

Formhook u potpunosti preskače prijemnik. U podešavanjima vaše forme dodajte webhook i nalepite vaš Slack Incoming Webhook URL (onaj koji dobijete iz Slack-ove sopstvene aplikacije "Incoming Webhooks" - https://hooks.slack.com/services/...). Formhook automatski prepoznaje taj host i putanju, i od tog trenutka formatira svaki unos kao native Slack poruku - bez koda, bez mapiranja polja, bez rizika da nešto pogrešno eskejpujete.

Svaki unos stiže kao poruka sa zaglavljem koje imenuje formu, i jednim ili više odeljaka koji nabrajaju ime i vrednost svakog polja - formatiranih kao da ih je čovek sam tamo postavio. Ako unos ima više polja nego što uredno stane u jedan odeljak, raspoređuje se u nekoliko - o tome ne morate da razmišljate.

{
  "text": "New submission to Contact form",
  "blocks": [
    {
      "type": "header",
      "text": { "type": "plain_text", "text": "New submission: Contact form" }
    },
    {
      "type": "section",
      "fields": [
        { "type": "mrkdwn", "text": "*name*\nJane Doe" },
        { "type": "mrkdwn", "text": "*email*\njane@example.com" },
        { "type": "mrkdwn", "text": "*message*\nCan you send a quote for..." }
      ]
    }
  ]
}

Isti trik za Discord i Microsoft Teams

Prepoznavanje po URL-u radi na isti način za druga dva chat alata koje timovi najčešće traže. Nalepite Discord webhook URL i unosi stižu kao formatiran Discord embed; nalepite Microsoft Teams webhook URL i stižu kao native Teams kartica. U oba slučaja radi se o istom jednom polju u dashboardu - Formhook gleda host i putanju URL-a da odluči kako da formatira payload, pa je kasnija promena chat alata vašeg tima samo pitanje lepljenja drugog URL-a, a ne ponovnog građenja bilo čega.

Sve što nije jedno od ova tri i dalje radi: nalepite bilo koji drugi URL i Formhook prelazi na generički JSON POST, potpisan HMAC-om kako biste mogli da proverite da je zaista stigao od Formhooka.

Šta ovo ne radi

Vredi biti precizan oko obima: ovo objavljuje formatiranu poruku u kanalu kad stigne unos. Ne pravi threadove, ne dodaje interaktivna dugmad, ne dodaje slash komandu - to je obaveštenje, ne Slack aplikacija. Za većinu timova upravo je to poenta: jedna čista poruka, odmah, bez ičega dodatnog za podešavanje.

Kako početi

Ako već imate formu usmerenu na Formhook, ovo je dodatak od dva minuta: napravite Incoming Webhook na Slacku, nalepite URL u podešavanja webhooka vaše forme, i sledeći unos će se pojaviti u kanalu. Ako krećete od nule, dokumentacija pokriva podešavanje same forme, a cenovnik ima ograničenja besplatnog paketa (250 unosa mesečno, kartica nije potrebna) ako samo želite da probate.

Funkcionalna forma u jednoj liniji

Hostovano u EU, unosi se čuvaju zauvek, push obaveštenja na svakom paketu.

Počnite besplatno

Bez kreditne kartice · pročitajte dokumentaciju

Nastavite čitanje