Select any promo block to see details, invite sellers, track submissions, and view rules.
{{promoName}}) —
they're automatically replaced with the promo's details when the invite goes out.
{thisURL}?promo={promoId}. Sellers click, land on the form, pick their store, and submit.
apps-script-Code.gs in your outputs folder for the server code and deploy instructions.
Category_Manager on the Zoho Deals module (each seller's active deal record), resolved against the Users module for full names. No list to maintain here — if you want someone added, assign them to a seller's deal in Zoho and they'll appear on next refresh. If a CM leaves and their deals are reassigned, they drop off automatically.
InviteSentBy in the export for audit.
Sellers module.
It's not a static snapshot — every time you open the tool (or click Refresh) it re-queries Zoho for all records where Status = Active / Onboarded.
The prototype already does the full CM-side flow: pick a promo, tick the sellers you want, click send. In production the same UI drives three pieces of automation — Gmail outbound, a tokenised seller form, and a Google Sheet that becomes the single source of truth. The current build uses mailto: (which opens a pre-filled Gmail compose window in your browser) so you can test the pattern today without IT involvement. The arrows below show the production version.
Option A · mailto: (works right now, no IT required). Clicking "Send via Gmail" opens Gmail compose in your browser with the recipients, subject and body already filled in. You click send. Fine for small batches (<50 recipients) — Gmail caps the BCC line length, so we split into batches if needed. This is what the current prototype does.
Option B · Gmail API via Apps Script (full automation). A ~50-line Google Apps Script deployed as a web app, authorised against your Kogan Google account. This dashboard POSTs the recipient list + promo details to the Apps Script, which sends each invitation personalised (not BCC'd), logs delivery, and writes the invite record to your sheet. Setup takes about half a day. No external infrastructure — runs entirely inside Google.
You already have a master promo sheet. We add two tiny pieces of plumbing:
doPost(e) handler. It receives JSON (promo id, seller id, SKU rows) and appends to the right tab. ~30 lines of code.The same Apps Script also exposes a doGet(e) returning current submission status, which is what this dashboard polls every 60s to update the Status view. The sheet stays your system of record — the dashboard is just a nicer view over it.
mailto:. Pilot with 5–10 sellers on one upcoming promo.