Technical Guide
This guide provides technical documentation for setting up, understanding, and extending the Digital Employee - Datasaur Project Manager.
The application retrieves and stores information from Slack and Google Mail into Notion for Datasaur in response to user queries:
Knowledge Retrieval: Search and retrieve stored information from Notion based on user queries
Information Ingestion: Store information, messages, and threads from Slack and Gmail directly into Notion
Notifications: Optionally post summaries to Slack channels or send email distributions via Google Mail
How to Setup
Prerequisites
Before starting, ensure you have:
Python 3.11 or 3.12
UV package manager (>= 0.6.15)
Google Cloud SDK (optional; used by
Makefileto authenticate to internal repositories when available)Access to AIP (for deployment) and the required MCP services (Notion, Slack, and Google Mail MCPs)
Installation Steps
Go to the module directory:
cd common/applications/digital-employee-pm-datasaurInstall dependencies:
make installThis 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 project configurations. See Environment Variables for detailed descriptions.
cp .env.example .envRun an agent locally (optional, for testing):
# Run the datasaur agent make run AGENT=datasaur
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 Datasaur 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 Datasaur via CATAPA Chat.

Agent Architecture Diagram
The Digital Employee PM Datasaur uses a single Digital Employee. It does not use sub-agents and relies on direct MCP connectors and built-in tools.
Custom tools for sending filtered emails, slack notifications, date/time operations.
MCP connectors for Notion, Slack, and Google Mail.
The key idea is: the “project” differences are configuration-only (identity, email, environment suffix, and API keys).
Agent Description
Datasaur Project Manager Digital Employee
Type: Main deployed Digital Employee
Purpose: Knowledge Aggregation system that retrieves and stores information from Slack and Google Mail into Notion in response to user queries.
Model:
GPT_5_2_MODEL_NAME(fromdigital_employee_core)Identity:
DE_NAME {full_project_name}(fromdigital_employee_pm_datasaur.agents.identity.constants)Tools:
send_filtered_email_tool: Sends emails while optionally filtering recipients by suffix.send_slack_notification_tool: Post messages to specific specified Slack channels.time_tool: Provides time context if needed by user query.date_range_tool: Provides time context if needed by user query.iso8601_date_to_unix_epoch_tool: Converts time to Unix epoch seconds, required by theslack_conversations_historytool.
MCPs:
notion_mcpslack_mcpgoogle_mail_mcp
Tools Reference
This project composes tools provided by digital_employee_core and MCP connectors:
send_filtered_email_tool
Sends emails while optionally filtering recipients by suffix
send_slack_notification_tool
Sends a Slack notification message to a specified channel using the Slack MCP
date_range_tool
Provides time context if needed by user query
time_tool
Provides time context if needed by user query
iso8601_date_to_unix_epoch_tool
Converts time to Unix epoch seconds, required by the slack_conversations_history tool
notion_mcp
Search, retrieve, and store information from/to Notion
slack_mcp
Fetch messages and threads from Slack
google_mail_mcp
Sends email via Gmail and fetches emails
Code Snippet
Below is the core function that creates a Project Manager Datasaur Digital Employee instance (identity, configs, MCPs).
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).Configures tool allowlists and attaches API keys to
DigitalEmployeeConfiguration.Attaches the built-in custom tools and MCPs (Notion, Slack, Google Mail).
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 Datasaur.
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)
NOTION_MCP_URL
Base URL for Notion MCP
SLACK_MCP_URL
Base URL for Slack MCP
GOOGLE_MAIL_MCP_URL
Base URL for Google Mail MCP
Project-Specific Keys (with suffix)
project_key determines the suffix for env var names. For project_key="DATASAUR" → suffix is _DATASAUR.
DEPM_EMAIL{_PROJECT}
Required: Employee email address (e.g. DEPM_EMAIL_DATASAUR)
NOTION_MCP_X_API_KEY{_PROJECT}
Notion API key for the project
SLACK_MCP_X_API_KEY{_PROJECT}
Slack API key for the project
GOOGLE_MCP_X_API_KEY{_PROJECT}
Google Mail API key for the project
Concrete examples (from .env.example):
NOTION_MCP_X_API_KEY_DATASAURSLACK_MCP_X_API_KEY_DATASAURDEPM_EMAIL_DATASAUR
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