Notion
Use Cheqpoint to gate AI-driven Notion actions — creating pages, updating database properties, or deleting content — behind human approval before they execute.
Use case
AI Assistants often serve as knowledge management tools, interacting with Notion databases to organize documents, update status fields, or generate meeting notes. Cheqpoint ensures that any automated write operation to your Notion workspace is reviewed, preventing accidental deletions or incorrect data updates.
Common actions to gate
- Updating database properties (e.g., status, deadline, owner)
- Creating new pages in shared databases
- Adding blocks to existing pages
- Archiving or deleting pages
- Moving pages between workspaces
Prerequisites
@notionhq/clientconfigured with a Notion API token.- Cheqpoint Connection Key.
Sample request payload — database update
json
{
"action": "notion_update_page",
"summary": "AI requesting update of project status for 'Launch Q2' to 'Completed'",
"details": {
"pageId": "b6a7...",
"properties": {
"Status": { "select": { "name": "Completed" } }
}
}
}Sample Cheqpoint response
json
{
"status": "approved",
"modifiedDetails": null,
"decisionNote": "Project verified as launched. Status update approved."
}import { Client } from "@notionhq/client";
import Cheqpoint from "cheqpoint";
const notion = new Client({ auth: process.env.NOTION_TOKEN });
const cheq = new Cheqpoint({ apiKey: process.env.CQ_API_KEY });
async function updateNotionPage(pageId, properties) {
const approval = await cheq.request({
action: "notion_update_page",
summary: "AI requesting to update Notion page properties",
details: { pageId, properties },
timeoutMs: 30_000,
});
if (approval.status !== "approved") {
throw new Error(`Notion update blocked: ${approval.decisionNote ?? "rejected"}`);
}
const payload = approval.modifiedDetails ?? { pageId, properties };
return await notion.pages.update({
page_id: payload.pageId,
properties: payload.properties,
});
}Get your Connection Key at cheqpoint.co/signup.