app icon indicating copy to clipboard operation
app copied to clipboard

Jako organizátor akce chci, aby uživatelům po registraci na akci automaticky přišla pozvánka do kalendáře

Open anezkamll opened this issue 2 years ago • 10 comments

V tuto chvíli máme následující workflow:

  • V airtable existuje registrační formulář
  • V kalendáři (soukromém nebo kalendáři pro online eventy) existuje kalendářová událost
  • K registračnímu formuláři se uživatel dostane skrz událost na portálu dobrovolníka
  • Po zaregistrování se vytvoří záznam v Airtable
  • Někdo, kdo má přístup k registracím a zároveň ke kalendářové události, jde a manuálně vykopíruje adresy registrovaných, přidá je ke kalendářové události a pošle invite

Dokážu si představit následující, ale nevím, zda/jak je to proveditelné:

  • V airtable existuje registrační formulář
  • V kalendáři k tomu speciálně určeném existuje kalendářová událost (bude třeba vytvořit účet [email protected], případně [email protected] - není to účet závislý na jednom uživateli, bude sdílený pro všechny eventy)
  • K registračnímu formuláři se uživatel dostane skrz událost na portálu dobrovolníka
  • Po zaregistrování se vytvoří záznam v Airtable
  • Po vytvoření záznamu v Airtable se automaticky :magic_wand: přidá mailová adresa do kalendářové události a odešle invite

Možná úskalí, která teď vidím:

  • Funguje propojení Airtable a Google kalendáře?
  • Potřebujeme u online akcí zachovat účet [email protected] jako vlastníka akce kvůli nahrávání

anezkamll avatar Jan 17 '23 12:01 anezkamll

Je to proveditelné a chceme to už delší dobu, vlastně to byl jeden z prvních use casů, které jsme pro web plánovali. Plánovali jsme to ale ve dvou krocích:

  1. Nahradit registrační formuláře v Airtable pomocí přihlašovacího tlačítka u události
  2. Rozesílat zájemcům automaticky pozvánky do kalendáře

Ty vlastně navrhuješ ten krok 2. Kdybychom nejdřív udělali krok 1, tak jednak výrazně snížíme tření (pro registraci stačí jedno kliknutí), jednak bychom měli jasnou a ověřenou e-mailovou adresu a dokonce bychom mohli v Airtable přímo prolinkovat tu událost na seznam účastníků z tabulky User Profiles (takže bychom automaticky mohli pracovat se všemi daty, které k účastníkům máme). Potenciální problémy, které mě napadají:

  • Uživatel musí být v našem Slacku a musí být přihlášený k našemu webu. Tohle neberu jako vážný problém, tohle chceme systémově razit jako požadavek napříč všemi službami a bude nám to pomáhat, aby ten celek fungoval líp.
  • Nevyptáváte od uživatelů v těch přihlašovacích formulářích nějaké detaily? Pokud ano, o tohle bychom tou registrací na jeden klik přišli. Já jsem žádné ty registrační formuláře neviděl, tak nevím, jak malý nebo velký problém to je.

PS. Viz též https://github.com/cesko-digital/web/discussions/511 a https://github.com/cesko-digital/web/discussions/606, ale nejsou tam žádné detaily navíc.

zoul avatar Jan 17 '23 12:01 zoul

Nevyptáváte od uživatelů v těch přihlašovacích formulářích nějaké detaily? Pokud ano, o tohle bychom tou registrací na jeden klik přišli. Já jsem žádné ty registrační formuláře neviděl, tak nevím, jak malý nebo velký problém to je.

Vyptáváme a v rámci různých akcí na hromadu různých věcí. O ta data nechceme určitě přijít.

Uživatel musí být v našem Slacku a musí být přihlášený k našemu webu. Tohle neberu jako vážný problém, tohle chceme systémově razit jako požadavek napříč všemi službami a bude nám to pomáhat, aby ten celek fungoval líp.

Já to trochu vnímám jako problém třeba u akcí edu.digital nebo teď u meetupu, tedy akcí, které jsou záměrně otevřené i mimo komunitu. Například u meetupu je 30% registrovaných mimo náš Slack.

anezkamll avatar Jan 17 '23 13:01 anezkamll

