How quangiscoding/hr-onboarding-appscript works
This Google Apps Script project automates employee onboarding from a Google Sheet: a user selects a row or edits a workflow field, the app validates and normalizes employee data, then sends internal or TA email, or creates a candidate welcome draft with a PDF guide. Separate logging records outcomes. The shown excerpts establish the menu-driven path and workflow dependencies; automatic edit-trigger registration is not shown, so that connection is marked unverified.
Main entry points: main.js Menu Controller · workflows.js Offer Accepted · utils.js Sheet and Drive Helpers · email-templates.js Template Renderer
Components 17
Sheet Entry
- Menu Controller
src/main.js - Input Normalizer
src/normalize-input.js - Edit Classifier
src/normalize-input.js
Onboarding Workflows
- Offer Accepted
src/workflows.js - TA Notification
src/workflows.js - Welcome Draft
src/workflows.js
Email Content
- Template Renderer
src/email-templates.js - HTML Email Views
src/email-templates
Configuration and Logging
- Sheet and Drive Helpers
src/utils.js - Workflow Configuration
src/config.js - Workflow Logs
src/logger.js - Legacy Name Utilities
src/legacy-utils.js
Other components
- Sheet User
- Google Sheets
- Gmail
- Google Drive
- Apps Script HTML Service
Connections 26
- Sheet User → Menu Controller: selects menu
src/main.js - Menu Controller → Google Sheets: reads selection
src/main.js - Menu Controller → Input Normalizer: normalizes row
src/main.js - Input Normalizer → Google Sheets: reads row
src/normalize-input.js - Google Sheets → Edit Classifier: edit event
- Menu Controller → Offer Accepted: dispatches workflow
src/main.js - Menu Controller → TA Notification: dispatches workflow
src/main.js - Menu Controller → Welcome Draft: dispatches workflow
src/main.js - Offer Accepted → Sheet and Drive Helpers: loads recipients
src/workflows.js - Offer Accepted → Template Renderer: builds emails
src/workflows.js - Offer Accepted → Gmail: sends email
src/workflows.js - Offer Accepted → Workflow Logs: records sends
src/workflows.js - TA Notification → Template Renderer: builds email
src/workflows.js - TA Notification → Gmail: sends email
src/workflows.js - TA Notification → Workflow Logs: records send
src/workflows.js - TA Notification → Google Sheets: marks completion
src/workflows.js - Welcome Draft → Sheet and Drive Helpers: loads guide and recipients
src/workflows.js - Welcome Draft → Template Renderer: builds email
src/workflows.js - Welcome Draft → Gmail: creates draft
src/workflows.js - Welcome Draft → Workflow Logs: records draft
src/workflows.js - Sheet and Drive Helpers → Workflow Configuration: reads settings
src/utils.js - Sheet and Drive Helpers → Google Sheets: reads recipients
src/utils.js - Sheet and Drive Helpers → Google Drive: loads PDF
src/utils.js - Template Renderer → Apps Script HTML Service: renders view
- Template Renderer → HTML Email Views: loads template
- Workflow Logs → Google Sheets: appends log rows
src/logger.js