Back to cookbook

AI Prompt to Audit a Notion Database for Data Quality Issues via Notion's MCP Server

0 views Updated

Make this prompt yours

Share

This Notion MCP prompt is for operations, data, and RevOps teams who keep a working database in Notion (a CRM tracker, inventory log, project pipeline, or content calendar) and want an AI model to check it for data quality problems before the data feeds a report or an automation. Once an AI assistant like Claude or ChatGPT is connected to Notion through its MCP server, it can pull real rows and properties from a live database instead of working from a pasted screenshot or a stale export, which matters because messy Notion databases accumulate blank fields, inconsistent select options, and duplicate entries that quietly break filtered views and rollups.

The prompt asks the model to scan a specified database for concrete issues: missing required properties, duplicate records that should be merged, inconsistent formatting in text or select fields (like "In Progress" vs "in progress" vs "WIP"), broken relations, and date fields that are empty or clearly wrong. It returns a structured findings list grouped by issue type and severity, with the exact page titles or row identifiers so a human can go fix them directly in Notion rather than hunting through hundreds of rows manually.

Because this audit depends on inspecting a large number of live records rather than a single document, it's worth running the draft through the Context Extractor first if the database export is large, since pulling only the relevant fields and rows reduces the chance the model skims past genuine errors buried deep in the data.

Prompt template

Make this prompt yours

prompt-template
278 tokens
You are a data quality analyst reviewing a live database retrieved via an MCP connection to Notion. Context: - Database name: [DATABASE_NAME] - Approximate number of records: [RECORD_COUNT] - Required properties that must always be filled in: [REQUIRED_PROPERTIES] - Properties with a fixed set of intended values (e.g. Status should only be one of a known list): [CONTROLLED_PROPERTIES_AND_VALUES] Task: Retrieve the records in this database and check them for the following issues: 1. Missing values in required properties 2. Duplicate records (same entity represented more than once) 3. Inconsistent formatting or casing in controlled properties 4. Broken or empty relation fields 5. Date fields that are empty, in the past when they shouldn't be, or otherwise clearly incorrect Constraints: - Only flag issues you can verify from the retrieved data; do not guess at values you cannot see - Group findings by issue type, then by severity (Blocking, Needs Review, Cosmetic) - Include the page title or unique identifier for every flagged record so it can be located in Notion Output format: Return a structured report with one section per issue type. Each section should list affected records as a short table: [Record Name | Issue Description | Suggested Fix]. End with a one-paragraph summary of total issues found and the top priority to address first.

Want it sharper? Optimize this prompt with Prompt Optimizer, check it with the Prompt Debugger or shorten it with the Token Optimizer.

Example input

example-input
58 tokens
Database name: Vendor Contracts Tracker Approximate number of records: 140 Required properties that must always be filled in: Vendor Name, Contract Status, Renewal Date, Owner Controlled properties and values: Contract Status should be one of: Active, Pending Renewal, Expired, Cancelled

When to use it

  • Before connecting a Notion database to an automation (Zapier, a dashboard, or a reporting tool) that assumes clean, consistent values
  • After several team members have been entering data manually over weeks or months without a shared format
  • When a filtered view or rollup property in Notion is returning unexpected or incomplete results
  • Ahead of a quarterly review or handoff where someone else will rely on the database being accurate

Best practices

  • Name the exact database and the properties that matter most (status, owner, due date) so the model doesn't flag irrelevant formatting choices
  • Ask for findings grouped by severity (blocking vs cosmetic) so the team fixes what actually breaks automations first
  • Give the model your team's intended values for select/status fields so it can flag drift accurately instead of guessing at a standard
  • Request output as a simple table or checklist with page links or titles included, not just a general summary, so fixes are easy to action

Common mistakes

  • Asking for a general "clean this up" audit without specifying which properties or views actually matter to the team
  • Not telling the model how many records exist, which leads to an audit that only samples a handful of visible rows
  • Treating the audit output as something to auto-apply instead of a list for a human to confirm and fix in Notion
  • Forgetting to re-run the audit after a bulk cleanup to confirm the fixes didn't introduce new inconsistencies

FAQs

Can ChatGPT or Claude actually read my Notion database directly?

Only if it's connected through an MCP server (or a similar connector) that has permission to query that specific database. Without that connection, you'd need to paste or export the data manually, which limits the audit to whatever you include.

What's the difference between this and just using Notion's built-in filters?

Notion's filters find records matching known criteria you set up in advance. This prompt asks the model to actively look for inconsistencies and errors you haven't specifically filtered for, like duplicate entries or drifted formatting across hundreds of rows.

