docs(prd): add Zapier integration PRD (#667)

* docs(prd): add Zapier integration PRD

Draft PRD for Zapier integration with locked decisions on private-first distribution, Early Adopter+ plan gating, zapier:read/zapier:write scopes, polling-only triggers for v1, and apps/zapier app location. Covers trigger/action/search catalog, public API surface gaps, dashboard tab, and rollout plan.

Co-authored-by: Rotimi Best <[email protected]>

* docs(prd): revise Zapier integration PRD with OAuth and binary plan gating

Update PRD per planning decisions:

- Auth: switch from API key paste to OAuth 2.0 (authorization_code + refresh_token) shipping in v1; drop type: 'zapier' from organization_api_key.type enum.
- Plan gating: binary feature (Early Adopter+); no monthly Zapier credits, only per-minute rate limits. Plan downgrade revokes all grants immediately.
- Invite link: single shared private invite URL (we want adoption).
- Revoke UX: per-grant revoke in dashboard for safety net only; no bulk Disconnect button.
- Triggers: drop program_completed from v1 (now 5 triggers); deferred to v2.
- Add OAuth schema (oauth_authorization_code, oauth_access_token, oauth_refresh_token), routes, consent screen, plan-guard hook into license.ts.

Co-authored-by: Rotimi Best <[email protected]>

---------
This commit is contained in:
Rotimi Best
2026-06-18 09:56:45 +01:00
committed by GitHub
co-authored by Rotimi Best
parent ab91056a68
commit 0a6db37566
2 changed files with 658 additions and 0 deletions
+1
View File
@@ -23,6 +23,7 @@ Use this file to keep a single prioritized view of all PRDs.
| - | - | `prd/copy-page-as-markdown` | todo |
| - | - | `prd/reset-student-course-progress` | todo |
| - | 15 | `prd/webhooks` | todo |
| - | - | `prd/zapier` | draft |
## DONE (Completed PRDs)