General Technical Guide

This guide provides technical documentation for setting up, understanding, and extending the Digital Employee - Project Manager.

The application have two main purposes:

  • Automates Minutes of Meeting (MoM). Below is the workflows:

    • Minutes of Meeting (MoM)

      • Reads meeting data from Meemo (Meemo MCP)

      • Sends MoM emails (Google Mail MCP)

      • Creates & shares Google Docs (Google Drive & Docs MCP)

      • Tracks processed meetings in Google Sheets (Google Sheets MCP)

    • Meeting Scheduling

      • Checks availability and creates events (Google Calendar MCP)

  • Automates Issue Reminder. Below is the workflow:

    • Fetch Github issues from repository.

    • Send emails notification if the issue still open after due dates.

    • Escalate an issue to higher manager if it is still open after a period of time.

    • Track issue and email notification status.

The MoM and Issue reminder worflow runs on a configurable schedule per project, while Meeting Scheduling is invoked on-demand.


How to Setup

Prerequisites

Before starting, ensure you have:

  • Python 3.11 or higher

  • UV package manager (>= 0.6.15) (required by pyproject.toml)

  • Google Cloud SDK (optional; used by Makefile to authenticate to internal repositories when available)

  • Access to AIP (for deployment) and the required MCP services (Meemo + Google MCPs)

Installation Steps

  1. Clone the Repository:

  2. Go to the module directory:

  3. Install dependencies:

    This runs uv sync --extra dev. If gcloud is installed, the Makefile also attempts to inject auth tokens for private package indexes.

  4. Configure environment variables:

    Copy the example environment file and update with your MCP URLs, API keys, and per-project spreadsheet IDs. See Environment Variables for detailed descriptions.

  5. Run an agent locally (optional, for testing):

Deployment

  1. Agent deployment Agent deployment is handled by the Digital Employee team through Continuous Delivery (CD). This process registers the Digital Employee—along with its identity, tools, and configurations—on the AIP platform.

  2. Enable the agent in CATAPA Chat admin dashboard

    1. Log in to the CATAPA Chatarrow-up-right admin dashboard

    2. Create or edit an application

    3. Add DE Project Manager as a supported agent in the application

    4. Click Next to save the configuration

    5. Manage user access to this application

  3. Start using the agent You can now interact with the DE Project Manager via CATAPA Chatarrow-up-right.


Agent Architecture Diagram

The Digital Employee PM uses a single Digital Employee per project. Each Digital Employee includes 3 sub-agents:

  • mom_agent

    • Custom tools for MoM handling (filtering meeting IDs, managing Drive permissions, converting Docs to HTML, filtering emails)

    • MCP connectors for Meemo and Google Workspace

    • One schedule that triggers the automated workflow.

  • scheduling_agent

    • Custom tools for checking calendar availability and creating calendar events.

    • MCP connector for Google Calendar

  • issue_reminder_agent

    • Custom tool to filter Github issues and sending email notification.

    • One schedule that triggers the automated workflow.

spinner

The key idea is: the “project” differences are configuration-only (identity, email, environment suffix, custom cron schedules, and spreadsheet id).

Agent Description

Project Manager Digital Employee (per project)

  • Type: Main deployed Digital Employee

  • Purpose: Orchestrates three main workflows:

    • Automated MoM workflow: fetch → email → create docs → share → track processed meeting IDs

    • Meeting Scheduling: check calendar availability → create calendar events

    • Remind Github Issue: fetch github issues → check last reminder → send email reminder.

  • Model: GPT_5_2_MODEL_NAME (from digital_employee_core)

  • Identity: Pamela✨ {full_project_name}

  • Sub-agents:

    • mom_agent: Retrieves meetings from Meemo and filters unprocessed IDs.

    • scheduling_agent: Checks calendar availability and creates calendar

    • issue_reminder_agent: Send an email reminder for unresolved GitHub issues.

  • Tools:

    • create_filtered_drive_permission_tool: Creates Google Drive permissions with domain/email allowlist filtering.

    • google_docs_to_html_tool: Converts a Google Doc to HTML for downstream processing.

    • send_filtered_email_tool: send emails to recipients that fulfills the provided recipient email filters (e.g. only send to emails with @gdplabs.id).

    • filter_unprocessed_meeting_ids_tool: Filters out already processed meeting IDs.

    • time_tool: Provides time context if needed.

  • MCPs:

    • meemo_mcp

    • google_calendar_mcp

    • google_mail_mcp

    • google_docs_mcp

    • google_drive_mcp

    • google_sheets_mcp

  • Schedules:

    • One schedule item per deployed agent for MoM sub agent customized by DEPM_SCHEDULE_* env vars for that project.

    • One schedule item per deployed agent for Issue Reminder sub agent customized by DEPM_GITHUB_ISSUE_REMINDER_SCHEDULE_* env vars for that project.

Tools Reference

This project composes tools provided by digital_employee_core and MCP connectors:

Component
Purpose

mom_agent

Uses Meemo + filter_unprocessed_meeting_ids_tool to retrieve unprocessed MoMs

scheduling_agent

Uses Google Calendar to check availability and create events

issue_reminder_agent

Uses issue_reminder_tool to check issue last reminder and send email reminder

send_filtered_email_tool

Uses Google Mail to send MoM emails

create_filtered_drive_permission_tool

Filters allowlisted domains and creates Docs folder permissions

google_docs_to_html_tool

Reads content in Google docs and formats it to HTML for email body

filter_unprocessed_meeting_ids_tool

