One of my side quests at work is to get a simple feedback loopgoing where we can create knowledge bases that comment on Notion documents.I was curious if I could hook this together following these requirements:
- No custom code hostingPrompt is editable within Notion rather than requiring understanding of ZapierShould be be fairly quickly
Ultimately, I was able to get it working.So a quick summary of how it works,some comments on why I don’t particularly like this approach,then some more detailed comments on getting it working.
General approach
Create a Notion database of prompts.

Create a specific prompt for providing feedback on RFChttps://lethain.com/static/blog/2025/notion-rfc-prompt.pngtion-rfc-prompt.png" alt>
Create a Notion dhttps://lethain.com/static/blog/2025/notion-rfcs.pngsrc="/static/blog/2025/notion-rfcs.png" alt>
Add an automation into thhttps://lethain.comhttps://lethain.com/static/blog/2025/notion-rfcs-automation.png

The Zapier webhook does a variety of things that culminate inusing the RFC prompt to provide feedhttps://lethain.comhttps://lethain.com/static/blog/2025/notion-rfc-comment.pngcomment in the RFC.

Altogether this works fairly well.
The challenges with this approach
The best thing about this approach is that it actually works, and it worksfairly well.However, as we dig into the implementation details,you’ll also see that a series of things are unnaturally difficultwith Zapier:
- Managing rich text in Notion because it requires navigating the blocks datastructureAllowing looping API constructs such as making it straightforward to leavemultiple comments on specific blocks rather than a single top-level commentNotion only allows up to 2,000 characters per block, but chunking into multipleblocks is moderately unnatural.In a true Python environment, it would be trivial to translate to and fromMarkdown using something like
md2notionUltimately, I could only recommend this approach as an initial validation.It’s definitely not the right long-term resting place for this kind of approach.
Zapier implementation
I already covered the Notion side of the integhttps://lethain.comhttps://lethain.com/static/blog/2025/zapier-flow.pngier pieces a bit. Overall it had eight steps.

I’ve skipped the first step, which was just a default webhook receiver.The second step was retrieving a statically defined Notion pagecontaining the prompt. (In later steps I just use the Notion API directly,which I would do here if I was redoing this, but this worked too.The advantage of the API is that it returns a real JSON object,thhttps://lethain.com/static/blog/2025/zapier-2a.pngdidn’t specify the content-type header or somesuch.)
)
Probably because I didn’t set content-type, I think Ihttps://lethain.com/static/blog/2025/zapier-3.pngta here, so I just regular expressed the data out.It’s a bit sloppy, but hey it worked, so there’s that.
)
The API request returns a JSON object that you can navigate withoutwriting https://lethain.com/static/blog/2025/zapier-6.png nice.
)
Then we send both the prompt as system instructions and the RFC asthe user message to Open AI.
)
Then format the response into an API request to add a commentto the document.

Anyway, this wasn’t beautiful, and I think you could do a much betterjob by just doing all of this in Python, but it’s a workable proof of concept.
