Automatizace sběru podkladů se Zapier
Pokud už agenturu řídíte přes Zapier, sběr podkladů od klientů by neměl být ten jeden krok, který se pořád dělá ručně. Tahle stránka je návod doplňující referenci BriefGate pro Zapier — čtyři Zapy, které si dnes postavíte sami, každý s přesným triggerem, akcí a mapováním polí, aby projekt začínal s logem, texty i přihlašovacími údaji už po ruce, místo ve zaseknutém e-mailovém vlákně.
Nejdřív si přečtěte BriefGate pro Zapier, pokud jste integraci ještě nepřipojili — popisuje pozvánku, připojení účtu a co dělá každý trigger, akce a vyhledávání. Tahle stránka počítá s tím, že to máte hotové, a jde rovnou ke stavbě.
Než začnete stavět
- Při stavbě používejte API klíč
bg_test_…. Testovací klíč nikdy nepošle e-mail ani SMS skutečnému klientovi — pozvánky a upomínky se zaznamenají jakoskipped— takže si Zap projedete od začátku do konce, aniž by cokoli uviděl reálný klient. Nabg_live_…přepněte, až Zap půjde naostro. Viz oprávnění API klíčů. - Triggery potřebují oprávnění
admin. Každý ze čtyř triggerů níže při zapnutí Zapu zaregistruje na vašem účtu BriefGate webhook a k tomu BriefGate vyžadujeadmin— samotnéintakes:read/intakes:writena trigger krok nestačí, jen na akce a vyhledávání. - Jeden klíč na Zap je v pořádku. Oprávnění se nastavují na úrovni API klíče, takže pokud chcete Zap jen s akcemi na užším klíči, vytvořte druhý klíč jen s
intakes:readaintakes:write.
Zap 1: Vyhraný obchod → odeslaný sběr podkladů
Cíl: ve chvíli, kdy se v CRM uzavře obchod, už na klienta čeká odkaz na portál, aniž byste BriefGate vůbec otvírali.
| Krok | Aplikace | Událost |
|---|---|---|
| Trigger | Vaše CRM (Pipedrive, HubSpot, Copper, …) | Deal Won / změna fáze |
| Akce | BriefGate | Create Intake |
Pole Create Intake namapujte z obchodu:
| Pole Create Intake | Namapováno z |
|---|---|
| Project Name | Název obchodu nebo firmy |
| Client Email | E-mail hlavního kontaktu |
| Client Name | Jméno hlavního kontaktu |
| Client Language | Staticky, nebo pole v CRM, pokud ho sledujete |
| Items | Položky, které při kickoffu chcete vždycky — viz níže |
| Due Date | Datum uzavření obchodu + váš standardní termín, nebo prázdné |
| Chase Schedule | default (Free plán) nebo gentle/aggressive od Solo výše |
Items se zadávají jako opakující se blok — jeden řádek na každou věc, kterou potřebujete, s Key (stabilní identifikátor, např. logo), Label (co vidí klient, např. „Logo restaurace“), Type (text, longtext, file, image, file_list, url, boolean, select, multiselect, color_list, structured nebo secret) a zda je Required. U kickoffu webu to bývá typicky:
logo— Image, requiredhero_copy— Long Text, requiredwp_admin— Secret, required (pokud potřebujete přihlašovací údaje do WordPressu — viz past níže)
Send Immediately nastavte na false, pokud chcete sběr podkladů ještě zkontrolovat, než odejde e-mailem klientovi — vznikne jako koncept a odešlete ho později z dashboardu BriefGate (integrace Zapier zvláštní akci pro odeslání nemá; akce jsou dnes jen Create Intake a Send Reminder).
Zap 2: Dokončený sběr → soubory v Drive
Cíl: ve chvíli, kdy klient dokončí sběr, se všechny nahrané soubory objeví ve správné složce na Drive, aniž by je kdokoli ručně stahoval a znovu nahrával.
| Krok | Aplikace | Událost |
|---|---|---|
| Trigger | BriefGate | Intake Completed |
| Vyhledávání | BriefGate | Get Intake Results |
| Akce | Google Drive | Upload File |
Intake Completed se spustí s intake_id, project_name a timestamp — žádný obsah souborů, jen signál, že je čas sběr vyzvednout. Jeho intake_id přiveďte do pole Intake u Get Intake Results.
Get Intake Results vždy interně posílá exclude_secrets=true — viz past níže — a vrací objekt results klíčovaný podle klíče položky. Samostatná položka typu file nebo image (jako logo) se vrátí jako jeden objekt s podepsaným url (platnost 24 hodin), filename, mime, size a checksum_sha256. Namapujte Results Logo Url do pole File v kroku Google Drive; Zapier soubor z té URL stáhne automaticky ještě před nahráním.
Položka typu file_list (jako photos) se vrátí jako pole objektů ve stejném tvaru, takže ji jeden krok Drive napřímo nezpracuje. Mezi vyhledávání a krok Drive vložte Looping by Zapier, přiveďte do něj Results Photos[]Url (a Results Photos[]Filename pro název souboru) a nahrávání do Drive dejte dovnitř smyčky — jedno nahrání na jednu fotku.
Protože podepsaná URL platí jen 24 hodin, nechte tenhle Zap okamžitý (Intake Completed už okamžitý je) místo dávkování — před krok nahrávání do Drive nedávejte krok Delay.
Zap 3: Klient otevřel portál → hláška do Slacku
Cíl: vědět přesně ve chvíli, kdy žádost klienta skutečně zastihla, místo abyste přemýšleli, jestli e-mail nespadl do spamu.
| Krok | Aplikace | Událost |
|---|---|---|
| Trigger | BriefGate | Client Viewed Portal |
| Akce | Slack | Send Channel Message |
Client Viewed Portal se spustí jednou, když klient poprvé otevře svůj odkaz — obnovení stránky ho znovu nespustí — s intake_id, project_name a slug. Záměrně nenese odkaz na portál ani e-mail klienta; viz past níže. Jednoduchá šablona zprávy:
👀 {{project_name}} — klient právě otevřel svůj portál pro sběr podkladů.
Intake: {{intake_id}}Pokud tým potřebuje víc (průběh, termín, stavy položek), zařaďte před krok Slack vyhledávání Find Intake na stejné intake_id a z jeho výsledku si vytáhněte, co potřebujete.
Zap 4: Prošlý termín → další připomenutí
Cíl: upomínka odejde ve chvíli, kdy termín uplyne, aniž byste termíny hlídali v tabulce.
| Krok | Aplikace | Událost |
|---|---|---|
| Trigger | BriefGate | Intake Overdue |
| Akce | BriefGate | Send Reminder |
Intake Overdue se spustí jednou za sběr podkladů, poprvé, kdy periodická kontrola zjistí, že termín uplynul a povinné položky stále chybí — nese intake_id, project_name, due_date a outstanding_items. Je nezávislý na automatickém rozvrhu upomínek; existuje proto, aby informoval vás, ne klienta, takže teprve spojení s Send Reminder skutečně pošle zprávu ven.
Pole Intake u akce Send Reminder namapujte z intake_id triggeru a zvolte Channel — Email (výchozí) nebo SMS, pokud váš plán má funkci SMS a kredit. Send Reminder je omezen na jednu ruční upomínku za hodinu na jeden sběr podkladů a vrátí „Nothing to chase“, pokud byl sběr mezitím dokončen ještě předtím, než Zap doběhl — obojí stojí za krok Filter nebo ošetření chyby, pokud za ním řetězíte další kroky.
Pasti
- Tajné údaje se do historie Zapu nikdy nedostanou. Get Intake Results vždy posílá
exclude_secrets=true— položka typusecret(heslo nebo API klíč, které klient zadal) se z odpovědi úplně vynechá,metak ní uvedesecret_unavailable: true, místo aby se odhalila a zalogovala v běhu Zapu, který nejde odlogovat zpátky. Hodnoty tajných položek se šifrují na serveru pomocí libsodium sealed box ještě předtím, než se vůbec zapíšou do databáze — nikdy v plaintextu, a nikdy ne „end-to-end“ ani „zero-knowledge“, protože dešifrovací klíč drží samotný BriefGate. Tajnou hodnotu si přečtěte v dashboardu BriefGate, kde se jednorázové odhalení spouští vědomě, ne automaticky. - Samotné
portal_urlportál neotevře. Odpověď Create Intake obsahujeportal_url, ale magic token, kterým se klient skutečně přihlásí, API nikdy nevrací — odchází jen v pozvánkovém e-mailu. Nestavte krok Zapu, který by se zportal_urlsnažil poskládat funkční odkaz pro klienta; není z čeho ho poskládat. - Triggery potřebují
admin, akce a vyhledávání ne. Pokud se Zap nedaří zapnout kvůli chybě oprávnění, skoro vždy jde o tohle — API klíč potřebuje na registraci webhooku, kterou trigger provádí, oprávněníadmin, ne jenintakes:read/intakes:write. - Free plán má strop jeden aktivní sběr podkladů a deset položek. Pokud tohle testujete na Free účtu BriefGate, Create Intake selže, jakmile už máte aktivní sběr podkladů, a sběr s více než deseti položkami se odmítne — obojí uvidíte v historii běhu Zapu jako chybu
plan_requirednebo validační chybu.
Související dokumentace
- BriefGate pro Zapier — připojení účtu, plná reference triggerů, akcí a vyhledávání
- Webhooky — obsah událostí, podepisování, opakování (co je pod kapotou každého triggeru tady)
- Reference REST API — endpointy, které každý krok Zapieru volá