notion-deploy-integration

Featured

Deploy Node.js applications that use the Notion API to production on Vercel, Railway, or Fly.io. Use when deploying Notion-powered backends, setting up NOTION_TOKEN in production secrets, configuring serverless singleton patterns, or adding health checks that verify Notion connectivity. Trigger: "deploy notion app", "notion production", "notion vercel deploy", "notion railway", "notion fly.io".

AI & Automation 2,249 stars 312 forks Updated today MIT

Install

View on GitHub

Quality Score: 99/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Deploy Notion-Integrated Applications Ship Node.js apps that talk to the Notion API to Vercel, Railway, or Fly.io. This skill covers environment variable management, the Notion client singleton pattern for serverless, rate limit handling at 3 req/sec, health check endpoints that verify Notion connectivity, and caching strategies to reduce API calls. ## Prerequisites - Node.js >= 18 project with `@notionhq/client` installed (`npm i @notionhq/client`) - Working Notion integration tested locally with a valid `NOTION_TOKEN` (starts with `ntn_`) - Platform CLI installed for your target: `vercel`, `railway`, or `fly` - Database or page IDs your integration needs access to ## Instructions ### Step 1 — Prepare the Application for Production Build a production-ready entry point with a Notion client singleton, rate limit handling, response caching, and a health check endpoint. **Notion client singleton (critical for serverless):** Serverless functions recycle containers unpredictably. Creating a new `Client` on every invocation wastes cold-start time and risks hitting rate limits. A module-level singleton reuses the client across warm invocations. ```typescript // src/notion-client.ts — singleton for serverless environments import { Client, LogLevel, isNotionClientError, APIErrorCode } from '@notionhq/client'; let client: Client | null = null; export function getNotionClient(): Client { if (!client) { if (!process.env.NOTION_TOKEN) { throw new Error('NOTION_TOK...

Details

Author
jeremylongshore
Repository
jeremylongshore/claude-code-plugins-plus-skills
Created
7 months ago
Last Updated
today
Language
Python
License
MIT

Integrates with

Related Skills