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
Makefileto authenticate to internal repositories when available)Access to AIP (for deployment) and the required MCP services (Meemo + Google MCPs)
Installation Steps
Clone the Repository:
Go to the module directory:
Install dependencies:
This runs
uv sync --extra dev. Ifgcloudis installed, the Makefile also attempts to inject auth tokens for private package indexes.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.
Run an agent locally (optional, for testing):
Deployment
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.
Enable the agent in CATAPA Chat admin dashboard
Log in to the CATAPA Chat admin dashboard
Navigate to the Application settings
Create or edit an application
Add DE Project Manager as a supported agent in the application
Click Next to save the configuration
Manage user access to this application

Start using the agent You can now interact with the DE Project Manager via CATAPA Chat.

Agent Architecture Diagram
The Digital Employee PM uses a single Digital Employee per project. Each Digital Employee includes 3 sub-agents:
mom_agentCustom 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_agentCustom tools for checking calendar availability and creating calendar events.
MCP connector for Google Calendar
issue_reminder_agentCustom tool to filter Github issues and sending email notification.
One schedule that triggers the automated workflow.
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(fromdigital_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 calendarissue_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_mcpgoogle_calendar_mcpgoogle_mail_mcpgoogle_docs_mcpgoogle_drive_mcpgoogle_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:
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 GitHub.
This function:
Validates required environment variables are set.
Loads job instructions from
pm_job.mdand dynamically formats it.Builds a
DigitalEmployeeJobandDigitalEmployeeIdentity(multi-language enabled).Loads the required spreadsheet id from env (
MOM_SPREADSHEET_ID{_PROJECT}).Configures tool allowlists and attaches API keys to
DigitalEmployeeConfiguration.Configure
issue_reminder_agent.Attaches the
mom_agent,scheduling_agent, andissue_reminder_agentsub-agents.Create Schedule for sub-agents.
Reads schedule parameters
DEPM_SCHEDULE_*from environment variables to create the cron trigger formom_agent.Reads schedule parameter
DEPM_GITHUB_ISSUE_REMINDER_SCHEDULE_*from environment variables to create the cron trigger forissue_reminder_agent.
Returns an undeployed
DigitalEmployeeinstance 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) is the platform where the Digital Employee is deployed.
AIP_API_URL
Base URL of the AIP platform API
AIP_API_KEY
API key for authenticating AIP
MCP Base URLs (shared, no suffix)
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
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, andMONTHper<PROJECT_KEY>for scheduling.
Concrete examples (from .env.example):
MEEMO_MCP_X_API_KEY_CATAPAGOOGLE_MCP_X_API_KEY_GLAIRMOM_SPREADSHEET_ID_DSO
Tool Configs
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