Filters out already processed meeting IDs

time_tool

Provides time context if needed

meemo_mcp

Meeting data source (list meetings, details, summary/MoM)

google_calendar_mcp

Checking availability and scheduling meetings

google_mail_mcp

Sends email through Gmail

google_docs_mcp

Creates Google Docs for MoM documents

google_drive_mcp

Sharing permissions for created docs

google_sheets_mcp

Reads/writes processed meeting IDs in configured spreadsheet


Code Snippet

Below is the core function that creates a Project Manager Digital Employee instance (identity, configs, MCPs, schedule).

See the full source code on GitHubarrow-up-right.

This function:

  1. Validates required environment variables are set.

  2. Loads job instructions from pm_job.md and dynamically formats it.

  3. Builds a DigitalEmployeeJob and DigitalEmployeeIdentity (multi-language enabled).

  4. Loads the required spreadsheet id from env (MOM_SPREADSHEET_ID{_PROJECT}).

  5. Configures tool allowlists and attaches API keys to DigitalEmployeeConfiguration.

  6. Configure issue_reminder_agent.

  7. Attaches the mom_agent, scheduling_agent, and issue_reminder_agent sub-agents.

  8. Create Schedule for sub-agents.

    1. Reads schedule parameters DEPM_SCHEDULE_* from environment variables to create the cron trigger for mom_agent.

    2. Reads schedule parameter DEPM_GITHUB_ISSUE_REMINDER_SCHEDULE_* from environment variables to create the cron trigger for issue_reminder_agent.

  9. Returns an undeployed DigitalEmployee instance constrained by step limits.

Usage Example

Run a project agent module:

Or run via Makefile:


Environment Variables

This section describes all environment variables required to configure the Digital Employee PM.

AIP Configuration

GDP Labs AI Agents Package (AIP)arrow-up-right is the platform where the Digital Employee is deployed.

Variable
Description

AIP_API_URL

Base URL of the AIP platform API

AIP_API_KEY

API key for authenticating AIP

MCP Base URLs (shared, no suffix)

Variable
Description

MEEMO_MCP_URL

Base URL for Meemo MCP

GOOGLE_CALENDAR_MCP_URL

Base URL for Google Calendar MCP

GOOGLE_MAIL_MCP_URL

Base URL for Google Mail MCP

GOOGLE_DOCS_MCP_URL

Base URL for Google Docs MCP

GOOGLE_SHEETS_MCP_URL

Base URL for Google Sheets MCP

GOOGLE_DRIVE_MCP_URL

Base URL for Google Drive MCP

Project-Specific Keys (with suffix)

project_key determines the suffix for env var names. For project_key="CATAPA" → suffix is _CATAPA

Variable pattern
Description

DEPM_EMAIL{_PROJECT}

Required: Employee email address (e.g. DEPM_EMAIL_CATAPA)

MEEMO_MCP_X_API_KEY{_PROJECT}

Meemo MCP API key for the project

GOOGLE_MCP_X_API_KEY{_PROJECT}

Required: Google MCP API key for the project

MOM_SPREADSHEET_ID{_PROJECT}

Required: Google sheets ID for processed meeting storage

GITHUB_PAT{_PROJECT}

Required: Github Personal Access Token with read access to issues.

REPOSITORY_SPREADSHEET_ID{_PROJECT}

Required: Google Spreadsheet ID with list of repository maintained by each project.

REPOSITORY_SPREADSHEET_SHEET_NAME{_PROJECT}

Required: Google Spreadsheet sheet name with list of repository maintained by each project.

ORGANIZATION_SPREADSHEET_ID{_PROJECT}

Required: Google Spreadsheet ID with list of organization structure and Github username.

ORGANIZATION_SPREADSHEET_SHEET_NAME{_PROJECT}

Required: Google Spreadsheet sheet name with list of organization structure and Github username.

STATE_SPREADSHEET_ID{_PROJECT}

Required: Google Spreadsheet ID to store the notification state and history.

STATE_SPREADSHEET_SHEET_NAME{_PROJECT}

Required: Google Spreadsheet sheet name to store the notification state and history.

DEPM_SCHEDULE_MINUTE{_PROJECT}

Schedule Minute setting for the mom_agent Cron

DEPM_SCHEDULE_DAY_OF_WEEK{_PROJECT}

Schedule Day of Week setting for the mom_agent Cron

DEPM_GITHUB_ISSUE_REMINDER_SCHEDULE_MINUTE{_PROJECT}

Schedule Minute setting for the issue_reminder_agent Cron

DEPM_GITHUB_ISSUE_REMINDER_SCHEDULE_HOUR{_PROJECT}

Schedule Hour setting for the issue_reminder_agent Cron

DEPM_GITHUB_ISSUE_REMINDER_SCHEDULE_DAY_OF_WEEK{_PROJECT}

Schedule Day of Week setting for the issue_reminder_agent Cron

There are also configuration sets for HOUR, DAY_OF_MONTH, and MONTH per <PROJECT_KEY> for scheduling.

Concrete examples (from .env.example):

  • MEEMO_MCP_X_API_KEY_CATAPA

  • GOOGLE_MCP_X_API_KEY_GLAIR

  • MOM_SPREADSHEET_ID_DSO

Tool Configs

Variable
Description

DEFAULT_RECIPIENT_FILTER

Default recipient filter for Send Filtered Email Tool

AGENT_MAX_STEPS

Maximum steps allowed for the agent to execute


References

Last updated