Automation & Integration
Scheduled Presence Automation (Contact Center)
Serverless automation for a cloud contact-center platform that automatically enforces "after-hours" agent presence, preventing forgotten sign-ins from skewing on-call routing and reporting.
2 cooperating scheduled functions
Scheduling model
Native, config-driven overrides
DST/timezone handling
Config edit only — no redeploy
Behavior changes require
The Problem
Contact-center agents occasionally stayed signed in (and appearing available for queue routing) past the end of their shift, either intentionally or by forgetting to sign out — and the platform doesn't allow forcing a hard logout programmatically, only changing presence status.
My Approach
- Built two cooperating scheduled functions: one takes a snapshot of every currently logged-in agent and their live routing status at a point in time; the other, at a later configurable time window, re-fetches current state, intersects it against the earlier snapshot, and forces any agent who is still logged in and still in an active-for-routing status to "Away" presence — the strongest state actually available via the API.
- Made the trigger time configurable and DST-safe: schedule evaluation is timezone-aware (resolved via the platform's built-in internationalization API rather than a fixed UTC offset), with support for per-date overrides (e.g., an earlier cutoff on a holiday) without any code change or redeploy.
- Externalized all of that scheduling behavior into a small JSON manifest read at runtime, so behavior can be tuned by editing configuration, not by shipping new code.
- Added retry handling for the third-party API's rate limiting so the automation degrades gracefully under load instead of silently failing.
Stack
Automation
Azure Functions (Node.js, timer triggers)Azure Blob Storage (state/log persistence)Azure Key Vault
Integration
Genesys Cloud API (user/routing status, presence updates)
Practices
Timezone/DST-aware scheduling designConfiguration-driven behavior (externalized JSON manifest)API rate-limit retry handling
Skills Demonstrated
- ▸Serverless, schedule-driven automation design
- ▸Correctly handling timezone and daylight-saving-time edge cases in production scheduling
- ▸Third-party contact-center/API platform integration
- ▸Designing for operability: making recurring behavior changes a configuration edit, not a code deploy