Hi @CarbonNick
I’ve seen other users mention issues with Notion Zaps today.
I recommend opening a ticket with Zapier Support: https://zapier.com/app/get-help
Hey @CarbonNick,
Can you share screenshots of Data In and Data Out as well as how each Zap step is configured to have more context?
You may want to delete your existing connection and reconnecting it again so it defaults to latest version of Notion that is v2.20.0. After that, configure the fields again and try clicking on the Retest step to see if it fixes it. Hope it helps!
Thanks all. I raised a ticket with Zapier support and they are investigating. They identified the issue as:
“a bug where the Update Database Item step in Notion only shows a single field called contents
after refreshing fields, and attempts to update other properties fail with the error “Cannot read properties of undefined.” It should instead display all of the editable properties from your Notion database so you can map and update them successfully.”
They are investigating why the editable properties from Notion are not being displayed by the Zapier function. Will update.
Hey @CarbonNick, actually, don’t upgrade your Notion integration to the latest version, as it doesn’t work for creating or updating items in multi-source databases. Unless you haven’t yet converted any of your databases to multi-source, in which case it’s fine.
The issue is that, starting with API version `2025-09-03`, API requests need to specify a `data_source_id`, as the `database_id` alone is not sufficient when a single database has multiple databases nested inside it. So if you’ve converted any of your Notion databases already, just keep your Zapier integration on a legacy version for now (you may need to roll updated Zaps back to an earlier version if you’ve already updated them).
Alternatively, while Zapier works on a fix for this breaking change, I built a Custom Agent to allow me to update one particular database that I already upgraded, and set a few property values (including a Relation type property, which the older versions of the Notion integration don’t allow you to update). Creating a Custom Action is a bit fussy because you have to update the JSON to match the schema of the data source you want to work with, but I’m using this for now while I wait for the official fix, which is supposed to be coming next week.
export async function createNotionPage({
internalAttendees,
startDate,
endDate,
googleCalendarEventId,
clayContacts,
description,
callLink,
title,
markdownContent
}: {
internalAttendees: string;
startDate: string;
endDate: string;
googleCalendarEventId: string;
clayContacts: string;
description?: string; // Optional
callLink?: string; // Optional
title: string;
markdownContent?: string; // Optional markdown content
}): Promise<{ result: object }> {
// Convert the comma-separated string of user IDs into an array
const attendeesArray = internalAttendees.split(',').map(id => id.trim());
// Convert the comma-separated string of page IDs into an array for Clay Contacts
const clayContactsArray = clayContacts.split(',').map(id => id.trim());
// Construct the request body with the provided inputs
const requestBody: any = {
parent: { data_source_id: "19891b07-11ac-8137-9d62-000b75fab86e" },
properties: {
"Internal Attendees": {
people: attendeesArray.map(id => ({ object: "user", id }))
},
"Date": {
date: { start: startDate, end: endDate }
},
"Google Calendar Event ID": {
rich_text: [{ type: "text", text: { content: googleCalendarEventId } }]
},
"Clay Contacts": {
relation: clayContactsArray.map(id => ({ id }))
},
"Title": {
title: [{ type: "text", text: { content: title } }]
}
},
children: [] // Initialize children for markdown content
};
// Add optional properties if they are provided
if (description) {
requestBody.properties["Description"] = {
rich_text: [{ type: "text", text: { content: description } }]
};
}
if (callLink) {
requestBody.properties["Call Link"] = {
url: callLink
};
}
// Add markdown content if provided
if (markdownContent) {
// Split markdown content into lines and create paragraph blocks
const markdownLines = markdownContent.split('\n');
requestBody.children = markdownLines.map(line => ({
object: "block",
type: "paragraph",
paragraph: {
rich_text: [{ type: "text", text: { content: line } }]
}
}));
}
// Make the API request to create a page in Notion
const response = await fetchWithZapier("https://api.notion.com/v1/pages/", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Notion-Version": "2025-09-03"
},
body: JSON.stringify(requestBody)
});
// Throw an error if the response is not ok
await response.throwErrorIfNotOk();
// Return the response as a result object
return { result: await response.json() };
}
Hi @CarbonNick,
Ali here from Zapier support. It seems you might be coming across a recently reported bug with the Notion app.
I would recommend reaching out to our support team so they can specifically review your Zap and once they can confirm it is a bug, they can add you to our bug tracker so you can be notified as soon a fix is launched.
Thank you,
Now, are you too gonna switch to the new Notion API?