Skip to content
Notion Node "Update...
 
Notifications
Clear all

Notion Node "Update Database Page" - Invalid Property Types & Undefined Errors (Help Needed)

3 Posts
3 Users
0 Reactions
5 Views
Web_See
(@web_see)
Posts: 1
New Member
Topic starter
 

Hi everyone,

I’m currently facing a significant challenge with the Notion node in callin.io, and despite trying several solutions (including schema correction, type matching, and value formatting), I’m still encountering issues.

:backhand_index_pointing_right:

The context:

I’m developing an AI-powered CRM system called Jarvis using callin.io + OpenAI/GPT + Notion.

The objective is straightforward:

  1. My AI agent retrieves lead data from a Notion form.

  2. The AI enhances and completes the information (name, email, phone, tags, etc.).

  3. The enriched data is automatically sent back to Notion using the Update Database Page node.

:backhand_index_pointing_right:

The problem:

Regardless of my efforts, I consistently receive this error:

Bad request - please check your parameters

body.properties.[ield].should be defined, instead was undefined

Even when I specify the correct property names (e.g., Nom & Prénom|title, Email|email, Téléphone|phone_number), assign the appropriate types, and ensure the values are sourced from the AI’s JSON output, Notion reports 'undefined' for most fields.

:backhand_index_pointing_right:

What I’ve tried so far:

:white_check_mark:

Utilizing both static values and dynamic expressions like {{ $json.output["Nom & Prénom"] }}

:white_check_mark:

Matching all property types (title, email, number, select, multi-select, rich_text, date, etc.)

:white_check_mark:

Using both raw IDs and manual inputs for the Database Page

:white_check_mark:

Analyzing the output JSON with Structured Output Analyser

:white_check_mark:

Employing “Set” and “Information Extractor” nodes to refine the AI output

:backhand_index_pointing_right:

Result:

It consistently fails with a 400 Bad Request error and 'undefined' properties.

:light_bulb:

Does anyone have insights on how to correctly pass dynamic data from an AI Agent into a Notion node within callin.io?

• Is there a specific format or field I might be overlooking?

• Should I be transforming the output differently before sending it to Notion?

• Is there a more efficient method for mapping the AI’s output to Notion properties without manual configuration for each field?

Thank you very much in advance!

This is the final step before the entire system goes live, and I would greatly appreciate any guidance or tips from the community.

:folded_hands:

I can provide screenshots or JSON examples if necessary.

