You mean, using Notion as knowledge base but having Slack as the interface for chatting with it? In that case, you would only need to change the retrieval part. So more or less just replace the chat trigger with a Slack trigger and send the response of the AI node back to the same Slack chat, by adding another node.
@@octionic It works well, thank you. I did notice it doesn't capture and vectorize the contents of tables in a notion page or at least, I could not get it to recognize this context.
@cadenceworks I see. That has to do with the return value of the Notion Node. For simplicity I used the "Also Fetch Nested Blocks" option and then used the content field to get all the text. However it does not include everything. You would need to parse the table_row field as well. Most probably it would require you to replace the Summarize Node by a Code Node.
@@octionic I will take a look. I think that particularly in KB applications, parts of the data might be organized in a structure like tables - as opposed to plain text. Also FYI - Notion just released webhooks for their paid plans. That makes triggering a bit simpler as well.
what happens you delete the entire document in notion? for instance if you decided that you no longer needed one of the documents in the RAG knowledge? is there a way to automate that removal from supabase?
@RamonTomzer unfortunately neither n8n nor Notion (new webhook feature) does offer a trigger for that. You would need to store a list of Notion page ID's somewhere and frequently get and compare all existing Notion pages against it. It is not an efficient solution but it should work.
Thank you so much for the template. It's exactly what I was looking for! I followed everything, and it works perfectly.
Glad it helped!
Would this workflow be good for slack knowledge base employee onboarding Q&A? Should I add or remove anything for this use case?
You mean, using Notion as knowledge base but having Slack as the interface for chatting with it? In that case, you would only need to change the retrieval part. So more or less just replace the chat trigger with a Slack trigger and send the response of the AI node back to the same Slack chat, by adding another node.
This is great, thanks Mario. Just to clarify, does this flow handle updates in multiple pages as well?
You mean multiple pages of a Notion DB? Yes, the trigger is watching on all page updates.
@@octionic It works well, thank you. I did notice it doesn't capture and vectorize the contents of tables in a notion page or at least, I could not get it to recognize this context.
@cadenceworks I see. That has to do with the return value of the Notion Node. For simplicity I used the "Also Fetch Nested Blocks" option and then used the content field to get all the text. However it does not include everything. You would need to parse the table_row field as well. Most probably it would require you to replace the Summarize Node by a Code Node.
@@octionic I will take a look. I think that particularly in KB applications, parts of the data might be organized in a structure like tables - as opposed to plain text.
Also FYI - Notion just released webhooks for their paid plans. That makes triggering a bit simpler as well.
what happens you delete the entire document in notion? for instance if you decided that you no longer needed one of the documents in the RAG knowledge? is there a way to automate that removal from supabase?
@RamonTomzer unfortunately neither n8n nor Notion (new webhook feature) does offer a trigger for that. You would need to store a list of Notion page ID's somewhere and frequently get and compare all existing Notion pages against it. It is not an efficient solution but it should work.