Skip to content

nycsav/notion-career-agent

JobRelay Architecture

JobRelay

AI-powered career agent for Notion Workers
Scans job boards, scores roles with Claude, generates tailored resumes, and tracks your application pipeline — all inside Notion.

Notion Workers Claude TypeScript MIT License


Built for the Notion Developer Platform Hackathon (May 16–17, 2026) — Theme 2: Workflow Relay


What It Does

JobRelay is a Notion-native career agent deployed as a Notion Worker. It uses the full Notion Workers SDK — managed databases, scheduled syncs, webhooks, automations, and AI tools — to automate the entire job application pipeline.

graph LR
    A[Job Boards] -->|Sync / Webhook| B[JobRelay Worker]
    B -->|Score with Claude| C{Match Score}
    C -->|≥ Threshold| D[Generate Materials]
    C -->|< Threshold| E[Log & Notify]
    D --> F[Career Command Center DB]
    E --> F
    F -->|Status Change| G[Automation Triggers]
    G --> H[Notifications / Next Steps]
Loading

Capabilities

SDK Feature Implementation
Managed Database Career Command Center — auto-created with full schema on deploy
Sync Daily job board scanner (Dice, Indeed) with incremental state
Webhook Inbound job alerts from Zapier, email parsers, or direct POST
Automation Status change handler — triggers on pipeline transitions
Tools (×5) scanJobs, tailorResume, getCareerInsight, configureAgent, getAgentStatus
Pacer Rate-limits Claude API calls (20 req/min)
OAuth Ready for job board OAuth flows (extensible)

Pipeline Steps

Step Action Model
1. Discover Sync from boards or receive webhook
2. Score Rate match 0–100 against profile Claude Haiku 4.5
3. Decide Route by automation mode + threshold Rule engine
4. Tailor Generate resume + cover letter Claude Sonnet 4.5
5. Track Write to Career Command Center Notion Managed DB
6. Notify Alert via Slack/Notion Webhook/Automation

Quick Start

Prerequisites

Setup

# 1. Clone the repo
git clone https://github.com/nycsav/notion-career-agent.git
cd notion-career-agent

# 2. Install dependencies
npm install

# 3. Authenticate with Notion
ntn login

# 4. Set your secrets
ntn workers env set ANTHROPIC_API_KEY=sk-ant-api03-...
ntn workers env set USER_PROFILE="Your career summary here..."

# 5. Deploy
ntn workers deploy

# 6. Add tools to your Notion Custom Agent
# In Notion → AI → Custom Agent → Add tool calls → Select JobRelay tools

Local Development

# Type-check
npm run check

# Pull secrets for local testing
ntn workers env pull

# Test a tool locally
ntn workers exec scanJobs

Project Structure

notion-career-agent/
├── src/
│   └���─ index.ts          # Worker entry — all capabilities registered here
├── docs/
│   ├── architecture.svg  # System architecture diagram
│   ├── demo-flow.svg     # User experience flow
│   ├── user-flow.svg     # Three-step onboarding flow
│   └── agent-chat.svg    # Agent conversation examples
├── .env.example          # Environment variable template
���── package.json          # Dependencies and scripts
├── tsconfig.json         # TypeScript configuration
├── AGENT_PROMPT.md       # Custom Agent system prompt
└── README.md

Architecture

JobRelay uses a single-file Worker pattern (recommended by Notion) that registers all capabilities on one Worker instance:

  • worker.database() — Declares the Career Command Center schema. Notion creates and migrates the database automatically on deploy.
  • worker.sync() — Runs daily, fetches new listings from job boards, scores them, and upserts into the managed database.
  • worker.webhook() — HTTP endpoint for real-time job alerts from external services.
  • worker.automation() — Fires on database status changes for downstream actions.
  • worker.tool() — Five tools callable by Notion Custom Agents for interactive use.
  • worker.pacer() — Rate-limits Claude API calls to avoid throttling.

Configuration

JobRelay supports three automation modes, configurable via the configureAgent tool:

Mode Behavior
Copilot (default) Agent finds and scores. You review everything.
Autopilot Agent auto-generates materials above threshold. You approve before applying.
Autonomous Agent auto-applies above threshold. Daily digest sent.

Built With

  • Runtime: Notion Workers (hosted by Notion)
  • AI Models: Claude Haiku 4.5 (scoring), Claude Sonnet 4.5 (generation)
  • SDK: @notionhq/workers v0.4.0
  • CLI: ntn (Notion CLI)
  • Studio: Enso Labs

Why Notion Workers

Traditional approaches require managing infrastructure (servers, databases, cron jobs). Notion Workers eliminate all of that:

  • Zero infrastructure — Notion hosts and runs your code
  • Managed databases — Schema declared in code, auto-migrated on deploy
  • Native AI integration — Tools are callable by Notion Custom Agents
  • Built-in scheduling — Syncs run on configurable cadences
  • OAuth handling — Notion manages token refresh for connected services

Contributing

See CONTRIBUTING.md for guidelines.


License

MIT — see LICENSE for details.


Built by Enso Labs · Powered by Notion Workers + Claude

About

AI-powered career agent built on Notion Workers + Claude. Managed database, scheduled sync, webhooks, automations, and 5 AI tools for job scanning, scoring, resume generation, and pipeline tracking. Built for the Notion Developer Platform Hackathon.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors