After getting our Zapier OAuth integration working, we figured Pipedream would be similar. Build the OAuth endpoints, submit the app, wait for approval.
We were half right.
The Plot Twist: No Developer Dashboard
Zapier has a developer platform where you:
- Create an app
- Configure OAuth settings
- Upload your client ID/secret
- Submit for review
Pipedream? None of that.
There's no developer dashboard. No self-service portal. No "Create New App" button.
Instead, you open a GitHub issue.
"Wait, what?"
The Process (It's Actually Fast)
Step 1: Open a GitHub Issue
I created issue #19728 with:
- App name and description
- Link to API documentation
- OAuth endpoints
- Triggers and actions I wanted to build
- Note that I had component code ready
**OAuth 2.0 Details:**
- Authorization URL: https://jo4-api.jo4.io/oauth/authorize
- Token URL: https://jo4-api.jo4.io/oauth/token
- PKCE Support: Yes (required, S256)
- Scopes: read, write
I have the complete component code ready and can submit PR
once OAuth App ID is provided.
Step 2: Human Responds (Same Day!)
Within hours, someone from the Pipedream integrations team replied asking how they could get OAuth 2.0 credentials to start integrating.
No ticket queue. No "we'll get back to you in 3-5 business days." A real person, asking a real question.
Step 3: Exchange Credentials via Email
Here's where it gets interesting. They asked me to email the OAuth client credentials directly to a team member.
No secure portal. No encrypted upload form. Just... email.
Is this concerning? Maybe. But here's the thing: these credentials are specific to Pipedream's redirect URI. They can't be used anywhere else. And the speed of a direct email beats waiting for a ticket system.
Tip I shared with them:
"It would be nice if you had a workflow where admins can upload credentials through a secure form that goes through validations before you review/approve. Seen this in other places—thought I'd share."
They're probably working on it. But honestly? The current process worked fine.
Step 4: App Submitted for QA
Four days after opening the issue, they confirmed the Jo4 app was submitted for QA as an OAuth 2.0 app.
That's it. From GitHub issue to QA queue in under a week.
The Wait (Current Status)
As of writing, the app is "awaiting QA." When I tried to access the app link, I got a 404:
I asked if the 404 was expected. It was — the app isn't released until it clears QA.
Fair enough. The QA process takes time. But the human interaction throughout has been stellar.
What We Reused from Zapier
The beautiful part: we didn't write new OAuth code.
Our Zapier integration required:
- OAuth 2.0 Authorization Code flow
- Mandatory PKCE (S256)
- Token refresh support
- Proper error responses
Pipedream needs... exactly the same thing.
Same endpoints:
/oauth/authorize
/oauth/token
/oauth/userinfo
Same PKCE requirement:
code_challenge_method: S256
Same token format:
{ access_token, refresh_token, expires_in, scope }
The only difference was creating a new OAuth client with Pipedream's redirect URI:
https://api.pipedream.com/connect/oauth/oa_XXXXX/callback
Everything else? Already done.
The Triggers and Actions
What we're shipping:
| Type | Name | Description |
|---|---|---|
| Trigger | New URL Created | Webhook fires when user creates a short URL |
| Trigger | New Referrer Domain | Webhook fires when link gets traffic from new source |
| Action | Create Short URL | Create with optional custom slug |
| Action | Get URL Details | Retrieve URL by slug |
| Action | List URLs | Paginated list of all URLs |
Same as Zapier. Same webhook infrastructure. Same REST Hook pattern (subscribe/unsubscribe).
Why Human-First Integration Is Actually Better
I've submitted apps to various platforms. Here's the typical experience:
- Fill out 47 form fields
- Upload screenshots in specific dimensions
- Wait 2 weeks for automated rejection
- Resubmit with minor changes
- Wait another 2 weeks
- Repeat
Pipedream's approach:
- Open issue with relevant details
- Human asks clarifying questions
- Email credentials
- App in QA within a week
The human touch catches edge cases faster. Their team noticed I mentioned API keys require an upgrade on our free tier and asked specifically about OAuth credentials. A form wouldn't have caught that nuance.
Timeline Summary
| Date | Event |
|---|---|
| Jan 19 | Opened GitHub issue |
| Jan 19 | Pipedream team responds (same day) |
| Jan 21 | Credentials exchanged via email |
| Jan 23 | App submitted for QA |
| Jan 30 | Follow-up—still awaiting QA |
| Now | Waiting for release |
Total time from "I want to integrate with Pipedream" to "app in QA": 4 days.
Lessons Learned
1. OAuth Investment Pays Dividends
The three days we spent getting OAuth right for Zapier? Zero additional work for Pipedream. Same endpoints, same PKCE, same token format.
2. Human Support > Automated Portals (Sometimes)
For small-to-medium apps, direct human contact is faster. Their team answered questions I didn't know I had.
3. Document Everything in the Issue
The more context you provide upfront, the fewer back-and-forth messages. I included:
- Full OAuth spec
- Available scopes
- Trigger/action descriptions
- Link to Swagger docs
4. Be Patient with QA
The integration team is fast. QA takes time. That's okay—they're protecting their users.
What's Next
Once the app clears QA, we'll:
- Submit the PR with component code
- Test the full flow end-to-end
- Write documentation
- Announce the integration
We'll update this post when it's live.
Have you integrated with Pipedream? What was your experience with their process?
Building jo4.io - URL shortener with analytics. Soon available on Pipedream alongside Zapier.