
Hotový úkol už nemá nikoho urgovat
Kolega dokončil podklady včera, ale ráno dostane další e-mail „termín se blíží“. Připomínka vznikla předem a nikdo ji při dokončení neodstranil. Po několika takových zprávách se tým naučí upozornění přehlížet, včetně těch oprávněných.
Pro malý interní přehled musí rozhodovat aktuální stav úkolu v okamžiku kontroly. Hotový nebo pozastavený úkol se vynechá. Otevřený úkol po termínu může dostat nejvýše jednu automatickou připomínku za den podle zvoleného pravidla. Níže uvedený návrh upozorňuje na nedokončenou práci; samostatný článek řeší chybějící běh automatizace.
Součástí je skript pro Google Apps Script, příprava prázdné tabulky a nastavení a modelové úkoly se zkouškami. Připomínky jsou pouze pro povolené interní adresy. Nejde o automatické urgování klientů.
Pro import použijte prázdné CSV nebo samostatnou smyšlenou testovací sadu. V dialogu importu vypněte převod textu na čísla a data; potom ověřte, že due_date zůstalo textem. Rezervovanou adresu nahraďte svou a stejnou adresu povolte ve skriptu.
Jeden stav úkolu, jedna odpovědnost
V tabulce Tasks používá skript přesné hlavičky task_id, title, owner_email, due_date, status, revision. Označení zachovejte i v české tabulce, protože podle nich skript čte. Datum pište jako text YYYY-MM-DD; nastavte sloupec na prostý text. Stav má hodnotu open, done nebo paused.
Identifikátor patří jedné práci a nepoužívá se znovu. Při změně odpovědného člověka nebo termínu zvyšte celé číslo revision. Jedna denní připomínka se pak vztahuje ke konkrétnímu zadání, termínu, příjemci a revizi. Oprava v témže dni může založit novou způsobilou připomínku; nejdřív ji tedy zkontrolujte.
Před termínem skript neodesílá nic. Od dne termínu včetně se připomíná otevřený úkol každý den, dokud ho neuzavřete nebo nepozastavíte. Tento rytmus je zvolený příklad, ne univerzální pravidlo týmu. Pokud vám stačí přehled v aplikaci nebo týdenní kontrola, zůstaňte u ní.
Připravte kopii a nejprve jen náhled
Potřebujete vlastní Tabulku Google, povolený Apps Script a možnost odesílat interní zprávy. V nové vlastní tabulce založte list Tasks a vyplňte neškodné modelové řádky. Otevřete Rozšíření → Apps Script, vložte stažený soubor a v horní části nastavte identifikátor tabulky, časové pásmo, jazyk a seznam povolených interních adres. Začněte pouze svou vlastní zkušební adresou. Výchozí dryRun: true nic neposílá.
Spusťte runReminders a přečtěte protokol plánovaných zpráv. Skript nejprve ověří všechny řádky; chybějící vlastník, neplatný stav, opakovaný identifikátor nebo nesmyslné datum zastaví běh před odesíláním. Opravte příčinu v tabulce. Až náhled odpovídá, nastavte dryRun: false a spusťte vlastní zkoušku. Oprávnění k tabulce a poště udělí účet, který ji provádí.
Skript používá MailApp a kontrolu zbývající denní kvóty. Nedostatečná kvóta zastaví odesílání; další zprávy se nesmějí ztratit jako údajně odeslané. Pro konkrétní účet ověřte také aktuální limity Apps Script.
Připravovaná zpráva potřebuje záznam
V listu ReminderLog skript před odesláním založí záznam uncertain a uloží ho. Po úspěšném návratu poštovní služby ho změní na sent. Stejný záznam v kterémkoli z těchto stavů brání automatickému opakování. Zámek chrání před dvěma souběžnými běhy téhož skriptu.
Zápis do tabulky a odeslání e-mailu nejsou jedna společná operace. Pokud se běh přeruší mezi nimi, nelze ze samotného protokolu určit, zda zpráva odešla. Označení uncertain tedy může znamenat i zprávu, která vůbec odeslána nebyla. Správce ověří příjem a historii. Podle výsledku ji ručně dořeší nebo po potvrzení neodeslání odstraní konkrétní záznam pro další pokus. Automatické mazání všech nejistých řádků by mohlo vytvořit duplicity.
Bezprostředně před každou zprávou skript znovu kontroluje celý přehled a stav daného úkolu. Ani tím nevzniká absolutní záruka: člověk může úkol dokončit právě během odesílání. Pokud jedna taková zpráva znamená nepřijatelný dopad, použijte upozornění přímo v systému, který umí spojit stav a oznámení lépe, nebo ruční kontrolu.
Zapněte pravidelnou kontrolu až po zkouškách
V Apps Script otevřete vlevo Spouštěče (ikona hodin) → Přidat spouštěč. Zvolte funkci runReminders, zdroj události Časovač, typ Denní časovač a například interval 9–10 hodin. Uložte a zkontrolujte časové pásmo v Nastavení projektu i hodnotu timeZone ve skriptu. Provozujte jen jeden aktivní projekt a jeden tento spouštěč; zámek nechrání nezávislé kopie. Instalovaný spouštěč běží pod účtem svého tvůrce a časový interval není přesná minuta. Na stránce Spuštění ověřte první skutečný plánovaný běh, jeho stav a příjem zprávy. Při předání správy nejdřív odstraňte původní spouštěč; nový správce si vytvoří vlastní. Pozastavení provedete smazáním tohoto spouštěče, nikoli zavřením prohlížeče. Domluvte, kdo sleduje neúspěšné běhy a kdo převezme správu účtu při odchodu kolegy.
Ověřte otevřený úkol po termínu, druhé spuštění ve stejný den, hotový úkol, budoucí datum, změnu vlastníka a nejisté odeslání. Zapište skutečný příjem do pomůcky. Lokální testy skriptu kontrolují rozhodovací logiku a práci s protokolem; doručení ve vašem Google účtu tím prokázané není.
Pokud jen předem plánujete e-maily a ztrácíte přehled o práci, vraťte se ke stránce zapomenutých interních úkolů a společnému přehledu. AI agenta pro tento postup nepotřebujete: rozhoduje datum a ověřený stav, nikoli odhad modelu.
U malého objemu započítejte do přínosu i správu skriptu a řešení výjimek. Pokud převáží nad ruční kontrolou, automatizace zatím nepomáhá. Pro klientské následné zprávy použijte jiný postup jedna následná zpráva.
Dokumentace zkontrolována 10. října 2026. Modelové úkoly neobsahují skutečné adresy; žádné týmové ani klientské zprávy jsme při přípravě článku neposílali.