All work
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