Tohle je obecnější problém, se kterým si dlouhodobě nevím rady. Na jednu stranu chápu tu snahu nevkládat zbytečný práh do cesty lidem z oblasti mimo komunitu č.d, na druhou stranu tím podle mě intenzivně podrýváme fungování těch interních nástrojů – protože často narážíme na případy jako tento, kdy zachováním nějakého use casu pro nečleny výrazně zhoršujeme UX pro členy (často například znovu vyplňují údaje, které už nám několikrát dávali, máme tam pole typu Jsem už na Slacku Česko.Digital, …) a zároveň zvyšujeme náročnost implementace těch věcí (vždycky znovu musíme řešit zpracování osobních údajů a podobně). Můžeme probrat ve Slacku.

Kdybychom chtěli čistě pragmaticky dodělat to automatické rozesílání pozvánek do kalendáře: Už jsem se kdysi díval na API Google Kalendáře a přijde mně to schůdné. Vlastně by to znamenalo nějak pravidelně koukat na seznam lidí registrovaných na nějakou událost a přidávat jejich e-maily k odpovídající události v kalendáři. Takhle na první pohled vidím problém v tom, že ta data o registracích nepadají do jedné společné tabulky napříč všemi událostmi, ale každá událost má vlastní tabulku s účastníky. Když se na to dívám jako automat, tak jak zjistím, ve které tabulce mám hledat ty účastníky?

zoul avatar Jan 17 '23 13:01 zoul

Vlastně by to znamenalo nějak pravidelně koukat na seznam lidí registrovaných na nějakou událost a přidávat jejich e-maily k odpovídající události v kalendáři.

Takhle to funguje teď.

Takhle na první pohled vidím problém v tom, že ta data o registracích nepadají do jedné společné tabulky napříč všemi událostmi, ale každá událost má vlastní tabulku s účastníky. Když se na to dívám jako automat, tak jak zjistím, ve které tabulce mám hledat ty účastníky?

Doufala jsem, že jdou ty věci nějak prolinkovat, tzn když vytvořím v kalendáři událost, řeknu dané tabulce v Airtablu "toto je příslušná událost" :) ale je to všechno jen teorie

anezkamll avatar Jan 17 '23 14:01 anezkamll

Přidat k události v Airtable (tabulka Events) odkaz na událost v Google Kalendáři není problém, ten je jinde. Když chci aktualizovat události v Google Kalendáři, postupoval bych jako robot takhle:

  1. Stáhnu si seznam všech aktuálních událostí z tabulky Events.
  2. Chci se u každé události podívat, kdo vyplnil registrační formulář. Kde tahle data najdu? Odpověď zní, že v tabulkách à la Vývojářský meetup s NAKIT, Copy day 26.11. Praha a podobně – ale jak se coby robot dostanu z příslušného řádku tabulky Events k téhle jiné tabulce s registracemi?

zoul avatar Jan 17 '23 14:01 zoul

Omlouvám se, nějak mi to zapadlo ve víru jiných věcí, tak se k tomu znova vraťme. Potřebujeme tedy prolinkovat záznamy v AT, events a registrace, jsou to dvě různé báze, takže z jedné potřebujeme synchronizovat data do druhé, nebo to začít dělat v jedné. Plus je tady ještě to nedořešené téma, zda to nějak napasovat na User Profiles, kde nejsme úplně ve shodě :) Co to někdy probrat nějak systematičtěji?

anezkamll avatar Mar 20 '23 07:03 anezkamll

No problem! Proberme příští úterý, jak se uvidíme osobně, a sem pak dáme vědět výstup?

zoul avatar Mar 20 '23 08:03 zoul

Návrh ze společného úterka: mít dva typy eventů, u jedněch bychom šli cestou registrace přes profil na stránkách, tzn musíš být registrovaný ve Slacku č.d (typicky Hack Days, Masterminds apod), u druhých, kde je větší pravděpodobnost velkého množství externích účastníků, jít starou cestou klasického registračního formu.

anezkamll avatar Mar 28 '23 14:03 anezkamll

Supr. Tohle je ale vlastně trochu jiný ticket (pozvánky do události v kalendáři), takže jsem založil https://github.com/cesko-digital/web/issues/760 a tohle si můžeme nechat na později.

zoul avatar Mar 29 '23 09:03 zoul

Mimochodem aktuálně tohle řešíme automatizací v Airtable, viz například tady.

zoul avatar Nov 12 '24 13:11 zoul