DEV Community

Cover image for Meet Zhu Li: The AI Agent That Manages Your Notion Workspace From Any Channel

Meet Zhu Li: The AI Agent That Manages Your Notion Workspace From Any Channel

Miracleio on March 28, 2026

This is a submission for the Notion MCP Challenge Here's how a typical interaction looks: Me: hey, I just deployed a fix for the paymen...
Collapse
 
ashihamaheshkumar profile image
Ashiha Mahesh Kumar

Hey, even though you didn’t end up winning, I just wanted to say this was a really impressive submission .I’m a fellow participant and built DueIt, an AI-based to-do list that goes beyond just tasks. I genuinely loved your idea and especially your presentation . Honestly, I learned a lot about presenting better just by going through your submission. Would love to connect or maybe collaborate in the future!

Collapse
 
miracleio profile image
Miracleio

Hi!
That's incredibly nice of you! I'm happy you loved the idea and presentation. I just try to make sure the presentation reflects the amount of work put into building the project.

I'd be happy to connect and collaborate. My socials are on github.com/miracleonyenma

Collapse
 
ashihamaheshkumar profile image
Ashiha Mahesh Kumar

Hey, really appreciate that and yeah, it definitely shows in your work. The clarity in your presentation stood out a lot. I’ve actually started working on Version 2 of my project, trying to take it beyond the hackathon version and refine the system further with more features. Would love to get your thoughts on it once I have a more polished version ready, I think your approach to building and presenting would really help me level it up.

Thread Thread
 
miracleio profile image
Miracleio

Thanks so much man. That means so much.
I'm exited for you on your new project. Let me know when its ready so I can check it out!
I tried visiting this one I found on GitHub - dueit.vercel.app/ but it looks like its down.

Best of luck! Happy Coding!

Thread Thread
 
ashihamaheshkumar profile image
Ashiha Mahesh Kumar

Hey, sorry for the late reply — completely lost track of this!

Thank you for checking out DueIt. Yeah the Vercel deployment is down, I'm rebuilding it from scratch with a better stack. Would love your feedback when it's ready.

Would be great to connect — here's my LinkedIn: linkedin.com/in/ashihams

Also if you're open to it, I'd love to pick your brain sometime. I've done 4 hackathons back to back and haven't won any. The projects work technically but I keep missing something. Would really appreciate a fresh perspective from someone who clearly knows how to build clean experiences.

No pressure at all — even a quick chat would mean a lot!

Collapse
 
tammibriggs profile image
Taminoturoko Briggs

Cool stuff!
What I really want to know now is how did you come up with the name Zhu Li. Its smooth.

Collapse
 
miracleio profile image
Miracleio

Lol 😂
Thanks man.

I watch too many movies I guess. Funny enough, the first name that came to mind was Darcy - Jane Foster's assistant (From Thor) but I had already used that name for a different project.

Collapse
 
mrlinuncut profile image
Mr. Lin Uncut

the name 'Zhu Li' is such a good pick for this lol, love when devs put personality into their tools instead of just calling it 'NotionBot' or whatever... how are you handling auth across different channels bc that seems like the tricky part rn

Collapse
 
miracleio profile image
Miracleio

Lol 🤣
Thanks, I'm really glad you think so. As far the channel auth, I took a simple approach really. For telegram for example, after you create your bot in bot father and provide your bot token, you message your bot and it detects that message, gets your chat id and links it to your account.
iMessage with Blooio, uses an API and webhook signing secret from Blooio to link to your account

Collapse
 
harsh2644 profile image
Harsh

The dedup agent is the piece most tools skip entirely and it's probably the one that matters most in practice. Bug reports are messy. The same issue comes in five different ways from five different people, and without dedup you end up with a bloated backlog where the signal is buried under noise. Incrementing affectedCount instead of creating duplicates is exactly the right call it also gives you severity signal that pure ticket count never captures.

The MCP-to-MCP architecture is worth calling out separately. Zhu Li consuming Notion MCP while also exposing its own MCP server means it can sit in the middle of a much larger tool chain Claude Desktop calling Zhu Li, Zhu Li calling Notion. That's not just a feature, that's a composability decision that most agent projects don't think about at this stage.

One thing I'm curious about: how does the triage agent handle ambiguous severity? Like if someone texts the checkout button is a bit slow sometimes is that medium or low? Does the model lean on the existing Issues database conventions to calibrate, or is it mostly working from the system prompt?

