PipedreamHQ / PipedreamHQ/pipedream

Zendesk

Open
#21,540 2 comments 0 reactions 0 assignees View on GitHub
bug triaged user request
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.