Problem
14 native REST connectors = 15 files, each with its own auth, rate limiting, and response parsing. Huge maintenance surface, fundamentally redundant with MCP. Pipedream solves this in one layer: OAuth proxy + 2000+ integrations (exactly how Sauna works).
Success criteria
- A
PipedreamConnector service that takes app_slug + account_id and executes authenticated requests
- ConnectorPicker UI offers "Connect via Pipedream" for all integrations
- Existing 14 native connectors remain functional but marked
[legacy]
- New connectors arrive for free via Pipedream
Non-goals
No forced migration. Native connectors keep working.
Implementation
- Research Pipedream Connect architecture (OAuth redirect, token storage, proxy pattern)
server/services/pipedreamProxy.ts — HTTP proxy that injects Pipedream tokens
server/routes/connectors/pipedream.ts — generic route
src/store/pipedreamStore.ts — Zustand store for connected accounts
src/components/PipedreamPicker.tsx — UI for connecting a Pipedream account
- Adapt
ConnectorPicker.tsx to show Pipedream alongside native connectors
- Add
[legacy] badge to native connector tiles
Problem
14 native REST connectors = 15 files, each with its own auth, rate limiting, and response parsing. Huge maintenance surface, fundamentally redundant with MCP. Pipedream solves this in one layer: OAuth proxy + 2000+ integrations (exactly how Sauna works).
Success criteria
PipedreamConnectorservice that takesapp_slug+account_idand executes authenticated requests[legacy]Non-goals
No forced migration. Native connectors keep working.
Implementation
server/services/pipedreamProxy.ts— HTTP proxy that injects Pipedream tokensserver/routes/connectors/pipedream.ts— generic routesrc/store/pipedreamStore.ts— Zustand store for connected accountssrc/components/PipedreamPicker.tsx— UI for connecting a Pipedream accountConnectorPicker.tsxto show Pipedream alongside native connectors[legacy]badge to native connector tiles