{
"nodes": [
{
"parameters": {
"model": {
"rl": true,
"value": "gpt-4o-mini",
"mode": "list",
"cachedResultName": "gpt-4o-mini"
},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"typeVersion": 1.2,
"position": [
-60,
220
],
"id": "aba75af2-93d4-4f09-9a06-c276bbe9a37d",
"name": "OpenAI Chat Model",
"credentials": {
"openAiApi": {
"id": "uU1hzXbD1Pm2xunX",
"name": "n8n free OpenAI API credits"
}
}
},
{
"parameters": {
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"databaseId": {
"
rl": true,
"value": "22c1bfc6-20e6-80cf-8144-d5e350bd3ef6",
"mode": "list",
"cachedResultName": "CRM Jarvis",
"cachedResultUrl": "Notion"
}
},
"type": "n8n-nodes-base.notionTrigger",
"typeVersion": 1,
"position": [
-220,
-20
],
"id": "b8d17416-3521-417c-8f1d-0c3bb767d3c5",
"name": "Notion Trigger",
"credentials": {
"notionApi": {
"id": "0MKFFCWRvovPffuG",
"name": "Notion account"
}
}
},
{
"parameters": {
"assignments": {
"assignments": [
{
"name": "Nom & Prénom",
"value": "={{ $json.output[‘Nom & Prénom’] }}",
"type": "string",
"id": "e0f15d03-1b4e-4929-a115-c82acebf272e"
},
{
"name": "Email",
"value": "={{ $json.output.Email }}",
"type": "string",
"id": "9b322995-bad5-4f4b-8ac5-a901d385fd80"
},
{
"name": "Téléphone",
"value": "={{ $json.output[‘Téléphone’] }}",
"type": "string",
"id": "7bb50d3e-e516-4784-ad2b-fc0a62d39d5b"
},
{
"name": "Site Web",
"value": "={{ $json.output[‘Site Web’] }}",
"type": "string",
"id": "74cdbb4c-a386-4c41-950e-5fca9678265b"
},
{
"name": "Besoin Principal",
"value": "={{ $json.output[‘Besoin Principal’] }}",
"type": "string",
"id": "b1b08652-0102-45e9-851c-53fad202a3aa"
},
{
"name": "Problématique",
"value": "={{ $json.output[‘Problématique’] }}",
"type": "string",
"id": "04fdbc60-c0bd-41b9-9945-e33a17590c8d"
},
{
"name": "Investissement IA",
"value": "={{ $json.output[‘Investissement IA’] }}",
"type": "string",
"id": "ae60f351-2a82-4177-923f-7011c12e1e83"
},
{
"name": "Score Lead",
"value": "={{ $json.output[‘Score Lead’] }}",
"type": "string",
"id": "d00bd021-0ddd-4b0e-ac24-de27d27acf91"
},
{
"name": "Client potentiel (€)",
"value": "={{ $json.output[‘Client potentiel (€)’] }}",
"type": "string",
"id": "4d58637e-ee6b-49d3-b1f6-26370a510245"
},
{
"name": "Date d’entrée",
"value": "={{ $json.output[‘Date d’entrée’] }}",
"type": "string",
"id": "48837145-349a-4727-b3b9-b459055b9468"
},
{
"name": "Message de relance dans 24 heures",
"value": "={{ $json.output[‘Message de relance dans 24 heures’] }}",
"type": "string",
"id": "cd8acb7c-f7fc-491a-9a98-f89eb764d6ba"
},
{
"id": "23810fe3-a712-4d14-aaa1-219e73ddced6",
"name": "Prochaine action",
"value": "={{ $json.output[‘Prochaine action’] }}",
"type": "string"
}
]
},
"includeOtherFields": true,
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
460,
-100
],
"id": "d871aa98-bbda-41a5-90ec-cf4995d099bd",
"name": "Set - Préparation des champs"
},
{
"parameters": {
"promptType": "define",
"text": "=Tu es Jarvis, l’agent IA de Jarvis Agency.nnTa mission:n1. Lire les données du prospect reçues via formulaire.n2. Corriger, compléter, enrichir chaque champ pour améliorer la qualité.n3. Générer un message personnalisé adapté au contexte.n
Champs à traiter systématiquement:n- Nom & Prénom
- Email
- Téléphone
- Site Web
- Besoin Principal : Résumer clairement l’objectif (reformuler si flou).
- Problématique : Choisir parmi :
- Trop de tâches manuelles
- Manque de clarté dans l’organisation
- Perte de temps sur des actions sans valeur
- Pas assez de temps pour développer
- Autre
- Investissement IA : Évaluer selon expérience IA.
- Score Lead : Chaud / Tiède / Froid.
- Potentiel Client (€) : 3500 / 450 / 0.
- Statut Suivi : Toujours “En attente relance”.
- Tags : Générer mots-clés pertinents.
- Date d’entrée : Ajouter si manquante.
- Message de relance dans 24h : Rédiger un message humain, naturel et engageant.
- Prochaine action : « Envoyer un message le [DATE+1] à [HEURE] ».

Ne laisse jamais un champ vide sans tentative d’enrichissement. Sois autonome.n
Ta sortie : JSON structuré complet. Aucune phrase extérieure n’est permise.",
"hasOutputParser": true,
"options": {
"systemMessage": "=Tu es Jarvis, un agent IA expert en qualification de leads et enrichissement CRM pour Jarvis Agency.nnVoici les données actuelles :n- Nom & Prénom : {{$json["Nom & Prénom"]}}n- Email : {{$json["Email"]}}n- Téléphone : {{$json["Téléphone"]}}n- Site Web : {{$json["Site Web"]}}n- Besoin Principal : {{$json["Besoin Principal"]}}n- Problématique : {{$json["Problématique"]}}n- Investissement IA : {{$json["Investissement IA"]}}n- Score Lead : {{$json["Score Lead"]}}n- Potentiel Client (€) : {{$json["Potentiel Client (€)"]}}n- Statut Suivi : {{$json["Statut Suivi"]}}n- Tags : {{$json["Tags"]}}n- Date d’entrée : {{$json["Date d’entrée"]}}n- Prochaine action : {{$json["Prochaine action"]}}nnTa tâche :n1. Analyser ces données.n2. Enrichir chaque champ de manière logique et autonome.n3. Préparer un message personnalisé (messagepret) qui reflète exactement le besoin et les douleurs exprimées par le prospect.n
Le message doit être humain, naturel, sans forcer la vente, et donner envie d’échanger.n
Sortie obligatoire : JSON structuré complet. Rien d’autre.n⚠️ Ne retourne jamais un texte ou une string. Ta réponse doit toujours être un objet JSON brut sans guillemets autour.nnExemple correct : n{n "Nom & Prénom": "Jean Dupont",n "Email": "jean@email.com",n …n}nnNe retourne jamais ça :n"{ "Nom & Prénom": "Jean Dupont", … }"
}
},
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 2,
"position": [
20,
-20
],
"id": "ac84d776-9d24-46cc-94bf-bbcca2bc4fa1",
"name": "AI Agent Jarvis"
},
{
"parameters": {
"jsonSchemaExample": "{n "Nom & Prénom": "Jean Dupont",n "Email": "jean.dupont@example.com",n "Téléphone": "0600000000",n "Site Web": " https://www.jeandupont.com ",n "Besoin Principal": "Maximiser l’efficacité des tâches",n "Problématique": "Perte de temps sur des actions sans valeur",n "Investissement IA": "Expérimenté",n "Score Lead": "Chaud",n "Client potentiel (€)": 3500,n "Statut Suivi": "En attente relance",n "Tags": "efficacité, automatisation, IA",n "Date d’entrée": "2023-10-10",n "Message de relance dans 24 heures": "Bonjour Jean, je vous remercie pour votre intérêt concernant l’automatisation de vos tâches. Nous pourrions explorer ensemble des solutions pour optimiser votre temps. Seriez-vous disponible pour un échange rapide demain ?",n "Prochaine action": "Envoyer un message le 2023-10-11 à 10:00"n}",
"autoFix": true
},
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"typeVersion": 1.3,
"position": [
140,
240
],
"id": "040f6621-c541-418e-a3ef-508ba74e18e6",
"name": "Structured Output Parser"
},
{
"parameters": {
"model": {
"rl": true,
"value": "gpt-4o-mini",
"mode": "list",
"cachedResultName": "gpt-4o-mini"
},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"typeVersion": 1.2,
"position": [
140,
420
],
"id": "e6ee2f82-db8e-4053-bbe6-a6fb70a1ea7f",
"name": "OpenAI Chat Model1",
"credentials": {
"openAiApi": {
"id": "uU1hzXbD1Pm2xunX",
"name": "n8n free OpenAI API credits"
}
}
},
{
"parameters": {
"resource": "databasePage",
"operation": "update",
"pageId": {
"
rl": true,
"value": "={{ $(‘Notion Trigger’).item.json.id }}",
"mode": "id"
},
"simple": false,
"propertiesUi": {
"propertyValues": [
{
"key": "Nom & Prénom|title",
"title": "={{ $json.output[‘Nom & Prénom’] }}"
},
{
"key": "Email|email",
"emailValue": "={{ $json.output.Email }}"
},
{
"key": "Site Web|url",
"ignoreIfEmpty": true,
"urlValue": "={{ $json.output[‘Site Web’] }}"
},
{
"key": "Besoin Principal|rich
text",
"richText": "={{ $json.output[‘Besoin Principal’] }}"
},
{
"key": "Problématique|multiselect"
},
{
"key": "Investissement IA|select",
"selectValue": "Oui j’ai testé des outils (ChatGPT Notion AI etc.)"
},
{
"key": "Score Lead|select",
"selectValue": "À contacter"
},
{
"key": "Potentiel Client (€)|number",
"numberValue": "={{ $json.output[‘Client potentiel (€)’] }}"
},
{
"key": "Tags|multi
select"
},
{
"key": "Date d’entrée|date"
},
{
"key": "Message de relance dans 24h|select",
"richText": "={{ $json.output[‘Message de relance dans 24 heures’] }}",
"selectValue": "En attente"
},
{
"key": "Prochaine action|date",
"richText": "={{ $json.output[‘Prochaine action’] }}"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.notion",
"typeVersion": 2,
"position": [
720,
-100
],
"id": "339e4c49-3d49-44d4-a945-f286300ce8bd",
"name": "Update CRM Jarvis2",
"credentials": {
"notionApi": {
"id": "0MKFFCWRvovPffuG",
"name": "Notion account"
}
}
}
],
"connections": {
"OpenAI Chat Model": {
"ailanguageModel": [
[
{
"node": "AI Agent Jarvis",
"type": "ai
languageModel",
"index": 0
}
]
]
},
"Notion Trigger": {
"main": [
[
{
"node": "AI Agent Jarvis",
"type": "main",
"index": 0
}
]
]
},
"Set - Préparation des champs": {
"main": [
[
{
"node": "Update CRM Jarvis2",
"type": "main",
"index": 0
}
]
]
},
"AI Agent Jarvis": {
"main": [
[
{
"node": "Set - Préparation des champs",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser": {
"aioutputParser": [
[
{
"node": "AI Agent Jarvis",
"type": "ai
outputParser",
"index": 0
}
]
]
},
"OpenAI Chat Model1": {
"ailanguageModel": [
[
{
"node": "Structured Output Parser",
"type": "ai
languageModel",
"index": 0
}
]
]
}
},
"pinData": {},
"meta": {
"templateCredsSetupCompleted": true,
"instanceId": "2234b7b6f7911cbe4b07c6493c58a646fa598120e9569315cc1ed283665cce1e"
}
}

 
Posted : 12/07/2025 10:56 am
Samiordahi
(@samiordahi)
Posts: 1
New Member
 

Same issue here! It appears that notion is no longer recognizing strings. However, I still cannot resolve this error. If you manage to find a solution, please share it.

 
Posted : 24/07/2025 7:15 pm
jabbson
(@jabbson)
Posts: 40
Eminent Member
 

Hello there, welcome to the community.

Could you please create a separate topic for your issue? Kindly include a minimal reproducible example workflow and paste it into your post. I'd be happy to review it.

 
Posted : 24/07/2025 7:19 pm
Share: