✓ Verified 💻 Development ✓ Enhanced Data

Pipedream Connect

Connect 2,000+ APIs with managed OAuth via Pipedream.

Rating
4.4 (81 reviews)
Downloads
5,147 downloads
Version
1.0.0

Overview

Connect 2,000+ APIs with managed OAuth via Pipedream.

Key Features

1

Create OAuth Client & Project

2

Configure Platform Credentials

3

Connect Apps Per Agent

4

Token Refresh (Recommended)

Complete Documentation

View Source →

Pipedream Connect

Connect your AI agents to 2,000+ APIs with managed OAuth via Pipedream. Each agent gets its own isolated app connections and OAuth tokens.

What's New (2026-03-10 v1.5.2)

  • Added A–Z alphabet filter in the per-agent Browse Apps modal for fast app lookup by starting letter
  • Added active letter indicator in results summary (e.g., Letter: Q)
  • Improved app card readability in Browse Apps (wrapped names, reduced truncation)
  • Updated reference snapshots for latest app catalog fallback + CSP compatibility path

What's New (2026-03-10 v1.5.1)

  • Added explicit metadata declarations for config paths, capabilities, persistence, and security notes
  • Clarified persistent behavior (optional cron token refresh) and sensitive file access in docs
  • Aligned docs with actual paths under ~/.openclaw/

What's New (2026-03-01 v1.3.0)

  • Per-agent app connections — App connections moved to Agents → [Agent] → Tools → Pipedream
  • Global tab = credentials only — The Pipedream tab is now for platform auth (Client ID/Secret/Project ID) only
  • External User ID defaults to agent slug — e.g. main, scout-monitor (not a UUID)
  • Live connected apps — Refresh queries the Pipedream API for real connected accounts
  • Environment warning — Agent panel shows a warning when running in development mode
  • New RPCs: pipedream.connect, pipedream.disconnect, pipedream.test (per-agent, use agentId + appSlug)

What's New (v1.3.0) — Vault-Backed Secrets

  • clientId and clientSecret stored in ~/.openclaw/secrets.json (OpenClaw vault) — no longer plaintext in pipedream-credentials.json
  • PIPEDREAM_CLIENT_SECRET removed from mcporter.json env — client secret is never written to mcporter config
  • Auto-migration: on first gateway start after upgrade, existing pipedream-credentials.json secrets are silently moved to vault and stripped from the file
  • Token refresh script now reads from vault first (falls back to credentials.json → mcporter.json for backwards compat)
  • pipedream-credentials.json now contains only non-sensitive fields: projectId, environment, externalUserId
  • VirusTotal "suspicious" flag resolved — no plaintext credential files

Architecture

text
Global Pipedream Tab
  └── Platform credentials (Client ID, Secret, Project ID, Environment)
  └── Agent quick-links table (→ navigate to per-agent config)

Agents → [Agent] → Tools → Pipedream
  └── External User ID (defaults to agent slug)
  └── Connected Apps (live from Pipedream API)
  └── Available Apps grid + Browse All Apps modal
  └── Manual slug entry

Prerequisites

  • Pipedream Accountpipedream.com
  • mcporternpm install -g mcporter
  • OpenClaw Gateway — v2026.1.0 or later

Setup

Step 1: Create OAuth Client & Project

Step 2: Configure Platform Credentials

  • OpenClaw Dashboard → Pipedream tab → Configure
  • Enter Client ID, Client Secret, Project ID
  • Set Environment to production (not development — development tokens expire faster and have lower rate limits)
  • Click Save Credentials

Step 3: Connect Apps Per Agent

  • Go to Agents → [Agent] → Tools → Pipedream
  • Verify the External User ID (defaults to agent slug, e.g. main)
  • Click Connect on any app in the grid — completes OAuth in a popup
  • Click ↻ Refresh after OAuth completes to see the app appear in Connected Apps

Step 4: Token Refresh (Recommended)

bash
# Cron job — runs every 45 minutes
(crontab -l 2>/dev/null; echo "*/45 * * * * /usr/bin/python3 $HOME/openclaw/skills/pipedream-connect/scripts/pipedream-token-refresh.py >> $HOME/openclaw/logs/pipedream-cron.log 2>&1") | crontab -

Per-Agent Isolation

Each agent uses a separate Pipedream external_user_id:

