Skip to content

Notion Setup

ThePlator edited this page Oct 8, 2026 · 1 revision

Notion Setup

JobRadar writes into one Notion database through an internal integration. Three parts: create the integration, create the database, connect them.

1. Create the integration

  1. Open notion.so/profile/integrations → New integration.
  2. Name JobRadar, type Internal, pick your workspace, save.
  3. On Configuration → Capabilities tick Read content, Update content, Insert content; user information: No user information.
  4. Copy the Internal Integration Secret into .env as NOTION_TOKEN.

2. Create the Jobs database

Create a page called JobRadar, and inside it a full-page database called Jobs with exactly these properties. Names are case-sensitive.

Property Type Notes
Role Title rename the default "Name"
Company Text
Match Score Number
Status Select not Notion's "Status" type. Options are created automatically: New, Shortlisted, Applied, Interview, Offer, Rejected, Skipped, Hidden
Deadline Date
Location Text
Work Mode Select Onsite, Hybrid, Remote
Experience Text
Skills Multi-select
Salary Text
Apply Link URL
Resume URL
Seen In Number how many groups posted it
Scam Risk Select Low, Medium, High
Job ID Text JobRadar's internal id
Cover Letter Checkbox
Notes Text yours; never written by JobRadar
Added Created time

Extra columns of your own are fine; JobRadar ignores them.

3. Connect the integration

Open the JobRadar page → ••• → Connections → add JobRadar → Confirm. Without this step every call fails with "object not found".

4. Find the database id

Open Jobs as a full page → ••• → Copy link. The 32 characters before ?v= are NOTION_DATABASE_ID.

JobRadar uses Notion's current API (2025-09-03), where a database contains one or more data sources. It finds the data source by itself; only if your database has more than one do you need to set NOTION_DATA_SOURCE_ID.

uv run jobradar init checks every property and names any that are missing or have the wrong type.

5. Useful views

View Layout Filter / sort
All jobs Table none
Inbox Table Status is New · sort Match Score ↓, then Added ↓
Top matches Table Match Score ≥ 80 · Status is not Hidden
Closing soon Table Deadline within next week · Status is not Applied · sort Deadline ↑
Board Board group by Status
Applied Table Status is any of Applied, Interview, Offer, Rejected

Match Score arrives with v0.2 part B, so Top matches stays empty until then.

What JobRadar writes

  • It creates a page per job and updates its properties.
  • It sets Status only when it creates the page (New), or when it hides a job (an ad, or not a job). After that, Status is yours.
  • Inside the page it owns one toggle called JobRadar (summary, eligibility, skills, original post, where it was seen) and rewrites only that toggle. Anything else you write on the page is never touched.

Clone this wiki locally