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:

json
{
  "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:

json
{
  "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:

json
{
  "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.

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:

json
{
  "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.

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í:

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
json
{
  "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.

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:

  1. E-mail klienta se natvrdo odrazí → spustí se webhook chase.bounced a BriefGate na tu adresu přestane posílat
  2. Intake vyčerpá povolený počet upomínek, aniž by byl dokončen → spustí se webhook intake.stalled se seznamem missing_items
  3. Agent dostane intake.stalled a případně eskaluje voláním send_chase(channel: "sms")
  4. 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:

  1. Spustí webhook chase.bounced
  2. Označí adresu na tomto intake jako odraženou
  3. 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í:

  1. client.language na intake
  2. default_language na účtu (PATCH /v1/account)
  3. 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):

json
{
  "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.