Inspiration

"Laziness drives efficiency" I have always wondered when i could automate my ETL on 1 billion + records then why cant some simple but repetitive things be automated which not only save time but also reduce friction and Make Life Easy, Yes this is where the inspiration for the name comes from.

HERE IS OUR AGENT (agent1qt5n0udpwzuh5pykue2ejzunpnsguwdyd4zkcszy2genukq6q2rm5jg0npc)

Things like context-switching. Check Gmail → switch to Calendar → jump to Notion → open Jira → check GitHub. Every task meant bouncing between five different tools, copying information by hand, and losing our train of thought.

We wondered: what if you could just ask for what you need and have it actually happen? Not a chatbot that gives you links—an AI that sends the email, schedules the meeting, creates the task.

MakeLifeEasy turns scattered developer intent into coordinated execution across Gmail, Calendar, Notion, Jira, and GitHub—through a single natural-language conversation.

What it does

Ask it things like:

  • "Plan my day" — pulls Gmail + Calendar + Notion + Jira + GitHub in parallel, synthesizes a prioritized plan with specific recommendations all of this is driven by the intelligence of AI and the personalization of a human being.

  • "Move my Demo Prep meeting to 2pm tomorrow" — what it does ? it looks at your schedule it determines that the meeting can or cant be moved and then it takes a decision grounded on rules and truth.

  • "Send Priya a quick note saying I'll have the Q2 review by Friday" — actually drafts and sends the email to priya@example.com

  • "Which Jira issue should I close first?" — picks one by name, explains why based on priority and blockers

  • "Add a Notion task to update screenshots, high priority, due tomorrow" — actually creates the task

It reasons over real data, takes real actions, and confirms in real time.

The possibility here is unlimited you can add as many agents to the main agent and this multi agent system will grow horizontally.

**Capabilities (live and tested), Possibility ? unlimited :

Integration Read Create Update Delete Send
Gmail ✅ inbox + search ✅ draft + send
Google Calendar ✅ (by id or title) ✅ (by id or title)
Notion ✅ tasks ✅ tasks
Jira ✅ assigned issues ✅ issues
GitHub ✅ PR review requests + notifications
Day Plan ✅ parallel fetch from all 5 sources, synthesized via Claude

How we built it

Stack:

  • Python 3.12 — agent runtime
  • uAgents (Fetch.ai) — agent identity, Chat Protocol, Agentverse registration
  • LangGraph + LangChain Core — internal workflow orchestration
  • Anthropic Claude — intent classification + reasoning + response formatting
  • Direct REST API calls — Gmail, Calendar, Notion, Jira, GitHub (no SDKs, we control the entire flow)

Architecture:

ASI:One (or any Chat Protocol surface) │ ▼ ┌────────────┐ │ MakeLifeEasy │ ← single uAgent, registered on Agentverse └──────┬───────┘ │ ▼ ┌──────────────────────┐ │ LangGraph workflow │ │ classify → route │ │ tool → format │ └──────┬────────────────┘ │ ├──→ Gmail (fetch / search / draft / send) ├──→ Calendar (fetch / create / update / delete) ├──→ Notion (fetch / create) ├──→ Jira (fetch / create) ├──→ GitHub (PRs + notifications) └──→ Day Plan (parallel fan-out across all)

State flow:

  1. Classify — Claude analyzes user input and decides which tool to invoke
  2. Route — LangGraph conditional edge sends state to the chosen tool node
  3. Tool — Calls the real third-party API, stores result in state
  4. Format — Claude renders tool result as a conversational response

Plus:

  • Temporal awareness — Claude gets current local + UTC time on every call for accurate timestamp rendering ("just now", "30 minutes ago")
  • Prompt injection defense — input sanitization blocks classic injection patterns
  • Output sanitization — leaked credentials are redacted before reply
  • Per-user conversation history — last few exchanges stored in-memory for context

Multi-agent narrative: We also built three specialist uAgents (daybreak_hello, daybreak_notion, daybreak_planner) registered independently on Agentverse to demonstrate the multi-agent pattern—each discoverable via ASI:One.

Challenges we ran into

1. Google OAuth is a maze

Getting Gmail + Calendar working required:

  • Creating a Google Cloud project
  • Configuring OAuth consent screen
  • Adding the right scopes
  • Using the OAuth Playground to exchange tokens
  • Storing refresh tokens (not access tokens—those expire)

One wrong scope and the whole flow breaks. We spent 3 hours on this alone.

2. Notion API versioning hell

Notion released a 2025-09-03 API revision that renamed /databases/{id}/query to /data_sources/{id}/query. The official Python SDK broke. We had to:

  • Call the API directly via httpx
  • Auto-detect which endpoint to use by inspecting database metadata
  • Pin Notion-Version: 2022-06-28 for backward compatibility

3. Calendar event updates by title

Users don't remember event IDs—they say "move my Demo Prep meeting." We had to:

  • Fetch all upcoming events
  • Fuzzy-match the title
  • Handle multiple matches gracefully

4. LangGraph state management

Making sure tool results flow correctly through the graph without losing context or hitting infinite loops required careful edge design and state typing.

5. Temporal awareness

Claude would say "this email is from 3 days ago" when it was actually from 20 minutes ago because it didn't know the current time. We fixed this by injecting local + UTC timestamps into every prompt.

Accomplishments that we're proud of

It actually works. Not a demo—real emails sent, real meetings scheduled, real tasks created.

Five integrations in 48 hours. Gmail, Calendar, Notion, Jira, GitHub—all connected, all tested.

Temporal-aware responses. "Just now", "30 minutes ago", "yesterday"—no more timestamp confusion.

Prompt injection defense. Input sanitization catches classic attacks before they reach Claude.

Multi-agent architecture.

Built With

  • fetchai
  • gmailapi
  • googlecalenderapi
  • high-priority
  • jira
  • langgraph
  • notionapi
  • python
Share this project:

Updates