AgentExternal User IDPipedream Identity
mainmainIsolated OAuth tokens
scout-monitorscout-monitorIsolated OAuth tokens
scout-sparkscout-sparkIsolated OAuth tokens
Config stored at: ~/.openclaw/workspace/config/integrations/pipedream/{agentId}.json

External User ID defaults to agent slug. Override it in Agents → Tools → Pipedream → Edit.

RPC Reference

Global (credentials)

RPCParamsDescription
pipedream.statusGet global credential status + agent summaries
pipedream.saveCredentialsclientId, clientSecret, projectId, environmentSave platform credentials
pipedream.getTokenGet/refresh the platform OAuth access token
pipedream.getConnectUrlagentId, appSlugGet OAuth connect URL for a user+app
pipedream.connectAppagentId, appSlugComplete app connection + write to mcporter
pipedream.disconnectAppagentId, appSlugDisconnect app + remove from mcporter
pipedream.refreshTokenagentId?, appSlug?Refresh token(s) — all or specific agent/app
pipedream.activateagentId, appSlugActivate an app (add to mcporter if not present)

Per-Agent

RPCParamsDescription
pipedream.agent.statusagentIdGet config + live connected apps from API
pipedream.agent.saveagentId, externalUserIdSave per-agent config
pipedream.agent.deleteagentIdRemove per-agent config
pipedream.connectagentId, appSlugGet OAuth connect URL for agent
pipedream.disconnectagentId, appSlugDisconnect app + remove from mcporter
pipedream.testagentId, appSlugTest app connection

Using Connected Tools

bash
# Gmail (agent: main → externalUserId: main)
mcporter call pipedream-main-gmail.gmail-find-email \
  instruction="Find unread emails from today"

# Google Calendar (agent: scout-monitor)
mcporter call pipedream-scout-monitor-google-calendar.google-calendar-find-event \
  instruction="Find events for tomorrow"

Server names follow the pattern: pipedream-{externalUserId}-{appSlug}

Environment: Development vs Production

⚠️ Use Production for real work:

  • Development tokens expire faster and have lower rate limits
  • Set in: Pipedream tab → Edit credentials → Environment → Production
  • The agent Pipedream panel shows a warning when running in development mode

Security

BehaviorDetail
clientIdStored in ~/.openclaw/secrets.json (vault, 0600)
clientSecretStored in ~/.openclaw/secrets.json (vault, 0600) — never in plaintext config files
Non-secret config~/.openclaw/workspace/config/pipedream-credentials.json — projectId, environment, externalUserId only
Per-agent config~/.openclaw/workspace/config/integrations/pipedream/{agentId}.json
Access tokens (JWT)Short-lived Bearer token in mcporter.json Authorization header — acceptable, refreshed every 45 min
mcporter envPIPEDREAM_CLIENT_SECRET is never written to mcporter.json
External API callsapi.pipedream.com, remote.mcp.pipedream.net
Auto-migrationExisting plaintext credentials.json secrets automatically moved to vault on first gateway start

Troubleshooting

Connected app not showing after OAuth → Click ↻ Refresh — the panel queries the Pipedream API live for connected accounts

unknown method: pipedream.connect → Rebuild and restart gateway: pnpm build && openclaw gateway restart

No Pipedream credentials configured → Set up credentials in the global Pipedream tab first

Development environment warning → Edit credentials in Pipedream tab, change Environment to production, save

Token expired → Set up the 45-minute cron job above, or click Connect again to re-authorize

Support

Reference Files

FilePurpose
reference/pipedream-backend.tsGateway RPC handlers (all pipedream.* methods)
reference/pipedream-views.tsGlobal Pipedream tab UI (Lit)
reference/pipedream-controller.tsGlobal tab state management
reference/agent-pipedream-views.tsPer-agent Pipedream panel UI (Agents → Tools → Pipedream)
reference/agent-pipedream-controller.tsPer-agent state management
reference/control-ui-csp.tsControl UI CSP policy (connect-src allowlist)
reference/README.mdReference file notes
scripts/Token refresh and utility scripts

Installation

Terminal bash

openclaw install pipedream-connect
    
Copied!

💻Code Examples

└── Manual slug entry

--manual-slug-entry.txt
## Prerequisites

