-
GeminiHelper
Interface frozen
Wraps the Gemini API: prompt template substitution, structured JSON output parsing and automatic retries, so no sample hand-rolls a model call.
const reply = GeminiHelper.ask(prompt, { jsonOutput: true });
-
PDFGenerator
Interface frozen
Batch PDF export: give it a Docs template ID, a keyword map and a target Drive folder ID, and it returns the file URL.
const pdfUrl = PDFGenerator.createFromTemplate(templateId, dataMap, folderId);
-
FormToDocEngine
Interface frozen
Renders a Google Docs template by replacing its variables in one pass, then hands the result to PDFGenerator. One engine covers quotes, invoices, contracts and certificates.
FormToDocEngine.render(templateId, { Name: 'Tommy' });
-
TelegramNotifier / DiscordNotifier
Interface frozen
One line pushes rich text, a table or a button message to a bot — no rebuilding the UrlFetchApp payload for every sample that needs an alert.
TelegramNotifier.sendAlert(botToken, chatId, 'Low stock alert!');
-
A Google Sheet used as a lightweight database: insert(), update() and find() work by header name, never by column index, so a renamed or inserted column cannot silently break a script.
SheetDB.insert('Users', { name: 'Tommy', status: 'Active' });
-
GmailDrip
Interface frozen
Sending without getting the account flagged: randomised delay between messages, a daily quota check before every batch, and a per-contact send log.
GmailDrip.drip(campaignId);
-
GmailParser
Interface frozen
Finds mail by label or query, pulls values out of the body with regex (order numbers, amounts), and reads .csv or .xlsx attachments as text.
const csvData = GmailParser.getLatestAttachmentData('from:stripe.com', 'csv');
-
AuthHelper
Interface frozen
Request signing and API authentication: HMAC-SHA256 and Base64 helpers for the Shopee / Shopify / Stripe style signature schemes, so the crypto is written once instead of every project.
const headers = AuthHelper.sign(payload, apiSecret);
-
CacheManager
Interface frozen
Wraps CacheService and PropertiesService to hold tokens, configuration and sync watermarks, which keeps high-frequency jobs inside the daily quotas and makes a second run cheap.
CacheManager.getOrSet('fx_rate', () => fetchRate(), 3600);
-
WebHookHandler
Interface frozen
A GAS web app as a receiving end: routes a JSON payload by event and writes it to the sheet, which lets Stripe payments, Shopify orders or an approve/reject click land without a server.
WebHookHandler.on('stripe.paid', handler);
-
CalendarChecker
Interface frozen
Free/busy lookup that never double-books: give it a calendar, a window and a meeting length, and it returns the slots that are actually free.
const slots = CalendarChecker.freeSlots(calId, from, to);
Delivery isolation: the libraries stay with the studio and are referenced by script ID. What you receive is
your own entry script, your sheets and your templates — you are never locked out of the automation, and
nobody else's customer data ever sits in the same file.