Some checks failed
CI / verify (push) Has been cancelled
Weekday 10am Eastern cron exports all Webex Calling locations whose name starts with "Store" to a legacy-format CSV (+E164,Store XXXX), diffs against the previous baseline, and posts the file plus a change summary to a configured Webex space. - src/webex/storePhones.js: paginated GET /telephony/config/locations - src/services/storePhoneExport.js: CSV format, filename, diff, message - src/webex/messages.js: bot-token multipart POST /messages with file - src/jobs/storePhoneExport.js + cron in src/index.js - scripts/exportStorePhones.js for manual runs (npm run export-store-phones) - Persist baseline + archives under data/store-phone-export/ (gitignored) - Dockerfile: create /app/data for volume mount in prod - CI: align node-version with Dockerfile (20) Co-authored-by: Cursor <cursoragent@cursor.com>
52 lines
2.1 KiB
Text
52 lines
2.1 KiB
Text
# Copy this file to .env and fill in real values.
|
|
# .env is git-ignored. NEVER commit real secrets.
|
|
|
|
# --- Webex bot (webex-node-bot-framework) ---
|
|
WEBEX_BOT_TOKEN=your-webex-bot-token
|
|
WEBEX_BOT_NAME=AEO Call Provisioning
|
|
WEBEX_BOT_USERNAME=aeoCallProvisioning@webex.bot
|
|
WEBEX_BOT_ID=your-webex-bot-id
|
|
|
|
# --- Webex service account (integration used for admin API calls) ---
|
|
WEBEX_SVC_CLIENT_ID=your-webex-integration-client-id
|
|
WEBEX_SVC_CLIENT_SECRET=your-webex-integration-client-secret
|
|
|
|
# Path to the JSON file that persists the service-account access/refresh tokens.
|
|
# Created and rewritten automatically by the token-refresh cron.
|
|
WEBEX_TOKEN_STORE=./config/wbxTokens.json
|
|
|
|
# --- Twilio (phone number validation) ---
|
|
TWILIO_ACCOUNT_SID=your-twilio-account-sid
|
|
TWILIO_AUTH_TOKEN=your-twilio-auth-token
|
|
|
|
# --- Store Info Web (SIW) ---
|
|
# SIW requests are proxied through the on-prem remote agent (see WS_* below),
|
|
# so the base URL and credentials are forwarded to the agent per-request. This
|
|
# bot never talks to SIW directly.
|
|
SIW_BASE_URL=https://storeinfoweb-prod.ae.com
|
|
SIW_USERNAME=your-siw-user
|
|
SIW_PASSWORD=your-siw-password
|
|
|
|
# --- Remote agent WebSocket bridge ---
|
|
# This bot listens on WS_PORT; the on-prem agent (a second instance of the
|
|
# netanalyzer remoteAgent.js) dials in with WS_URL=wss://.../ and this token
|
|
# as its Bearer credential. Rotate WS_TOKEN with any high-entropy string.
|
|
WS_PORT=8080
|
|
WS_TOKEN=change-me-to-a-long-random-string
|
|
|
|
# --- Google ---
|
|
# Simple REST API key used by Address Validation + Time Zone endpoints.
|
|
# All Google calls are proxied through the on-prem remote agent (see WS_*
|
|
# above) so requests originate from the IP subnet the key allow-lists.
|
|
GOOGLE_API_KEY=your-google-api-key
|
|
|
|
# --- Runtime ---
|
|
NODE_ENV=production
|
|
LOG_LEVEL=info
|
|
|
|
# --- Daily store phone export (weekdays 10:00 AM Eastern) ---
|
|
# Webex room/space ID to post the CSV into. The bot must be a member of
|
|
# this space. Leave unset to disable the scheduled export.
|
|
# STORE_PHONE_EXPORT_ROOM_ID=your-webex-room-id
|
|
# STORE_PHONE_EXPORT_TIMEZONE=America/New_York
|
|
# STORE_PHONE_EXPORT_DATA_DIR=./data/store-phone-export
|