PipedreamHQ / PipedreamHQ/pipedream
Zendesk
- Dominant language
- JavaScript
- Stars
- 11.7k
- Forks
- 5.8k
- Avg merge
- 3d 10h
- Merged PRs (30d)
- 102
Description
### App
Zendesk
### Summary:
Pipedream connect for Zendesk have empty $auth at runtime (subdomain + token not injected), also reproduces when trying through Pipedream dashboard + sdk
### Details:
Project: proj_YRsMzLG (Connect, production)
Every Zendesk account connected via Pipedream Connect is unusable at runtime: $auth is empty when components execute. actions.run builds requests against https://undefined.zendesk.com/... (missing $auth.subdomain) and sends a bearer token Zendesk rejects (WWW-Authenticate: Bearer realm=Zendesk::OAuth, error=invalid_token). The Connect Proxy fails identically (401) even with an explicit full URL to the correct instance.
Affected accounts (all reported healthy:true by accounts.list):
- apn_7rhXva6 — production, external user 20ac7f34-bc91-401a-9e77-1da0a75ac57f, connected 2026-07-30 08:07 UTC (a customer of ours — blocking their onboarding)
- apn_ZWhDokB — production, external user 69df5d81-2b74-4f42-a401-13eb96ba0619, connected 2026-07-30 15:47 UTC via YOUR dashboard (project → Users → Connect account → Connect Zendesk)
- apn_yghYBP9 (11:11 UTC) and apn_86hEpgG (15:40 UTC) — earlier connects of the same instance today, same failure; since disconnected during retesting
Verified:
1. Users completed the hosted connect flow normally, including the subdomain custom-field screen (subdomain "diligentai" entered correctly on the test instance).
2. The OAuth grant completed on Zendesk's side: Admin Center → External OAuth clients shows your global client (ID 955) with an ACTIVE token minted at connect time (token prefix …6AFvpTAsDw… on diligentai.zendesk.com), scopes: read, tickets:read+write, users:write, organizations:read+write, triggers:write, webhooks:write. Screenshots attached.
3. Runtime repro: actions.run with { id: "zendesk-list-tickets", externalUserId: "", configuredProps: { zendesk: { authProvisionId: "apn_…" } } } → component debug output shows the 401 response with Domain=undefined.zendesk.com in the Set-Cookie headers, i.e. this.zendesk.$auth.subdomain is undefined inside your runtime and the bearer token sent is rejected.
4. proxy.get with the full URL https://diligentai.zendesk.com/api/v2/users/me.json (correct subdomain, same account) → 401 as well.
5. Reproduced issue outside of SDK: apn_ZWhDokB was created entirely through your dashboard's Connect-account flow and fails identically.
6. Disconnect + reconnect does NOT repair an account (tested twice today).
Please can we have this resolved/.
### Screenshots:
No screenshots included
Contributor guide
Research direction
Start by reproducing the failure through actions.run with zendesk-list-tickets and through proxy.get using the full Zendesk URL, then compare the missing subdomain and rejected bearer token with the hosted Connect flow. Trace how the configured zendesk authProvisionId becomes runtime $auth. Done means connected Zendesk accounts provide the subdomain and a token accepted by Zendesk in both paths.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- api, authentication, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100