Skip to content
API Integrations

Knowledge Base Data Parser and Sync Workflow

Reference content lived in tool exports and loose documents, each structured differently, so keeping the knowledge base current meant hours of manual copy-paste. It drifted out of date and the team stopped trusting it.

Industry

Professional services team with distributed, fast-growing staff

Role

Systems consultant — data structuring, workflow automation build, documentation and handover

Impact

Knowledge base updates dropped from an afternoon of copy-paste to a few minutes reviewing flagged records, and the team trusted the knowledge base as the current source of truth again.

01 - Problem

The problem

The team's reference content — process notes, service details, policy answers — piled up as exports from different tools and documents written by different people. None of it shared a structure: the same information sat under three headings across three files, dates arrived in whatever format the source produced, and some documents were missing fields. Whoever owned the knowledge base that month opened each file, decided what mattered, and retyped it into Notion by hand.

That work was slow, so it kept slipping. The knowledge base fell behind, people noticed the gaps, and they went back to asking each other in chat. This is a structure problem before an automation one — no point wiring up a sync until the team agreed what a clean entry looks like. So the first deliverable was a schema, and the workflow automation enforces it.

02 - System Flow

How the system moves

  1. New export lands

    Source file dropped into intake

  2. Workflow triggers

    n8n picks up the document

  3. Fields extracted

    Content parsed into structured JSON

  4. Schema validation

    Required fields and formats checked

  5. Records routed

    Clean versus needs-review branch

  6. Knowledge base synced

    Clean entries upserted to Notion

  7. Exceptions flagged

    Airtable review queue with reasons

  8. Human review

    Team clears flags, base stays current

03 - Build

What I built

A shared JSON schema before any automation

I defined the canonical shape of an entry with the team first: required fields, date and name formats, category names. That schema lives in the workflow as the contract every record must pass. Agreeing it up front made the rest straightforward — the automation enforces a decision the team already made instead of guessing.

n8n parser and Notion sync

An n8n workflow watches the intake location, parses each export into structured JSON, and normalizes the known variations — different headings for one field, mixed date formats, stray whitespace. Valid records are upserted into the Notion knowledge base through the API integration, matched on a source ID so re-running a sync updates entries instead of duplicating them.

Airtable review queue for exceptions

Anything that fails validation never touches Notion. It lands in an Airtable review queue with the exact reason — missing field, unrecognized format, possible duplicate — so a human spends minutes on judgment calls instead of hours on data entry. I documented the schema, flag reasons, and recovery steps so the team can run and extend the system without me.

04 - Impact

Business impact

  • Knowledge base updates went from an afternoon of manual copy-paste to a few minutes clearing the review queue.

  • The team treated the knowledge base as the current source of truth again, instead of re-asking answered questions in chat.

  • Bad data is caught at the door — malformed or incomplete records are flagged before they enter the knowledge base, not found by a confused teammate weeks later.

  • The system is documented and owner-independent: anyone can run it, read why a record was flagged, and propose schema changes as the business grows.

05 - Edge Cases

What had to be handled

  • Duplicate source documents: the workflow matches on a source ID and updates the existing Notion entry instead of creating a second copy.

  • Missing or renamed fields: schema validation routes the record to the Airtable queue with the exact failure reason rather than syncing partial data.

  • Formats the parser hasn't seen: unknown date or name formats are flagged for human review, not guessed — a wrong entry is worse than a delayed one.

  • Notion API errors mid-sync: failed records are retried and marked unsynced in the run log, so a run never half-completes silently.

06 - Improvements

What I would improve next

  • Add a weekly change digest so the team sees what entered or changed in the knowledge base without opening Notion.

  • Track flag reasons in Airtable over time and fix document structure upstream, so exceptions shrink instead of becoming permanent workload.

  • With the content clean and structured, layer a search or assistant interface on top — structured data first is what makes that step safe.