Collapse
 
miracleio profile image
Miracleio

I'm really happy you made that observation @harsh2644 !
I thought it was very important to add deduplication early on because its what we see a lot in real world applications one bug can lead to multiple users complaining about the same thing, so its important we consolidate that the best we can in order to avoid noise.

As for the MCP-to-MCP architecture, I wanted Zhu Li to be able to give Notion MCP context it might not already have when interacting with your workspace. I'm glad you noticed that decision.

It would be really cool to have the triage agent lean on the existing issues database as you mentioned. That would make it smarter, but for now and to keep it lean, it is mostly working from the system prompt.

Thanks for the really detailed feedback! I appreciate it!

Collapse
 
mads_hansen_27b33ebfee4c9 profile image
Mads Hansen

iMessage as the interface for a Notion assistant is a genuinely clever UX choice — you meet people where they already are rather than asking them to open another app.

The latency question is interesting: how does it feel in practice? iMessage has delivery guarantees but not speed guarantees, and a slow LLM response in a chat context feels much worse than the same delay in a web app.

Collapse
 
miracleio profile image
Miracleio

Thank you for the nice words! I agree, iMessage really is a convenient user experience.
As for the latency, although I was able to build out two ways to connect with iMessage - Blue bubbles and Blooio, I could only test with Blooio.

It felt really slow at first and then I realised that it wasn't sending back updates like reasoning and tool calls while it was working.

After I added that, although wasn't lightning fast, it felt better without the long delays.
I still will need to make improvements though, it's not as fast as I would like.

Collapse
 
azubuikeduru profile image
Azubuike Duru

Love this!!

Collapse
 
miracleio profile image
Miracleio

Thank you! 🙏🏾

Collapse
 
nyanguno profile image
Nyanguno

reminds me of a movie that I am watching of a woman named Zhu Li.
Great tool, nice work

Collapse
 
miracleio profile image
Miracleio

Oh wow. I'd love to know what movie that is.

Thanks for your kind words, I appreciate it 🙏🏾

Collapse
 
kevinbenjamin77 profile image
KevinBenjamin77

Sensational 🙌🏾
As an Avatar fan myself, I'm pleased with the name.
Suits the tool very well. 🙂

Collapse
 
miracleio profile image
Miracleio

Thank you, thank you 🙂‍↕️

Collapse
 
uche_emma profile image
Uche Emmanuel

Awesome

Collapse
 
miracleio profile image
Miracleio

Thank you!

Collapse
 
favouro profile image
D-FOG

Nice agent, she was a good assistant to Varrick lol 😂.

I think I need to try this AI Agent.

Collapse
 
miracleio profile image
Miracleio

Lol, yeah she was.

Please, feel free 😂

Collapse
 
divofred profile image
Fredrick Emmanuel

Would love to try this out

Collapse
 
miracleio profile image
Miracleio

Please do! If you run into any issues, let me know

Collapse
 
miracleio profile image
Miracleio

I think its worth mentioning that I set out trying to build an iMessage chat bot and while I was able to get the code to work and even test it out for a limited time, I faced two major challenges:

  • First, I didn't want to do all the risky stuff involved with getting BlueBubbles to work on my machine. It mentioned something about disabling SIP and modifying my boot loader (I'm not really sure but I wasn't comfortable with any of that) and that I might not be able to install updates on my machine after that. I think it all makes sense why people buy a mac mini to do all that.
  • Second, I was able to integrate another service, a hosted service - blooio.com but I exhausted my 20 messages.

The integration still works and if you set up BlueBubbles and Blooio, you will be able to use those channels. The web and telegram chat on the other hand, work fine and is easy to set up.

Collapse
 
miracleio profile image
Miracleio

If you're trying out Zhu Li and you encounter an issue, you can drop it on zhuli.aevr.space/portal

I should get it in my notion workspace

Collapse
 
automate-archit profile image
Archit Mittal

iMessage + Notion via MCP is a really clean combo — the 'ambient assistant that doesn't need a dedicated app' UX is underexplored. One thing that's bitten me with similar setups: the agent silently marking something 'resolved' based on ambiguous natural language. Adding a soft-confirm pattern (e.g. 'marking X resolved, reply cancel in 30s to undo') saved me a few times when the model misinterpreted a statement about a related-but-different task. Does Zhu Li keep a short undo log in Notion?