A hackathon blueprint for building your own AI-powered personal assistant using LangGraph and Slack.
Built by the D3 (Data-Driven-Decisions) Research Group at University of Würzburg.
This repository is an educational starter kit for building conversational AI agents. In 30 minutes, you'll have:
- A Slack bot you can chat with
- An AI agent powered by LangGraph
- A foundation to build your own custom tools
Perfect for hackathons - everyone can build their own tools that extend the agent's capabilities.
| Guide | Description | Time |
|---|---|---|
| Quickstart | Get running in 30 minutes | 30 min |
| How LangGraph Works | Understand graphs, nodes, and state | 15 min read |
| Building Tools | Create your own custom tools | 20 min |
| Slack Setup | Detailed Slack app configuration | 15 min |
| OneDrive Setup | Connect to Microsoft OneDrive | 20 min |
┌─────────────────────────────────────────────────────────────────┐
│ SLACK │
│ (User Interface) │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ LANGGRAPH AGENT │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Input │───▶│ Agent │───▶│ Tools │───▶│ Output │ │
│ │ Node │ │ Node │◀───│ Node │ │ Node │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ TOOLS │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
│ │ OneDrive │ │ Calendar │ │ Web │ │ Your Custom │ │
│ │ Tools │ │ Tools │ │ Search │ │ Tools Here! │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────────┘
LangGraph is a framework for building stateful, multi-step AI agents. Unlike simple chatbots that just send messages to an LLM, LangGraph agents can:
- Use tools - Call APIs, search the web, access files
- Maintain state - Remember context across multiple steps
- Make decisions - Route between different paths based on intent
- Loop - Keep working until a task is complete
Tools are functions the AI can call to interact with the outside world. Examples:
@tool
def search_onedrive(query: str) -> str:
"""Search files in OneDrive."""
# Your code here
return results
@tool
def get_weather(city: str) -> str:
"""Get current weather for a city."""
# Your code here
return weather_infoThe AI decides when to call tools and what arguments to pass.
D3PA/
├── README.md # You are here
├── docs/ # Step-by-step guides
│ ├── 01-quickstart.md # Get running fast
│ ├── 02-how-langgraph-works.md # Understanding LangGraph
│ ├── 03-building-tools.md # Create custom tools
│ ├── 04-slack-setup.md # Slack app setup
│ └── 05-onedrive-setup.md # OneDrive integration
│
├── src/
│ ├── agent/ # LangGraph agent
│ │ ├── graph.py # Graph definition
│ │ ├── state.py # State schema
│ │ └── prompts.py # System prompts
│ │
│ ├── tools/ # Agent tools
│ │ ├── example_tools.py # Example tools to learn from
│ │ └── onedrive.py # OneDrive tools
│ │
│ ├── integrations/ # API clients
│ │ └── onedrive_client.py # OneDrive API wrapper
│ │
│ └── config/ # Configuration
│ └── settings.py # Environment settings
│
├── scripts/
│ └── run_slack_bot.py # Main entry point
│
├── config/
│ └── users.yaml # User mappings
│
├── .env.example # Environment template
└── requirements.txt # Python dependencies
Here are some tools you could build during the hackathon:
- Slack summarizer - Summarize Slack channels and threads
- OneDrive integration - Search and manage OneDrive files
- Personal Notion integration - Connect to your Notion workspace
- Personal Drive integration - Access Google Drive files
- Paper search - Search arXiv, Semantic Scholar
- Paper retrieval - Download and extract paper content
- RAG - Retrieval-augmented generation over documents
- Weather bot - Get weather forecasts
- News summarizer - Summarize top news
- Quiz generator - Generate quiz questions from documents
- LangGraph - Agent framework
- LangChain - Tool definitions and LLM integration
- Anthropic Claude - LLM backend
- Slack Bolt - Slack bot framework
- Microsoft Graph API - OneDrive access
Want to learn more? Check out these resources:
- Intro to LangGraph Course - Free course from LangChain Academy
- Choosing the Right Multi-Agent Architecture - Blog post on multi-agent design patterns
This is a hackathon project! Feel free to:
- Add new tools in
src/tools/ - Improve documentation
- Fix bugs
- Share your creations
MIT License - Use freely for research and education.
Created for the D3 Research Group Hackathon 2025.
Based on patterns from production LangGraph systems, simplified for educational purposes.