Skip to main content
Morning Brain Starter uses a combination of environment variables and YAML configuration files to manage integrations and customize behavior.

Configuration File Locations

Morning Brain Starter stores configuration in two main locations:

Environment Variables

Location: resources/secrets/.envContains sensitive credentials and API tokens:
  • Google OAuth credentials (Client ID, Secret, Refresh Token)
  • Asana access token (optional)
  • Calendar email override (optional)

YAML Configuration Files

Location: config/ directoryContains service and client configuration:
  • calendar.yaml - Calendar selection
  • email.yaml - Gmail integration settings
  • asana_order.yaml - Task prioritization by day
  • clients.yaml - Client name-to-keyword mapping
Never commit resources/secrets/.env to version control. This file contains sensitive credentials.

Mandatory vs Optional Integrations

Mandatory

Google Calendar integration is required for Morning Brain Starter to function. The tool reads your daily schedule, identifies meetings, and helps you prepare.Required setup:
  • Google Cloud project with Calendar API enabled
  • OAuth 2.0 credentials (Client ID and Secret)
  • Refresh token generated via setup_oauth.py
See Google Calendar Setup for detailed instructions.

Optional

Integrate with Asana to sync tasks and prioritize your daily work.What it enables:
  • Display today’s tasks in morning briefing
  • Task prioritization by day of week
  • Workspace and project filtering
See Asana Integration for setup.
Read recent emails to include in your morning context.What it enables:
  • Recent email summaries
  • Inbox filtering by label
  • Configurable message count and date range
See Gmail Integration for setup.

Configuration Workflow

Follow this recommended workflow to configure Morning Brain Starter:
1

Copy environment template

Copy .env.example to resources/secrets/.env:
mkdir -p resources/secrets
cp .env.example resources/secrets/.env
2

Set up Google Cloud project

Create a Google Cloud project and enable required APIs:
  • Google Calendar API (required)
  • Gmail API (optional)
  • Google Docs API (optional, for reading transcriptions)
  • Google Meet API (optional, for enabling transcriptions)
See Google Calendar Setup for detailed steps.
3

Configure OAuth credentials

Create OAuth 2.0 credentials in Google Cloud Console and add them to .env:
  • GOOGLE_CLIENT_ID
  • GOOGLE_CLIENT_SECRET
Then run the OAuth setup script to generate your refresh token:
.venv/bin/python scripts/setup_oauth.py
4

Configure calendar selection (optional)

Edit config/calendar.yaml to specify which calendars to monitor. If not configured, only your primary calendar is used.
calendars:
  - Work
  - Personal
5

Set up optional integrations

Configure Asana and Gmail if desired:
6

Configure client mappings

Edit config/clients.yaml to map calendar event keywords to client names:
clients:
  acme:
    - acme
  tycho:
    - tycho
See Client Bitácora Configuration for details.
7

Test your configuration

Run the morning routine to verify everything works:
.venv/bin/python run_morning.py

Environment Variable Reference

For a complete reference of all environment variables, see .env.example in the project root or the specific integration pages:

Next Steps

Google Calendar Setup

Set up mandatory Google Calendar integration

Client Configuration

Configure client mappings and bitácoras

Asana Integration

Optional task management integration

Gmail Integration

Optional email integration

Build docs developers (and LLMs) love