{
  "schemaVersion": "1.0",
  "item": {
    "slug": "pipedream-connect",
    "name": "Pipedream Connect Integration",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/maverick-software/pipedream-connect",
    "canonicalUrl": "https://clawhub.ai/maverick-software/pipedream-connect",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/pipedream-connect",
    "sourceDownloadUrl": "https://clawhub.ai/api/v1/download?slug=pipedream-connect",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "CHANGELOG.md",
      "INSTALL.md",
      "SKILL.md",
      "_meta.json",
      "reference/README.md",
      "reference/agent-pipedream-controller.ts"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/pipedream-connect"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/pipedream-connect",
    "agentPageUrl": "https://openagent3.xyz/skills/pipedream-connect/agent",
    "manifestUrl": "https://openagent3.xyz/skills/pipedream-connect/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/pipedream-connect/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Pipedream Connect",
        "body": "Connect your AI agents to 2,000+ APIs with managed OAuth via Pipedream. Each agent gets its own isolated app connections and OAuth tokens."
      },
      {
        "title": "What's New (2026-03-10 v1.5.2)",
        "body": "Added A–Z alphabet filter in the per-agent Browse Apps modal for fast app lookup by starting letter\nAdded active letter indicator in results summary (e.g., Letter: Q)\nImproved app card readability in Browse Apps (wrapped names, reduced truncation)\nUpdated reference snapshots for latest app catalog fallback + CSP compatibility path"
      },
      {
        "title": "What's New (2026-03-10 v1.5.1)",
        "body": "Added explicit metadata declarations for config paths, capabilities, persistence, and security notes\nClarified persistent behavior (optional cron token refresh) and sensitive file access in docs\nAligned docs with actual paths under ~/.openclaw/"
      },
      {
        "title": "What's New (2026-03-01 v1.3.0)",
        "body": "Per-agent app connections — App connections moved to Agents → [Agent] → Tools → Pipedream\nGlobal tab = credentials only — The Pipedream tab is now for platform auth (Client ID/Secret/Project ID) only\nExternal User ID defaults to agent slug — e.g. main, scout-monitor (not a UUID)\nLive connected apps — Refresh queries the Pipedream API for real connected accounts\nEnvironment warning — Agent panel shows a warning when running in development mode\nNew RPCs: pipedream.connect, pipedream.disconnect, pipedream.test (per-agent, use agentId + appSlug)"
      },
      {
        "title": "What's New (v1.3.0) — Vault-Backed Secrets",
        "body": "clientId and clientSecret stored in ~/.openclaw/secrets.json (OpenClaw vault) — no longer plaintext in pipedream-credentials.json\nPIPEDREAM_CLIENT_SECRET removed from mcporter.json env — client secret is never written to mcporter config\nAuto-migration: on first gateway start after upgrade, existing pipedream-credentials.json secrets are silently moved to vault and stripped from the file\nToken refresh script now reads from vault first (falls back to credentials.json → mcporter.json for backwards compat)\npipedream-credentials.json now contains only non-sensitive fields: projectId, environment, externalUserId\nVirusTotal \"suspicious\" flag resolved — no plaintext credential files"
      },
      {
        "title": "Architecture",
        "body": "Global Pipedream Tab\n  └── Platform credentials (Client ID, Secret, Project ID, Environment)\n  └── Agent quick-links table (→ navigate to per-agent config)\n\nAgents → [Agent] → Tools → Pipedream\n  └── External User ID (defaults to agent slug)\n  └── Connected Apps (live from Pipedream API)\n  └── Available Apps grid + Browse All Apps modal\n  └── Manual slug entry"
      },
      {
        "title": "Prerequisites",
        "body": "Pipedream Account — pipedream.com\nmcporter — npm install -g mcporter\nOpenClaw Gateway — v2026.1.0 or later"
      },
      {
        "title": "Step 1: Create OAuth Client & Project",
        "body": "Go to pipedream.com/settings/api → New OAuth Client\nCopy Client ID and Client Secret\nGo to pipedream.com/projects → create a project\nCopy Project ID (proj_...)"
      },
      {
        "title": "Step 2: Configure Platform Credentials",
        "body": "OpenClaw Dashboard → Pipedream tab → Configure\nEnter Client ID, Client Secret, Project ID\nSet Environment to production (not development — development tokens expire faster and have lower rate limits)\nClick Save Credentials"
      },
      {
        "title": "Step 3: Connect Apps Per Agent",
        "body": "Go to Agents → [Agent] → Tools → Pipedream\nVerify the External User ID (defaults to agent slug, e.g. main)\nClick Connect on any app in the grid — completes OAuth in a popup\nClick ↻ Refresh after OAuth completes to see the app appear in Connected Apps"
      },
      {
        "title": "Step 4: Token Refresh (Recommended)",
        "body": "# Cron job — runs every 45 minutes\n(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 -"
      },
      {
        "title": "Per-Agent Isolation",
        "body": "Each agent uses a separate Pipedream external_user_id:\n\nAgentExternal User IDPipedream IdentitymainmainIsolated OAuth tokensscout-monitorscout-monitorIsolated OAuth tokensscout-sparkscout-sparkIsolated OAuth tokens\n\nConfig stored at: ~/.openclaw/workspace/config/integrations/pipedream/{agentId}.json\n\nExternal User ID defaults to agent slug. Override it in Agents → Tools → Pipedream → Edit."
      },
      {
        "title": "Global (credentials)",
        "body": "RPCParamsDescriptionpipedream.status—Get global credential status + agent summariespipedream.saveCredentialsclientId, clientSecret, projectId, environmentSave platform credentialspipedream.getToken—Get/refresh the platform OAuth access tokenpipedream.getConnectUrlagentId, appSlugGet OAuth connect URL for a user+apppipedream.connectAppagentId, appSlugComplete app connection + write to mcporterpipedream.disconnectAppagentId, appSlugDisconnect app + remove from mcporterpipedream.refreshTokenagentId?, appSlug?Refresh token(s) — all or specific agent/apppipedream.activateagentId, appSlugActivate an app (add to mcporter if not present)"
      },
      {
        "title": "Per-Agent",
        "body": "RPCParamsDescriptionpipedream.agent.statusagentIdGet config + live connected apps from APIpipedream.agent.saveagentId, externalUserIdSave per-agent configpipedream.agent.deleteagentIdRemove per-agent configpipedream.connectagentId, appSlugGet OAuth connect URL for agentpipedream.disconnectagentId, appSlugDisconnect app + remove from mcporterpipedream.testagentId, appSlugTest app connection"
      },
      {
        "title": "Using Connected Tools",
        "body": "# Gmail (agent: main → externalUserId: main)\nmcporter call pipedream-main-gmail.gmail-find-email \\\n  instruction=\"Find unread emails from today\"\n\n# Google Calendar (agent: scout-monitor)\nmcporter call pipedream-scout-monitor-google-calendar.google-calendar-find-event \\\n  instruction=\"Find events for tomorrow\"\n\nServer names follow the pattern: pipedream-{externalUserId}-{appSlug}"
      },
      {
        "title": "Environment: Development vs Production",
        "body": "⚠️ Use Production for real work:\n\nDevelopment tokens expire faster and have lower rate limits\nSet in: Pipedream tab → Edit credentials → Environment → Production\nThe agent Pipedream panel shows a warning when running in development mode"
      },
      {
        "title": "Security",
        "body": "BehaviorDetailclientIdStored in ~/.openclaw/secrets.json (vault, 0600)clientSecretStored in ~/.openclaw/secrets.json (vault, 0600) — never in plaintext config filesNon-secret config~/.openclaw/workspace/config/pipedream-credentials.json — projectId, environment, externalUserId onlyPer-agent config~/.openclaw/workspace/config/integrations/pipedream/{agentId}.jsonAccess tokens (JWT)Short-lived Bearer token in mcporter.json Authorization header — acceptable, refreshed every 45 minmcporter envPIPEDREAM_CLIENT_SECRET is never written to mcporter.jsonExternal API callsapi.pipedream.com, remote.mcp.pipedream.netAuto-migrationExisting plaintext credentials.json secrets automatically moved to vault on first gateway start"
      },
      {
        "title": "Troubleshooting",
        "body": "Connected app not showing after OAuth\n→ Click ↻ Refresh — the panel queries the Pipedream API live for connected accounts\n\nunknown method: pipedream.connect\n→ Rebuild and restart gateway: pnpm build && openclaw gateway restart\n\nNo Pipedream credentials configured\n→ Set up credentials in the global Pipedream tab first\n\nDevelopment environment warning\n→ Edit credentials in Pipedream tab, change Environment to production, save\n\nToken expired\n→ Set up the 45-minute cron job above, or click Connect again to re-authorize"
      },
      {
        "title": "Support",
        "body": "ClawHub: clawhub.ai/skills/pipedream-connect\nPipedream Docs: pipedream.com/docs\nMCP Apps: mcp.pipedream.com\nOpenClaw Discord: discord.com/invite/clawd"
      },
      {
        "title": "Reference Files",
        "body": "FilePurposereference/pipedream-backend.tsGateway RPC handlers (all pipedream.* methods)reference/pipedream-views.tsGlobal Pipedream tab UI (Lit)reference/pipedream-controller.tsGlobal tab state managementreference/agent-pipedream-views.tsPer-agent Pipedream panel UI (Agents → Tools → Pipedream)reference/agent-pipedream-controller.tsPer-agent state managementreference/control-ui-csp.tsControl UI CSP policy (connect-src allowlist)reference/README.mdReference file notesscripts/Token refresh and utility scripts"
      }
    ],
    "body": "Pipedream Connect\n\nConnect your AI agents to 2,000+ APIs with managed OAuth via Pipedream. Each agent gets its own isolated app connections and OAuth tokens.\n\nWhat's New (2026-03-10 v1.5.2)\nAdded A–Z alphabet filter in the per-agent Browse Apps modal for fast app lookup by starting letter\nAdded active letter indicator in results summary (e.g., Letter: Q)\nImproved app card readability in Browse Apps (wrapped names, reduced truncation)\nUpdated reference snapshots for latest app catalog fallback + CSP compatibility path\nWhat's New (2026-03-10 v1.5.1)\nAdded explicit metadata declarations for config paths, capabilities, persistence, and security notes\nClarified persistent behavior (optional cron token refresh) and sensitive file access in docs\nAligned docs with actual paths under ~/.openclaw/\nWhat's New (2026-03-01 v1.3.0)\nPer-agent app connections — App connections moved to Agents → [Agent] → Tools → Pipedream\nGlobal tab = credentials only — The Pipedream tab is now for platform auth (Client ID/Secret/Project ID) only\nExternal User ID defaults to agent slug — e.g. main, scout-monitor (not a UUID)\nLive connected apps — Refresh queries the Pipedream API for real connected accounts\nEnvironment warning — Agent panel shows a warning when running in development mode\nNew RPCs: pipedream.connect, pipedream.disconnect, pipedream.test (per-agent, use agentId + appSlug)\nWhat's New (v1.3.0) — Vault-Backed Secrets\nclientId and clientSecret stored in ~/.openclaw/secrets.json (OpenClaw vault) — no longer plaintext in pipedream-credentials.json\nPIPEDREAM_CLIENT_SECRET removed from mcporter.json env — client secret is never written to mcporter config\nAuto-migration: on first gateway start after upgrade, existing pipedream-credentials.json secrets are silently moved to vault and stripped from the file\nToken refresh script now reads from vault first (falls back to credentials.json → mcporter.json for backwards compat)\npipedream-credentials.json now contains only non-sensitive fields: projectId, environment, externalUserId\nVirusTotal \"suspicious\" flag resolved — no plaintext credential files\nArchitecture\nGlobal Pipedream Tab\n  └── Platform credentials (Client ID, Secret, Project ID, Environment)\n  └── Agent quick-links table (→ navigate to per-agent config)\n\nAgents → [Agent] → Tools → Pipedream\n  └── External User ID (defaults to agent slug)\n  └── Connected Apps (live from Pipedream API)\n  └── Available Apps grid + Browse All Apps modal\n  └── Manual slug entry\n\nPrerequisites\nPipedream Account — pipedream.com\nmcporter — npm install -g mcporter\nOpenClaw Gateway — v2026.1.0 or later\nSetup\nStep 1: Create OAuth Client & Project\nGo to pipedream.com/settings/api → New OAuth Client\nCopy Client ID and Client Secret\nGo to pipedream.com/projects → create a project\nCopy Project ID (proj_...)\nStep 2: Configure Platform Credentials\nOpenClaw Dashboard → Pipedream tab → Configure\nEnter Client ID, Client Secret, Project ID\nSet Environment to production (not development — development tokens expire faster and have lower rate limits)\nClick Save Credentials\nStep 3: Connect Apps Per Agent\nGo to Agents → [Agent] → Tools → Pipedream\nVerify the External User ID (defaults to agent slug, e.g. main)\nClick Connect on any app in the grid — completes OAuth in a popup\nClick ↻ Refresh after OAuth completes to see the app appear in Connected Apps\nStep 4: Token Refresh (Recommended)\n# Cron job — runs every 45 minutes\n(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 -\n\nPer-Agent Isolation\n\nEach agent uses a separate Pipedream external_user_id:\n\nAgent\tExternal User ID\tPipedream Identity\nmain\tmain\tIsolated OAuth tokens\nscout-monitor\tscout-monitor\tIsolated OAuth tokens\nscout-spark\tscout-spark\tIsolated OAuth tokens\n\nConfig stored at: ~/.openclaw/workspace/config/integrations/pipedream/{agentId}.json\n\nExternal User ID defaults to agent slug. Override it in Agents → Tools → Pipedream → Edit.\n\nRPC Reference\nGlobal (credentials)\nRPC\tParams\tDescription\npipedream.status\t—\tGet global credential status + agent summaries\npipedream.saveCredentials\tclientId, clientSecret, projectId, environment\tSave platform credentials\npipedream.getToken\t—\tGet/refresh the platform OAuth access token\npipedream.getConnectUrl\tagentId, appSlug\tGet OAuth connect URL for a user+app\npipedream.connectApp\tagentId, appSlug\tComplete app connection + write to mcporter\npipedream.disconnectApp\tagentId, appSlug\tDisconnect app + remove from mcporter\npipedream.refreshToken\tagentId?, appSlug?\tRefresh token(s) — all or specific agent/app\npipedream.activate\tagentId, appSlug\tActivate an app (add to mcporter if not present)\nPer-Agent\nRPC\tParams\tDescription\npipedream.agent.status\tagentId\tGet config + live connected apps from API\npipedream.agent.save\tagentId, externalUserId\tSave per-agent config\npipedream.agent.delete\tagentId\tRemove per-agent config\npipedream.connect\tagentId, appSlug\tGet OAuth connect URL for agent\npipedream.disconnect\tagentId, appSlug\tDisconnect app + remove from mcporter\npipedream.test\tagentId, appSlug\tTest app connection\nUsing Connected Tools\n# Gmail (agent: main → externalUserId: main)\nmcporter call pipedream-main-gmail.gmail-find-email \\\n  instruction=\"Find unread emails from today\"\n\n# Google Calendar (agent: scout-monitor)\nmcporter call pipedream-scout-monitor-google-calendar.google-calendar-find-event \\\n  instruction=\"Find events for tomorrow\"\n\n\nServer names follow the pattern: pipedream-{externalUserId}-{appSlug}\n\nEnvironment: Development vs Production\n\n⚠️ Use Production for real work:\n\nDevelopment tokens expire faster and have lower rate limits\nSet in: Pipedream tab → Edit credentials → Environment → Production\nThe agent Pipedream panel shows a warning when running in development mode\nSecurity\nBehavior\tDetail\nclientId\tStored in ~/.openclaw/secrets.json (vault, 0600)\nclientSecret\tStored in ~/.openclaw/secrets.json (vault, 0600) — never in plaintext config files\nNon-secret config\t~/.openclaw/workspace/config/pipedream-credentials.json — projectId, environment, externalUserId only\nPer-agent config\t~/.openclaw/workspace/config/integrations/pipedream/{agentId}.json\nAccess tokens (JWT)\tShort-lived Bearer token in mcporter.json Authorization header — acceptable, refreshed every 45 min\nmcporter env\tPIPEDREAM_CLIENT_SECRET is never written to mcporter.json\nExternal API calls\tapi.pipedream.com, remote.mcp.pipedream.net\nAuto-migration\tExisting plaintext credentials.json secrets automatically moved to vault on first gateway start\nTroubleshooting\n\nConnected app not showing after OAuth → Click ↻ Refresh — the panel queries the Pipedream API live for connected accounts\n\nunknown method: pipedream.connect → Rebuild and restart gateway: pnpm build && openclaw gateway restart\n\nNo Pipedream credentials configured → Set up credentials in the global Pipedream tab first\n\nDevelopment environment warning → Edit credentials in Pipedream tab, change Environment to production, save\n\nToken expired → Set up the 45-minute cron job above, or click Connect again to re-authorize\n\nSupport\nClawHub: clawhub.ai/skills/pipedream-connect\nPipedream Docs: pipedream.com/docs\nMCP Apps: mcp.pipedream.com\nOpenClaw Discord: discord.com/invite/clawd\nReference Files\nFile\tPurpose\nreference/pipedream-backend.ts\tGateway RPC handlers (all pipedream.* methods)\nreference/pipedream-views.ts\tGlobal Pipedream tab UI (Lit)\nreference/pipedream-controller.ts\tGlobal tab state management\nreference/agent-pipedream-views.ts\tPer-agent Pipedream panel UI (Agents → Tools → Pipedream)\nreference/agent-pipedream-controller.ts\tPer-agent state management\nreference/control-ui-csp.ts\tControl UI CSP policy (connect-src allowlist)\nreference/README.md\tReference file notes\nscripts/\tToken refresh and utility scripts"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/maverick-software/pipedream-connect",
    "publisherUrl": "https://clawhub.ai/maverick-software/pipedream-connect",
    "owner": "maverick-software",
    "version": "1.5.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/pipedream-connect",
    "downloadUrl": "https://openagent3.xyz/downloads/pipedream-connect",
    "agentUrl": "https://openagent3.xyz/skills/pipedream-connect/agent",
    "manifestUrl": "https://openagent3.xyz/skills/pipedream-connect/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/pipedream-connect/agent.md"
  }
}