I recently made an integration between Todoist and Notion. The main idea is that every time I do something with a task on Todoist, the changes are reflected on Notion. I'm encountering a problem with the notion.pages.update()
function: every time I modify a task, it returns this error:
body failed validation. Fix one: body.properties.body.id should be defined, instead was undefined. body.properties.body.name should be defined, instead was undefined. body.properties.body.start should be defined, instead was undefined.
I don't even have a body
property in my database.
Here's my update function, keep in mind that this is a function inside a module I made:
my.updateTask = async function (notion_page_id, name, todoist_project_id, do_date, priority, in_discord) {
var req_body = {
page_id: notion_page_id,
properties: {
Name: {
type: "title",
title: [
{
type: "rich_text",
rich_text: {
content: name
}
}
],
},
Project: {
type: "relation",
relation: [
{
database_id: my.getProject("todoist_id", todoist_project_id).notion_id
}
]
},
Priority: {
number: priority
},
isOnDiscord: {
checkbox: in_discord
}
}
}
if (typeof do_date !== 'undefined' && do_date !== null) {
start_dt = new Date(do_date.date);
end_dt = new Date(do_date.date);
end_dt.setHours(end_dt.getHours() + 24);
req_body.properties.DoDate = {
date: {
start: start_dt.toISOString().replace(/Z$/, '+02:00'),
end: end_dt.toISOString().replace(/Z$/, '+02:00')
}
}
}
const response = await my.api.pages.update(req_body);
return response !== {};
}
Any help is highly appreciated!