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 Makefile to authenticate to internal repositories when available)

  • Access to AIP (for deployment) and the required MCP services (Notion, Slack, and Google Mail MCPs)

Installation Steps

  1. Go to the module directory:

    cd common/applications/digital-employee-pm-datasaur
  2. Install dependencies:

    make install

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

  3. 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 .env
  4. Run an agent locally (optional, for testing):

    # Run the datasaur agent
    make run AGENT=datasaur

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 Datasaur 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 Datasaur via CATAPA Chatarrow-up-right.


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 (from digital_employee_core)

  • Identity: DE_NAME {full_project_name} (from digital_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 the slack_conversations_history tool.

  • MCPs:

    • notion_mcp

    • slack_mcp

    • google_mail_mcp

Tools Reference

This project composes tools provided by digital_employee_core and MCP connectors:

Component
Purpose

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 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. Configures tool allowlists and attaches API keys to DigitalEmployeeConfiguration.

  5. Attaches the built-in custom tools and MCPs (Notion, Slack, Google Mail).

  6. 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 Datasaur.

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

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.

Variable pattern
Description

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_DATASAUR

  • SLACK_MCP_X_API_KEY_DATASAUR

  • DEPM_EMAIL_DATASAUR

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