New Integration: Prisma
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- typescript
Research direction
Start by comparing integrations/github/src/index.ts with the integrations/linear/ and integrations/slack/ templates, then review the required Prisma files and Management API documentation. Implement the OAuth or bearer-token setup, workspace and project synchronization, event formatting, error handling, rate limiting, README, and integrations/README.md entry. Done means the complete Prisma integration structure and all listed tasks are covered.
Written by the indexing model from the issue text.
Description
Description
Add Prisma Data Platform integration to sync database projects, workspace activity, and Prisma Postgres database management events into CORE.
Reference Implementations
Existing Integrations (use as templates)
integrations/github/- Developer tooling integrationintegrations/linear/- Project management patternsintegrations/slack/- For reference
Required Files Structure
integrations/prisma/
├── src/
│ ├── index.ts # Main entry, OAuth spec
│ ├── schedule.ts # Sync logic
│ ├── utils.ts # Prisma API utilities
│ ├── account-create.ts # OAuth setup
│ └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md
Prisma API Integration
OAuth Setup
- Use OAuth 2.0 or Bearer Token authentication
- The
@prisma/management-api-sdkprovides built-in OAuth with automatic token refresh - Token endpoint for OAuth: Prisma Platform OAuth flow
- Required scope:
offline_access(for automatic token refresh) - Alternative: Direct Bearer token authentication via API tokens from Prisma Console
- Console:
https://console.prisma.io/
Key Endpoints (Management API)
GET /workspaces- List workspacesGET /workspaces/{id}- Get workspace detailsGET /projects- List projects in a workspaceGET /projects/{id}- Get project detailsPOST /projects- Create a new projectGET /databases- List databasesPOST /databases- Create a databaseDELETE /databases/{id}- Delete a databaseGET /environments- List environments
SDK Usage
import { ManagementAPIClient } from '@prisma/management-api-sdk'
const client = new ManagementAPIClient({
token: 'your-bearer-token'
})
const workspaces = await client.listWorkspaces()
const projects = await client.getProject({ id: 'project-id' })
Events to Track
-
Projects & Databases
- Project created, updated, deleted
- Database created, deleted
- Database connection string changes
- Environment provisioning
-
Workspace Activity
- Workspace member additions/removals
- Workspace settings changes
- Billing/plan updates
-
Schema & Migrations
- Schema changes detected
- Migration history
- Database health status
Implementation Tasks
- Set up basic integration structure following
integrations/github/src/index.tspattern - Implement OAuth 2.0 or Bearer Token flow in
account-create.ts - Create Prisma Management API utilities in
utils.ts(consider using@prisma/management-api-sdk) - Implement sync logic in
schedule.tsfor workspace and project activity - Convert Prisma events to CORE activity format
- Add error handling and rate limiting
- Create integration documentation
- Add to
integrations/README.md
Technical Notes
- Prisma offers a TypeScript SDK (
@prisma/management-api-sdk) that simplifies API access with built-in OAuth and token refresh. - The Management API is specifically for Prisma Data Platform (Prisma Postgres, cloud projects) - not for the Prisma ORM itself.
- The SDK supports both simple Bearer token auth and full OAuth 2.0 with automatic token refresh (requires
offline_accessscope). - Prisma Data Platform is relatively new; the API surface may evolve.
- The API is primarily for managing Prisma Postgres databases and projects, not for querying database contents.
- Consider distinguishing between Prisma ORM (local development tool) and Prisma Data Platform (cloud service) in documentation.
- Note: Prisma Cloud (Palo Alto Networks) is a completely different product; this is about Prisma by Prisma Data, Inc.
Resources
- Prisma Management API SDK
- Prisma Management API Reference
- Prisma Platform Documentation
- Prisma Console
- Prisma Documentation Home
Labels
enhancement, integration, new-feature
- Dominant language
- TypeScript
- Stars
- 2k
- Forks
- 194
- Avg merge
- 12m
- Merged PRs (30d)
- 2
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from RedPlanetHQ/core
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
RedPlanetHQ/core#968 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 42/100
RedPlanetHQ/core#967 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 25/100
RedPlanetHQ/core#953 · 1 comment ·
-
bug
RedPlanetHQ/core#904 · 2 comments · 1 assignee ·
-
Difficulty 4/5 3-5 days Newbie friendliness 55/100
RedPlanetHQ/core#902 ·
All issues in RedPlanetHQ/core
Similar issues
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P3
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 76/100
-
code-quality refactoring
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
github/gh-aw-firewall#8816 ·
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
vercel/react-tweet#225 ·