Getting Gmail + Calendar access takes about 5 minutes. Follow these steps:
- Go to console.cloud.google.com
- Click "New Project" → name it
chief-of-staff→ Create - Make sure your new project is selected in the top dropdown
- Go to APIs & Services → Library
- Search for and enable:
- ✅ Gmail API
- ✅ Google Calendar API
- Go to APIs & Services → Credentials
- Click "+ Create Credentials" → "OAuth client ID"
- If prompted, configure the OAuth consent screen first:
- User type: External
- App name:
Chief of Staff - Add your email as a test user
- Back in Credentials:
- Application type: Desktop app
- Name:
chief-of-staff - Click Create
- Copy the Client ID and Client Secret
GOOGLE_CLIENT_ID=your_client_id_here.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=GOCSPX-your_secret_hereOn your first run, a browser window will open asking you to authorize the app.
After you approve, a data/google_token.json file is saved — you won't need to authorize again.
python main.py --dry-run- Go to api.slack.com/apps → Create New App
- Choose "From scratch" → name it
Chief of Staff - Go to OAuth & Permissions → add bot token scopes:
chat:writechat:write.public
- Click Install to Workspace → copy the Bot User OAuth Token
- Add to
.env:SLACK_BOT_TOKEN=xoxb-your-token-here SLACK_CHANNEL_ID=C0XXXXXXXXX # Right-click channel → Copy link → last part of URL
# Run at 8:00 AM every day
crontab -e
0 8 * * * cd /path/to/chief-of-staff && python main.py --liveUse Windows Task Scheduler to run python main.py --live at 8:00 AM daily.
# .github/workflows/daily-brief.yml
name: Daily Brief
on:
schedule:
- cron: '0 3 * * *' # 8 AM PKT = 3 AM UTC
jobs:
brief:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: pip install -r requirements.txt
- run: python main.py --live
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
GOOGLE_TOKEN_PATH: data/google_token.json