Open
Conversation
Implements automated onboarding/offboarding workflows: Services: - GitHubService: Org invitations, team management, username validation - CalendarService: Google Calendar sharing with configurable permissions - ImageService: Hand-drawn green border processing for profile photos - BioService: Claude API integration for bio editing to CDL style Handlers: - /cdl-onboard command with interactive forms - Admin approval workflow with team selection - /cdl-offboard command (generates checklist, doesn't auto-remove) Tests: - Model tests (13 passing) - Image service tests (19 passing) - GitHub service tests (requires API token) - Bio service tests (requires Anthropic key) See issue #181 for full implementation plan. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Documents setup process, usage, and architecture. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Fix UTF-8 encoding in test_bio_service.py special chars test - Fix test_github_service.py to access org property for validation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
slack-bolt doesn't have view_regex method, use app.view() with re.compile() instead. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
The file had embedded binary control characters that made it display incorrectly. Rewrote with clean UTF-8 text. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add workflow_listener.py to listen for "Join the lab!" workflow output messages sent to admin, parse form data, and create interactive approval forms - Add workflow_step.py with optional custom workflow steps for advanced integration - Update approval.py with workflow-specific approval/reject/request-changes handlers - Add workflow link to lab_manual.tex so new members can click to start onboarding - Update README with Workflow Builder integration documentation The bot now supports two onboarding methods: 1. Member-initiated via "Join the lab!" workflow (recommended) 2. Admin-initiated via /cdl-onboard @user command 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Website Integration: - Add WebsiteService for GitHub API operations on contextlab.github.io - Create/update PRs for people.xlsx, photos, and CV entries - Support all role types (Grad, Undergrad, Postdoc, Lab Manager, etc.) - Add website approval handlers with preview/edit modals Idempotency Fixes: - Check for existing members in people.xlsx before adding - Check for existing CV entries before inserting - Check alumni sheets before adding departing members State Persistence: - Add storage.py for JSON-based request persistence - Requests now survive bot restarts Startup Queue: - Scan admin DM history on startup for missed submissions - Track processed message timestamps - Add "Reprocess Now" and "Dismiss" buttons for missed items Documentation: - Add "Onboarding and offboarding" section to lab_manual.tex 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements a Slack bot for automating the CDL lab member onboarding and offboarding process.
Features
Onboarding (
/cdl-onboard @user)Offboarding (
/cdl-offboard)Implementation Details
Files Added
Test plan
/cdl-pingcommandCloses #181
🤖 Generated with Claude Code