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...
For further actions, you may consider blocking this person and/or reporting abuse
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
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
Cool stuff!
What I really want to know now is how did you come up with the name Zhu Li. Its smooth.
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.
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.
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.
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?
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!
Sensational 🙌🏾
As an Avatar fan myself, I'm pleased with the name.
Suits the tool very well. 🙂
Thank you, thank you 🙂↕️
Awesome
Thank you!
Love this!!
Thank you! 🙏🏾
reminds me of a movie that I am watching of a woman named Zhu Li.
Great tool, nice work
Oh wow. I'd love to know what movie that is.
Thanks for your kind words, I appreciate it 🙏🏾
Would love to try this out
Please do! If you run into any issues, let me know
Nice agent, she was a good assistant to Varrick lol 😂.
I think I need to try this AI Agent.
Lol, yeah she was.
Please, feel free 😂
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:
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.
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