Commit graph

4 commits

Author SHA1 Message Date
Adam Moussa
642d24429c Support weekend day shifts (8am-5pm) alongside after-hours
On weekends, the scheduler now runs twice:
- 8am: routes calls to the day shift person (checks DynamoDB -DAY keys)
- 5pm: switches to the night shift person (existing after-hours logic)

Adds two EventBridge rules for weekend 5pm triggers (EST/EDT).
DynamoDB keys: OVERRIDE SK=<date>-DAY, WEEKLY SK=Saturday-Day/Sunday-Day.
2026-04-07 18:30:39 -04:00
Adam Moussa
e142a71873 Add DynamoDB integration for Slack shift manager overrides
The scheduler now checks the afterhours-shifts DynamoDB table before
falling back to the YAML config. This enables the Slack shift manager
bot to drive schedule changes that take effect at the next 8am run.
Same-day changes are handled by direct Lambda invocation from the bot.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 18:30:33 -04:00
Adam Moussa
cb5817ce95 Fix module import, IAM permissions, and add manual test support
- Fix three_cx_client import path for Lambda packaging
- Expand SSM policy to include parent path and KMS decrypt for SecureString
- Add force flag to bypass 8am schedule check for manual invocations
- Add override_extension payload option for ad-hoc testing
- Update .gitignore for output.json and .DS_Store

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 17:40:58 -04:00
Adam Moussa
dc1d0bfe75 Initial commit: 3CX ring group after-hours scheduler
Lambda + EventBridge that updates ring group 800 forwarding daily at 8am ET.
Uses 3CX V20 XAPI with OAuth2 auth. Dual cron rules for EST/EDT handling.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 17:16:08 -04:00