DEV Community

Anand Rathnas
Anand Rathnas

Posted on • Originally published at jo4.io

Getting Your App on Pipedream: No Dashboard, Just Humans (And That's Actually Great)

This article was originally published on Jo4 Blog.

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:

  1. Create an app
  2. Configure OAuth settings
  3. Upload your client ID/secret
  4. 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.
Enter fullscreen mode Exit fullscreen mode

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 }
Enter fullscreen mode Exit fullscreen mode

The only difference was creating a new OAuth client with Pipedream's redirect URI:

https://api.pipedream.com/connect/oauth/oa_XXXXX/callback
Enter fullscreen mode Exit fullscreen mode

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:

  1. Fill out 47 form fields
  2. Upload screenshots in specific dimensions
  3. Wait 2 weeks for automated rejection
  4. Resubmit with minor changes
  5. Wait another 2 weeks
  6. Repeat

Pipedream's approach:

  1. Open issue with relevant details
  2. Human asks clarifying questions
  3. Email credentials
  4. 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:

  1. Submit the PR with component code
  2. Test the full flow end-to-end
  3. Write documentation
  4. 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.

Top comments (0)