Upomínky
Přehled
Upomínkový engine automaticky posílá e-maily (volitelně i SMS) klientům, kteří svůj intake nedokončili. Rytmus nastavíte při volání define_intake a od té chvíle se BriefGate stará o načasování, odstranění duplicit i noční klid. Agent nemusí hlídat e-mailová vlákna ani si pamatovat, že se má připomenout.
Jakmile klient odešle všechny povinné položky, upomínky se samy zastaví.
Rozvrhy
| Rozvrh | Upomínky | Kdy se hodí |
|---|---|---|
| gentle | za 3 dny, za 8 dní, pak každých 14 dní | Pro citlivé klientské vztahy |
| default | za 2, 5 a 9 dní, pak jednou týdně | Doporučené pro většinu projektů |
| aggressive | za 1, 3 a 5 dní, pak obden | Když hoří termín |
| custom | Každých chase_interval chase_interval_unit (výchozí každé 3 dny) |
Když se žádný přednastavený nehodí |
| off | Žádné | Jen ruční odesílání |
Rozvrh nastavíte při zakládání intake:
{
"project_name": "Bella Cucina Website",
"client": {"email": "[email protected]"},
"items": [...],
"chase_schedule": "default"
}Rytmus se pevně určí při založení intake — endpoint na jeho pozdější změnu neexistuje.
Tarify Solo a Agency mají k dispozici všechny rozvrhy. Tarif Free jen default a off.
Vlastní interval
Když se žádný přednastavený rozvrh nehodí, nastavte chase_schedule na custom a zadejte interval jako číslo plus jednotku:
{
"project_name": "Bella Cucina Website",
"client": {"email": "[email protected]"},
"items": [...],
"chase_schedule": "custom",
"chase_interval": 5,
"chase_interval_unit": "minutes"
}chase_interval_unit je jedna z hodnot minutes, hours, days; výchozí jsou days. První upomínka dorazí jeden interval po pozvánce a další pak po každém dalším intervalu — 5 days dá za 5, 10 a 15 dní a tak dál.
Meze: nejméně 5 minut, nejvíc 90 dní. Cokoli kratšího než pět minut naráží na limity poštovních providerů a příjemci to připadá jako spam, takže to API odmítne.
Obě pole jsou nepovinná. Samotné chase_schedule: "custom" upomíná každé 3 dny. Poslat kterékoli z nich spolu s přednastaveným rozvrhem skončí chybou 422 — přednastavené rozvrhy mají pevný rytmus a tiché ignorování pole by vás nechalo v domnění, že jste ho změnili.
Na rozdíl od gentle vlastní rytmus víkendy nevynechává.
Pevná denní hodina
Rytmus měřený v celých dnech se dá přišpendlit na místní čas, místo aby se odvíjel od toho, kdy zrovna odešla pozvánka:
{
"chase_schedule": "custom",
"chase_interval": 1,
"chase_interval_unit": "days",
"chase_at_time": "07:00"
}Tohle klienta upomene každé ráno v 7:00 v jeho pásmu client.timezone, včetně přechodu na letní čas.
- Hodnota je místní čas ve 24hodinovém formátu
HH:MM. - Vyžaduje interval v celých dnech. Rytmus kratší než den nemůže zároveň mířit na jednu pevnou hodinu, takže API takovou kombinaci odmítne chybou 422.
- Přebíjí noční klid. Když řeknete 7:00, platí 7:00 — upomínka se neodsune na 8:00 jen proto, že se tehdy otevírá výchozí okno.
- Jako každé odeslání nese pár sekund rozptylu, aby vám celá flotila intake nebouchla na poštovní server ve stejnou vteřinu.
Strop upomínek
Intake přestane upomínat po max_reminders upomínkách (výchozí 3), označí se jako zaseknutý a spustí webhook intake.stalled, abyste mohli zasáhnout. Rychlý rytmus by tři pokusy spálil během pár minut, takže při zkrácení intervalu strop zvedněte:
{
"chase_schedule": "custom",
"chase_interval": 30,
"chase_interval_unit": "minutes",
"max_reminders": 12
}Maximum je 1000. Hodnota "max_reminders": "unlimited" strop úplně zruší — vyplatí se to jen u opravdu otevřeného upomínání, protože intake ignorovaný stokrát další e-mail nezachrání a za každý z nich platí reputace vaší odesílací domény.
Noční klid
Upomínkový engine respektuje pracovní dobu klienta, aby neposílal ve nevhodnou hodinu.
- Upomínky se zadrží, pokud je u klienta místní čas mimo 8:00–19:00.
- Nastavením
respect_quiet_hours: falsena intake budete posílat nepřetržitě. Dává to smysl u záměrně rychlého rytmu, který by jinak přes noc stál. - Se zapnutým nočním klidem počítá rytmus kratší než den jen čas, kdy je okno otevřené: třicetiminutový interval, který vyprší v 18:50, pokračuje druhý den v 8:05 — místo aby všechny zameškané upomínky spadly na 8:00 najednou.
- Časové pásmo klienta se nastavuje přes
client.timezonevdefine_intake(například"Europe/Prague"). Bez nastavení se použije UTC. - Rozvrh gentle o víkendech neposílá nikdy.
- Všechny ostatní rozvrhy včetně vlastních posílají i o víkendu.
Když naplánované odeslání spadne do tichého okna, zadrží se do nejbližšího povoleného času — nezruší se.
Co je v upomínkovém e-mailu
Každá upomínka je ušitá na to, co ještě chybí:
- Jen položky, které klient dosud neodeslal (ne ty hotové)
- Shrnutí postupu („zbývají 3 z 8 položek, přibližně 6 minut“)
- Přímý odkaz do portálu s obnoveným magic linkem (bez přihlašování)
- Vaše jméno a váš branding — v placených tarifech se slovo „BriefGate“ v e-mailech pro klienta neobjeví
E-mail je psaný z vaší perspektivy, ne z perspektivy BriefGate. Klient vidí profesionální připomenutí od vás, ne od nástroje třetí strany.
Vlastní doména pro odesílání (Agency)
V tarifu Agency si nastavíte vlastní odesílací doménu (třeba [email protected]), takže klient uvidí v poli Od vaši doménu. V nastavení účtu je průvodce nastavením SPF, DKIM a DMARC — obvykle zabere 5 až 10 minut.
Dokud vlastní doména nastavená není, odesílá se z [email protected].
Ruční upomínka
Odeslat upomínku okamžitě mimo rozvrh:
Přes MCP:
send_chase(intake_id: "int_01J3K...", channel: "email")Přes REST:
POST /v1/intakes/:id/chase{
"channel": "email"
}Rozvrh se tím neresetuje — naplánované upomínky pokračují po té ruční podle plánu.
Doplněk SMS
SMS upomínky jsou k dispozici v tarifu Agency se SMS kredity.
- Kredity koupíte ve fakturaci: $5 / 50 zpráv
- Vyžadují
client.phonezadaný přidefine_intake(formát E.164, například"+420601234567") - SMS funguje nejlépe jako eskalační kanál: po odrazu e-mailu nebo po webhooku
intake.stalled
Odeslání SMS upomínky:
send_chase(intake_id: "int_01J3K...", channel: "sms")Nebo přes REST:
POST /v1/intakes/:id/chase
{"channel": "sms"}Průběh eskalace
Když doručování e-mailů opakovaně selhává, dá to engine agentovi vědět:
- E-mail klienta se natvrdo odrazí → spustí se webhook
chase.bounceda BriefGate na tu adresu přestane posílat - Intake vyčerpá povolený počet upomínek, aniž by byl dokončen → spustí se webhook
intake.stalledse seznamemmissing_items - Agent dostane
intake.stalleda případně eskaluje volánímsend_chase(channel: "sms") - Když SMS není k dispozici nebo telefon nebyl zadaný, může agent eskalovat jinak (upozornit člověka, změnit stav projektu a podobně)
Pole missing_items v intake.stalled přesně říká, které položky ještě chybí, takže to můžete předat tomu, kdo eskalaci řeší.
Zpracování odrazů
Když Resend nahlásí tvrdý odraz nebo stížnost na spam, BriefGate:
- Spustí webhook
chase.bounced - Označí adresu na tomto intake jako odraženou
- Zastaví všechny další upomínkové e-maily na tuto adresu (kvůli ochraně reputace odesílatele)
Měkké odrazy (dočasné selhání doručení) zkouší Resend opakovaně sám a hlásí je BriefGate až jako tvrdé. Vy tedy vidíte jen tvrdé odrazy a stížnosti.
Odraženou adresu už na existujícím intake nelze opravit — endpoint na změnu client.email po založení neexistuje. Když chcete klienta zastihnout na jiné adrese, založte nový intake na položky, které vám stále dluží, a ten starý nechte zarchivovat.
Jazyk
Každý e-mail je psaný v jazyce klienta, který se vybírá v tomto pořadí:
client.languagena intakedefault_languagena účtu (PATCH /v1/account)- angličtina
Podporované: cs, sk, pl, de, es, en. Řídí se tím předmět, tělo, tlačítko i formát data — včetně skloňování počtu, které se liší i mezi jazyky, co vypadají podobně. Polština bere 22 jako „few“ a 25 jako „many“, čeština obojí jako „many“.
Vlastní předmět a úvodní text
email_copy nahradí vestavěné texty, buď na účtu (jako výchozí), nebo na jednotlivém intake (kde je pole po poli přebije):
{
"email_copy": {
"invite_subject": "{sender} potřebuje {count} podkladů k projektu {project}",
"invite_intro": "Dobrý den, {client}. Pro {project} potřebujeme ještě pár věcí — zabere to zhruba {minutes} minut."
}
}Zástupné symboly: {sender}, {project}, {client}, {count}, {minutes}, {due}. Cokoli jiného se odmítne chybou 422 místo doslovného vypsání — překlep typu {prjoekt} v e-mailu si nikdo nevšimne dřív, než ho klient přečte.
Rozvržení, tlačítko i patička zůstávají beze změny. Hodnoty se escapují všude, kde text končí uvnitř HTML, takže název projektu nemůže do e-mailu propašovat značky.