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
textstring, bilo kaoblocksniz ako želite da izgleda native. - Eskejpuje korisnički unos kako poruka sa
&,<ili>ne bi pokvarila Slack-ovomrkdwnrenderovanje. - Š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 besplatnoBez kreditne kartice · pročitajte dokumentaciju
Nastavite čitanje
- Push obaveštenja za forme: zašto imejl nije dovoljanImejl upozorenja za unose formi se lako izgube. Web push obaveštenja stižu na vaš telefon i računar trenutno - evo kako funkcionišu i kako da ih podesite.
- AJAX slanje forme: pošaljite formu bez ponovnog učitavanja stranicePodrazumevano slanje HTML forme ponovo učitava stranicu. Evo kako je umesto toga poslati preko fetch() - inline stanja uspeha/greške, progresivno poboljšanje i pristupačna ažuriranja statusa.
- Šta je form backend? (I kada vam je potreban)Form backend prima, čuva i prosleđuje unose sa formi na vašem sajtu, tako da ne morate da održavate server. Evo kako rade i kada vam je jedan potreban.