Notion database schema for meeting action items (n8n-ready)
If your n8n workflow creates Notion pages from meeting transcripts, the database properties are the contract. Wrong types or names = silent empty fields, not loud errors.
Why the schema comes first
Meeting → action-item automation lives or dies on field mapping. The LLM can extract a perfect JSON object and Notion still drops Owner or Due Date if the property name or type does not match what the Pages API expects.
Build the database before you wire credentials. Treat property names as an API surface, not a pretty label.
Minimal property set
This set covers transcript extraction without forcing Person matching on day one:
- Name — title (required). Action item short title.
- Owner — rich text. Spoken name from the transcript (“Alex”), not Notion Person yet.
- Due Date — date. Leave blank when the model returns
null. - Priority — select with options
high,medium,low(or map your own). - Meeting — rich text or title-adjacent text. Meeting name / source label.
- Notes (optional) — rich text for source span or context.
n8n → Notion mapping sketch
{
"parent": { "database_id": "{{ $env.NOTION_DATABASE_ID }}" },
"properties": {
"Name": { "title": [{ "text": { "content": "{{ $json.title }}" } }] },
"Owner": { "rich_text": [{ "text": { "content": "{{ $json.owner || '' }}" } }] },
"Priority": { "select": { "name": "{{ $json.priority || 'medium' }}" } },
"Meeting": { "rich_text": [{ "text": { "content": "{{ $json.meeting_title || '' }}" } }] }
}
}
Only include Due Date when due_date is a real YYYY-MM-DD. Omitting the property is cleaner than sending an empty date object.
Common breakage
- Renamed properties — UI rename changes the API key. Keep names stable; change display via views.
- Select option typos —
Highvshighfails. Align prompt enums with Notion options. - Integration not shared — database must be shared with the internal integration or creates 404.
- Multi-select vs select — mismatch yields validation errors mid-loop.
Verification checklist
Before pointing production webhooks at the database:
- Create one manual page with every property filled.
- Run the workflow sample transcript once; confirm each field lands.
- Force a
due_date: nullitem and confirm Due Date stays empty.
Takeaway
Notion action-item automation is schema design first, LLM second. Freeze property names and types, share the integration, then import the n8n graph.
Schema + workflow in one pack
OpsPacket Meeting → Action Items ships SETUP.md with this Notion property list, credential placeholders, and an importable n8n JSON.
Get the n8n pack — $97