Skip to content

judej/notion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

judej/notion

Command-line utilities for my Notion workflow. Minimal, practical, and consent-gated where writes occur.


Tools

`task_tsv_import/

TSV → Notion tasks importer.

  • Golden path only
  • Reads tasks.tsv (tab-separated) and auto-maps TSV headers to Notion properties (case-insensitive).
  • Supports: title, rich_text, select, status, multi_select, number, checkbox, date, url, email, phone_number, and people (single or multiple via comma/semicolon).
  • Flow: PREVIEW (no writes)Write gate ALL / YES / NO → per-row YES / SKIP / ALL.
  • Before every write (POST), prints the purpose, payload length, and a 256-char JSON preview.

Quick start

# go to the tool
cd task_tsv_import

# install dependency
pip install requests

# place your data as tasks.tsv (tab-separated) next to the script
# headers should match your Notion property names (case-insensitive)

# run (prompts for Notion token and Database ID)
python notion_tsv_import.py

Example tasks.tsv

Title	Status	Assigned to	Tags	Due Date
Pay Bills	In Progress	SMichelle	Finance, Bills	2025-09-30
Book dentist	Done	Michelle	Health	2025-10-15

Mapping rules

  • Header → Property by name (case-insensitive 1:1).
  • Title value comes from the TSV column that matches your Notion title property; if none, uses the first column.
  • People fields accept lists: alice@example.com, Bob or Alice; Bob.

Prompts (concise)

  • PREVIEW: prints counts and samples — no writes here.

  • Write? [ALL/YES/NO]

    • ALL: write all without further prompts
    • YES: ask per row
    • NO: exit
  • Per row (if not ALL): shows purpose/length/preview, then [YES/SKIP/ALL].

Safety

  • Keep tokens secret (never commit). Rotate immediately if exposed.
  • Start with a small TSV, verify the preview, then choose ALL when confident.

Repository layout

.
├─ README.md
└─ 
   └─ task_tsv_import/
      └─ task_tsv_import.py

This layout keeps the root clean and leaves room for additional tools later without changing the existing paths.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published