Will the AI fix the data automatically?

Not with this prompt as written — it's designed to return a findings report for a human to review and apply in Notion. Some MCP setups support write-back actions, but mixing automatic edits into an audit prompt raises the risk of incorrect changes going live unreviewed.

How do I know if this prompt is specific enough before I run it?

Run your filled-in version through the Intelligence Score tool first — it grades clarity and specificity and flags vague constraints, which is useful before pointing a model at a large live database where ambiguity gets expensive.

Found this prompt useful? Share it.

Share

More in Data Analysis

Data Analysis

AI Prompt to Audit Google Sheets Formulas for Errors Using Google Workspace's MCP Server

This prompt turns an AI assistant into a spreadsheet auditor that can read a live Google Sheet through Google Workspace's MCP server and sys…

ROLE
You are a meticulous spreadsheet auditor with deep expertise in Google Sheets formulas, functions, and data integrity, connected to the live sheet via an MCP server.

CONTEXT
Spreadsheet name: [SPREADSHEET NAME]
Tab/sheet to audit: [TAB NAME]
Purpose of this sheet: [WHAT THE SHEET IS USED FOR, e.g. "monthly revenue forecast shared with the finance team"]
Known manual-override columns (do not flag as errors): [LIST OF COLUMNS OR "NONE"]
Date or version this sheet was last fully reviewed: [DATE OR "NEVER"]

TASK
Using the MCP connection, read every formula in the specified tab and identify:
1. Broken references (#REF!, #VALUE!, #N/A, #DIV/0! and similar error values)
2. Formulas that reference a range which no longer matches the data (e.g. a SUM or VLOOKUP range that stops short of new rows)
3. Inconsistent logic within a column, where some rows use a formula and others contain a different formula or a hardcoded value with no explanation
4. Circular references or formulas that indirectly depend on their own output

CONSTRAINTS
- Do not flag the manual-override columns listed above as errors
- Quote the exact formula text and cell address for every issue found
- Do not rewrite or change any formulas in the sheet; only report findings
- If a formula's intent is ambiguous, say so explicitly rather than guessing what it was supposed to do

OUTPUT FORMAT
Return a table with these columns: Cell Address | Formula Found | Issue Type | Explanation | Suggested Fix (if obvious)
Follow the table with a short summary: total issues found, how many are broken references vs. logic inconsistencies, and which columns need the most attention.

Make this prompt yours

Data Analysis

AI Prompt to Audit Shopify Inventory and Listings via MCP

This is a prompt for Shopify store owners using Shopify's Admin MCP server , which connects your store's product, inventory, and order data…

Using the Shopify Admin MCP connection to my store, run a catalog audit with these checks:

1. Flag any product with inventory below [STOCK THRESHOLD] units.
2. Flag any product missing [REQUIRED FIELD(S), e.g. description, product type, metafield name].
3. Flag any product whose tags don't follow this convention: [YOUR TAGGING RULE].
4. Flag any product with variants that have mismatched or missing pricing.

For each flagged product, give me: product name, product ID or handle, the specific issue, and a one-line suggested fix.

Group the results by issue type, not by product.

Make this prompt yours

Data Analysis

AI Prompt to Segment Customer Data Into Meaningful Groups

This AI prompt for customer segmentation takes a description of your customer dataset and asks the model to propose meaningful groups based…

ROLE
You are a data analyst helping design a customer segmentation scheme.

CONTEXT
Business type: [BUSINESS_TYPE, e.g. subscription SaaS, e-commerce retailer]
Available fields: [LIST_OF_FIELDS, e.g. signup_date, last_order_date, total_orders, total_spend, plan_tier]
Approximate data ranges: [FIELD_RANGES, e.g. total_orders typically 1-40, last_order_date spans the past 2 years]
Business goal for this segmentation: [GOAL, e.g. identify customers to target for a win-back campaign]

TASK
Propose 4-6 customer segments that serve the stated goal. For each segment, provide:
1. A clear, specific name.
2. The exact rule or threshold on the available fields that defines membership.
3. A one-sentence description of what distinguishes this group.
4. One recommended action specific to this segment.

CONSTRAINTS
- Only use the fields listed above; do not assume data that wasn't mentioned.
- Make segment rules mutually exclusive where possible, and note any customers who might not fit cleanly into any segment.
- Keep each segment's rule specific enough to implement as a filter or query.

OUTPUT FORMAT
A numbered list of segments, each with Name, Rule, Description, and Recommended Action as labeled sub-points, followed by one line noting any edge cases not covered.

Make this prompt yours