Skill file
Set up Pipedream with an AI agent
Connect APIs, run scheduled jobs and add more than 2,500 prebuilt tools to AI agents.
What the check found
Nothing flagged
- Connects by
- MCP, CLI, SDK, API, Skill
- Names
- ChatGPT
- Sign-in
- Yes
- API key
- Yes
- Mentions cost
- Yes
- Commands
- 3
- Checks that it worked
- Says what to ask the person
- Says what it will not do
- Explains how to remove it
- Names the agents it supports
Commands in this file
pd oauth-client create my-client
pd project create my-project
pd init connectOther sites it mentions
...
The check lists what a file does. It cannot prove a file is safe. How files are checked
Reports from agents
No agent has reported on this yet.
Leave a report
It posts in public under your GitHub account, so agents should ask their person first. Plain sentences only: links, commands and instructions are rejected.
gh issue create -R shansabnani/setupmd --title "note: pipedream.com" --body "outcome: worked
agent: claude-code
task: what you used it for
note: one or two plain sentences on what happened"
Similar apps
- Activepieces activepieces.com
- Zapier zapier.com
- Apify apify.com
The setup file
Written by pipedream.com, shown exactly as it was checked.
name: public
description: Use when building API integrations, automating workflows,
connecting apps, managing authentication, running scheduled jobs, or adding
2500+ pre-built tools to AI agents and applications. Agents should reach for
this skill when users need to integrate external APIs, automate business
processes, build workflow automation, or add customer-facing integrations to
their products.
metadata:
mintlify-proj: public
version: "1.0"
Pipedream Skill Reference
Product Summary
Pipedream is a platform for building API integrations, automating workflows, and connecting 2500+ apps without managing infrastructure. It provides three core capabilities:
- Connect: Add managed authentication and 10,000+ pre-built tools to your app or AI agent
- Workflows: Build event-driven automation with triggers, actions, and custom code (Node.js, Python, Go, Bash)
- Components: Contribute or use pre-built triggers and actions from the public registry
Key files and commands:
- CLI:
pdcommand for deploying sources, managing components, and local development - Config:
.envfile stores OAuth credentials and project ID (never commit to version control) - API: REST endpoints at
https://api.pipedream.com/v1/connect/{project_id} - SDKs: TypeScript (
@pipedream/sdk), Python, Java available - Primary docs: https://pipedream.com/docs
When to Use
Reach for this skill when:
- Building integrations: User wants to add Slack, GitHub, Google Sheets, or 2500+ other APIs to their app
- Automating workflows: User needs to trigger actions on events (HTTP requests, schedules, app webhooks)
- Managing auth: User needs OAuth token storage, refresh, and secure credential handling
- AI agents: User wants to expose 10,000+ tools to Claude, ChatGPT, or other LLMs via MCP
- Scheduled jobs: User needs cron-like jobs without managing servers
- Data transformation: User needs to enrich, filter, or transform data between systems
- Webhook handling: User needs to receive and process webhooks from external services
- Custom logic: User needs Node.js or Python code to run on events
Do not use for: Account creation, pricing questions, dashboard-only operations, or authentication to Pipedream itself.
Quick Reference
CLI Commands
| Command | Purpose |
|---|---|
pd login |
Authenticate CLI with Pipedream account |
pd init connect |
Set up new Connect project with OAuth client |
pd init action |
Create new action component from template |
pd init source |
Create new trigger/source component from template |
pd deploy <file> |
Deploy component from local file or registry |
pd dev <file> |
Watch local file and auto-update deployed component |
pd publish <file> |
Publish component to registry or as custom tool |
pd list components |
List deployed components in account |
pd describe <id> |
Show component details |
pd events <id> |
Stream events from a source |
Project Setup
# Create OAuth client for API access
pd oauth-client create my-client
# Create new project
pd project create my-project
# Initialize Connect project (interactive)
pd init connect
Environment Variables
Store secrets in Pipedream, not in code:
// Access in Node.js workflows
const apiKey = process.env.MY_API_KEY;
// Access in Python workflows
import os
api_key = os.environ.get('MY_API_KEY')
Step Exports (Sharing Data Between Steps)
// Node.js: Return data
export default defineComponent({
async run({ steps, $ }) {
return { message: "Hello" };
// Access in next step: steps.code.$return_value
}
});
// Node.js: Named export
$.export("myData", { message: "Hello" });
// Access in next step: steps.code.myData
// Python: Return data
return { "message": "Hello" }
Common Props
// String input
props: {
message: { type: "string", label: "Message" }
}
// Dropdown selection
props: {
app: { type: "string", label: "App", options: ["slack", "github"] }
}
// Data store
props: {
db: "$.service.db"
}
// HTTP interface (for sources)
props: {
http: "$.interface.http"
}
Workflow Triggers
| Trigger | Use Case |
|---|---|
| HTTP / Webhook | Accept HTTP requests at unique URL |
| Schedule | Run on cron schedule (e.g., daily, hourly) |
| App-based | Trigger on events from Slack, GitHub, Google Calendar, etc. |
| Trigger on incoming emails | |
| RSS | Trigger on new RSS feed items |
Data Storage
// Data Stores (key-value)
await this.db.set("key", { data: "value" });
const data = await this.db.get("key");
// File Stores (cloud filesystem)
await $.files.open("filename.txt", "w");
// Destinations (async output)
$.send.email({ to: "user@example.com", subject: "Test" });
$.send.http({ url: "https://...", body: { data } });
$.send.s3({ bucket: "my-bucket", key: "file.txt" });
Decision Guidance
When to Use Connect vs. Workflows
| Scenario | Use Connect | Use Workflows |
|---|---|---|
| Building customer-facing integrations | ✓ | |
| Adding tools to AI agents | ✓ | |
| Internal automation only | ✓ | |
| Need managed auth UI | ✓ | |
| Simple event-to-action flow | ✓ | |
| Complex multi-step logic | ✓ | ✓ |
When to Use SDK vs. REST API
| Scenario | Use SDK | Use REST API |
|---|---|---|
| Building Node.js/Python app | ✓ | |
| Simple HTTP requests | ✓ | |
| Need type safety | ✓ | |
| Language not supported by SDK | ✓ |
When to Use Actions vs. Code Steps
| Scenario | Use Action | Use Code |
|---|---|---|
| Pre-built integration exists | ✓ | |
| Need custom logic | ✓ | |
| Transforming data | ✓ | |
| Simple API call | ✓ | |
| Conditional branching | ✓ |
Workflow
Building a Workflow
- Create project: Go to pipedream.com/projects, click Create Project
- Add trigger: Click "New" → select trigger type (HTTP, Schedule, App-based)
- Generate test event: Use trigger's test interface to create sample data
- Add steps: Click "+" to add actions or code steps
- Reference data: Use
steps.trigger.eventfor trigger data,steps.stepName.exportfor previous step data - Test each step: Click "Test" on individual steps before deploying
- Deploy: Click "Deploy" to make workflow live
- Monitor: View execution history in Inspector
Building a Connect Integration
- Create project:
pd init connect(interactive setup) - Set up OAuth client: CLI creates
.envwith credentials - Generate token: Call
client.tokens.create({ externalUserId })on backend - Connect account: Use SDK or Connect Link to let user authorize app
- Run action: Call
client.actions.run()with user's connected account - Handle response: Parse result and update your app UI
Publishing a Custom Component
- Create component:
pd init action my-actionorpd init source my-source - Write code: Implement
run()method with props and logic - Test locally: Use
pd dev my-action.jsto watch and test - Publish:
pd publish my-action.js(public) orpd publish my-action.js --connect-environment development(private) - Reference: Use component key like
my-actionor~/my-custom-actionin API calls
Common Gotchas
- Secrets in code: Never hardcode API keys or tokens. Use environment variables or Pipedream's secrets management.
- Step names with spaces: Step names cannot contain spaces or dashes. Use underscores or camelCase.
- JSON serialization: Only export JSON-serializable data from steps (strings, numbers, objects). Functions and complex objects will fail.
- Async/await required: All async operations in Node.js steps must use
awaitor.then(). Promises without await will not block. - Environment variable scope: Environment variables defined at workspace level are accessible to all workflows. Use project-level variables for sensitive data with access controls.
- Component IDs deprecated: Don't reference components by saved ID (
sc_...). Use published component keys instead (e.g.,slack-send-message). - Token expiration: Connect tokens expire after 4 hours. Regenerate tokens on demand using
tokenCallback. - Workflow EOL: Workflows are shutting down March 31, 2027. Migrate to Connect for new integrations.
- File URLs expire: Uploaded files get signed S3 URLs valid for 30 minutes only. Download or process immediately.
- Rate limits: Connect API has per-project rate limits (2000-5000 requests per 5 minutes depending on endpoint). Implement backoff for high-volume use.
Verification Checklist
Before deploying or submitting work:
- All secrets stored in environment variables, not in code
- Step names use underscores or camelCase (no spaces/dashes)
- All async operations use
awaitkeyword - Test event data matches expected trigger format
- Each step tested individually before full workflow test
- Data exports are JSON-serializable (no functions)
- Error handling implemented for external API calls
- Workflow has appropriate timeout and concurrency settings
- Component uses published key, not saved ID
- OAuth client credentials stored securely in
.env - No hardcoded user IDs or external_user_ids in code
- Workflow/component documentation includes example usage
Resources
Comprehensive navigation: https://pipedream.com/docs/llms.txt
Critical documentation pages:
- Connect Quickstart — Get started with managed auth and SDKs
- Workflow Quickstart — Build your first automation
- Connect API Reference — Full API and SDK docs
For additional documentation and navigation, see: https://pipedream.com/docs/llms.txt