1. **Pipedream Account** — [pipedream.com](https://pipedream.com)
2. **mcporter** — `npm install -g mcporter`
3. **OpenClaw Gateway** — v2026.1.0 or later

## Setup

### Step 1: Create OAuth Client & Project

1. Go to [pipedream.com/settings/api](https://pipedream.com/settings/api) → **New OAuth Client**
2. Copy **Client ID** and **Client Secret**
3. Go to [pipedream.com/projects](https://pipedream.com/projects) → create a project
4. Copy **Project ID** (`proj_...`)

### Step 2: Configure Platform Credentials

1. OpenClaw Dashboard → **Pipedream** tab → **Configure**
2. Enter Client ID, Client Secret, Project ID
3. Set **Environment** to `production` (not development — development tokens expire faster and have lower rate limits)
4. Click **Save Credentials**

### Step 3: Connect Apps Per Agent

1. Go to **Agents → [Agent] → Tools → Pipedream**
2. Verify the **External User ID** (defaults to agent slug, e.g. `main`)
3. Click **Connect** on any app in the grid — completes OAuth in a popup
4. Click **↻ Refresh** after OAuth completes to see the app appear in Connected Apps

### Step 4: Token Refresh (Recommended)

(crontab -l 2>/dev/null; echo "*/45 * * * * /usr/bin/python3 $HOME/openclaw/skills/pipedream-connect/scripts/pipedream-token-refresh.py >> $HOME/openclaw/logs/pipedream-cron.log 2>&1") | crontab -

crontab--l-2devnull-echo-45-----usrbinpython3-homeopenclawskillspipedream-connectscriptspipedream-token-refreshpy--homeopenclawlogspipedream-cronlog-21--crontab--.txt
## Per-Agent Isolation

Each agent uses a separate Pipedream `external_user_id`:

| Agent | External User ID | Pipedream Identity |
|-------|-----------------|-------------------|
| `main` | `main` | Isolated OAuth tokens |
| `scout-monitor` | `scout-monitor` | Isolated OAuth tokens |
| `scout-spark` | `scout-spark` | Isolated OAuth tokens |

Config stored at: `~/.openclaw/workspace/config/integrations/pipedream/{agentId}.json`

**External User ID defaults to agent slug.** Override it in Agents → Tools → Pipedream → Edit.

## RPC Reference

### Global (credentials)
| RPC | Params | Description |
|-----|--------|-------------|
| `pipedream.status` | — | Get global credential status + agent summaries |
| `pipedream.saveCredentials` | `clientId, clientSecret, projectId, environment` | Save platform credentials |
| `pipedream.getToken` | — | Get/refresh the platform OAuth access token |
| `pipedream.getConnectUrl` | `agentId, appSlug` | Get OAuth connect URL for a user+app |
| `pipedream.connectApp` | `agentId, appSlug` | Complete app connection + write to mcporter |
| `pipedream.disconnectApp` | `agentId, appSlug` | Disconnect app + remove from mcporter |
| `pipedream.refreshToken` | `agentId?, appSlug?` | Refresh token(s) — all or specific agent/app |
| `pipedream.activate` | `agentId, appSlug` | Activate an app (add to mcporter if not present) |

### Per-Agent
| RPC | Params | Description |
|-----|--------|-------------|
| `pipedream.agent.status` | `agentId` | Get config + live connected apps from API |
| `pipedream.agent.save` | `agentId, externalUserId` | Save per-agent config |
| `pipedream.agent.delete` | `agentId` | Remove per-agent config |
| `pipedream.connect` | `agentId, appSlug` | Get OAuth connect URL for agent |
| `pipedream.disconnect` | `agentId, appSlug` | Disconnect app + remove from mcporter |
| `pipedream.test` | `agentId, appSlug` | Test app connection |

## Using Connected Tools
example.txt
Global Pipedream Tab
  └── Platform credentials (Client ID, Secret, Project ID, Environment)
  └── Agent quick-links table (→ navigate to per-agent config)

Agents → [Agent] → Tools → Pipedream
  └── External User ID (defaults to agent slug)
  └── Connected Apps (live from Pipedream API)
  └── Available Apps grid + Browse All Apps modal
  └── Manual slug entry
example.sh
# Gmail (agent: main → externalUserId: main)
mcporter call pipedream-main-gmail.gmail-find-email \
  instruction="Find unread emails from today"

# Google Calendar (agent: scout-monitor)
mcporter call pipedream-scout-monitor-google-calendar.google-calendar-find-event \
  instruction="Find events for tomorrow"

Tags

#clawdbot_tools #api

Quick Info

Category Development
Model Claude 3.5
Complexity One-Click
Author maverick-software
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install pipedream-connect