Operations Guide

Operations manual for EAP Widget data management using Google Spreadsheets.
For operations administrators.

Spreadsheet Structure

Spreadsheet Purpose Recommended Access
EAP_Admin Tenant Management Administrators only
EAP_Forms Form Submission Data Response staff

Tenant Management

Manage access tokens for contracted companies.

Tenant Management Sheet

Token Name Brand Expires At Active Note
xx-xK9mN2pQ7rAbCd ABC Company {brand} 2026-01-15 TRUE Initial contract
xx-yL3oP5qR8sTuVw DEF Corp {brand} 2025-12-31 TRUE
  • Token: Access token (brand code + alphanumeric)
  • Name: Company name
  • Brand: Brand ID
  • Expires At: Expiration date (YYYY-MM-DD format)
  • Active: TRUE/FALSE (FALSE entries are not synced)

Operating Procedures

New Contract

  1. Add a new row to the tenant management sheet
  2. Generate and enter a token
  3. Menu "EAP Widget" → "Sync Tenant Info"

Contract Renewal

  1. Update the Expires At for the relevant row
  2. Run sync

Cancellation

  1. Change Active to FALSE for the relevant row
  2. Run sync

Token Generation

Run the following in your browser console (F12):

const brandCode = 'xx'; // Your brand code
const body = Array.from(crypto.getRandomValues(new Uint8Array(12)))
  .map(b => b.toString(36).padStart(2, '0').slice(-1))
  .join('').slice(0, 14);
const token = brandCode + '-' + body;
console.log(token);

Alternatively, use a password generator (16 alphanumeric characters) and prepend the brand code.

Reviewing Submission Data

Form Submission Sheet

Column Content
IDUnique identifier
TimestampSubmission date/time
Form TypeForm category
TokenSubmitting company's token
NameName
EmailEmail address
ContentConsultation content

Form Types

ID Name
soudanEmail Consultation
complianceHarassment Report/Consultation
executiveExecutive/Manager Consultation
counselingCounseling Appointment

Chat Log Sheet

AI consultation conversation history is recorded.

Column Content
Session IDSession ID
User MessageUser's message
Assistant MessageAI response

Stress Check Results Sheet

Column Content
A: Physical/Mental Stress ResponseAssessment result (%)
B: Work StressorsAssessment result (%)
C: Support from OthersAssessment result (%)
D: Job SatisfactionAssessment result (%)
AI AnalysisAI-generated advice

Troubleshooting

Data not being recorded

  • Check spreadsheet access permissions
  • Check Apps Script execution logs for errors

Sync failing

  • Verify "Sync Destination" sheet settings
  • Confirm Sync Key matches server-side configuration

Email notifications not arriving

  • Verify notification email address is correct
  • Be aware of daily send limits (Free: 100 emails)

Related Documentation