Skip to content

[20714] fix(zoho_desk): handle missing errors array in makeRequest - #20820

Merged
ashwins01 merged 4 commits into
PipedreamHQ:masterfrom
ashwins01:issue-20714-zoho-desk
May 11, 2026
Merged

[20714] fix(zoho_desk): handle missing errors array in makeRequest#20820
ashwins01 merged 4 commits into
PipedreamHQ:masterfrom
ashwins01:issue-20714-zoho-desk

Conversation

@ashwins01

@ashwins01 ashwins01 commented May 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Closes issue #20714

  • Add optional-chaining on errors array
  • Add static fallback error message
  • Patch-bump versions for zoho-desk component and all its actions & sources

Video displaying before & after:

zoho-desk-error-test_blurred.mp4

Checklist

Please check the following items before your PR can be reviewed:

Versioning

  • All components updated in this PR had their version updated (0.0.1 for new ones)
  • The app updated in this PR had its package.json's version updated

New app

If this is a new app, please submit an app integration request - the PR will only be reviewed after the app is integrated.

  • The app updated in this PR is already integrated

CodeRabbit review

After the PR is opened, and if new changes are pushed, CodeRabbit will automatically review it. Do not 'mark as resolved' CodeRabbit's comments, but reply to them instead, whether you agree (and update the PR accordingly) or disagree.

  • I have addressed or acknowledged all of CodeRabbit's review comments

Summary by CodeRabbit

  • Bug Fixes

    • Improved Zoho Desk API error messages with broader fallbacks for clearer, more actionable errors.
  • Chores

    • Bumped versions across Zoho Desk actions, sources, and package for maintenance and compatibility.

- Add optional-chaining on errors array
- Add static fallback error message
- Patch-bump versions for zoho-desk component and all its actions & sources
@vercel

vercel Bot commented May 8, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
pipedream-docs-redirect-do-not-edit Ignored Ignored May 11, 2026 2:46pm

Request Review

@pipedream-component-development

Copy link
Copy Markdown
Collaborator

Thank you so much for submitting this! We've added it to our backlog to review, and our team has been notified.

@pipedream-component-development

Copy link
Copy Markdown
Collaborator

Thanks for submitting this PR! When we review PRs, we follow the Pipedream component guidelines. If you're not familiar, here's a quick checklist:

@coderabbitai

coderabbitai Bot commented May 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack
No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 306aaa81-c4e5-4a40-a4d9-fe6be11999f0

📥 Commits

Reviewing files that changed from the base of the PR and between 660fd7f and 32bec94.

📒 Files selected for processing (1)
  • components/zoho_desk/actions/update-contact/update-contact.mjs

📝 Walkthrough

Walkthrough

This PR updates the Zoho Desk component to v0.5.1: it increments version metadata for many actions and sources, bumps the package.json version, and improves error-message selection in makeRequest with prioritized fallbacks.

Changes

Zoho Desk Release Update

Layer / File(s) Summary
Error Handling Improvement
components/zoho_desk/zoho_desk.app.mjs
makeRequest error handler now builds ConfigurationError messages with a prioritized fallback chain: errors[0].errorMessageresponse.data.messageerror.message → generic error string.
Action Version Metadata Bumps
components/zoho_desk/actions/*/*
27 action modules had their exported version fields incremented; no runtime logic or exported behavior changes.
Source Version Metadata Bumps
components/zoho_desk/sources/*/*
12 source modules had their exported version fields incremented; no runtime logic or exported behavior changes.
Package Version Metadata
components/zoho_desk/package.json
Package version bumped from 0.5.00.5.1.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Suggested reviewers

  • luancazarine
  • jcortes
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main fix: handling missing errors array in the makeRequest function for the zoho_desk component.
Description check ✅ Passed The PR description covers the main changes (optional chaining, fallback error message, version bumps), closes a specific issue, and includes all checked checklist items. The description is complete and substantive.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (9)
components/zoho_desk/actions/create-ticket/create-ticket.mjs (1)

161-166: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Pass $ into createTicket app method call.
This action calls an app HTTP helper without $, which breaks the standard request-context pattern used for platform logging/error propagation.

Suggested fix
     const response = await this.zohoDesk.createTicket({
+      $,
       headers: {
         orgId,
       },
       data,
     });

As per coding guidelines, “when actions delegate to app methods, pass the $ context into app HTTP helpers.”

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/zoho_desk/actions/create-ticket/create-ticket.mjs` around lines
161 - 166, The createTicket call is missing the platform request context ($);
update the this.zohoDesk.createTicket invocation to pass the $ context (e.g.,
this.zohoDesk.createTicket($, { headers: { orgId }, data })) so the app HTTP
helper receives the request context for logging/error propagation and follows
the action-to-app method pattern.
components/zoho_desk/sources/new-ticket-attachment/new-ticket-attachment.mjs (1)

71-74: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Include $ when calling the app request helper.
makeRequest is invoked without request context, which can reduce consistency in request tracing/error handling.

Suggested fix
       const response = await this.zohoDesk.makeRequest({
+        $: this,
         url: resource.href,
         responseType: "arraybuffer",
       });

As per coding guidelines, “when those methods use @pipedream/platform axios internally, the $ context … must be passed to them.”

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/zoho_desk/sources/new-ticket-attachment/new-ticket-attachment.mjs`
around lines 71 - 74, Call the app helper with the Pipedream request context by
passing this.$ as the first argument to this.zohoDesk.makeRequest so
tracing/error handling works correctly; i.e., update the call that currently
invokes this.zohoDesk.makeRequest({ url: resource.href, responseType:
"arraybuffer" }) to pass this.$ as the first parameter while keeping url:
resource.href and responseType: "arraybuffer".
components/zoho_desk/actions/update-contact/update-contact.mjs (2)

109-115: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Missing $ context parameter in app method call.

The updateContact method call should receive the $ context to enable request logging and proper error propagation. The $ parameter from run({ $ }) must be passed to app methods that use the @pipedream/platform axios helper.

As per coding guidelines: "when those methods use @pipedream/platform axios internally, the $ context from run({ $ }) must be passed to them — it enables request logging and error propagation; flag any app method call that omits $."

🔧 Proposed fix
     const response = await this.zohoDesk.updateContact({
+      $,
       contactId,
       headers: {
         orgId,
       },
       data,
     });
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/zoho_desk/actions/update-contact/update-contact.mjs` around lines
109 - 115, The call to this.zohoDesk.updateContact is missing the `$` context
from run({ $ }), so request logging and error propagation won't work; update the
invocation of updateContact to pass the `$` parameter (the same $ received in
run({ $ })) along with contactId, headers, and data so the `@pipedream/platform`
axios helper can use the context for logging and error handling.

99-107: 🧹 Nitpick | 🔵 Trivial | 💤 Low value

Consider simplifying optional field handling.

The explicit truthiness checks for optional fields are unnecessary since @pipedream/platform axios automatically strips undefined values from request bodies. You can pass the properties directly to the data object.

As per coding guidelines: "Optional props may be passed directly into request bodies or params without truthiness checks — @pipedream/platform axios strips undefined values automatically."

♻️ Proposed refactor
-    const data = {};
-
-    // Add optional fields
-    if (lastName) data.lastName = lastName;
-    if (firstName) data.firstName = firstName;
-    if (email) data.email = email;
-    if (phone) data.phone = phone;
-    if (mobile) data.mobile = mobile;
-    if (accountId) data.accountId = accountId;
-    if (title) data.title = title;
-    if (description) data.description = description;
+    const data = {
+      lastName,
+      firstName,
+      email,
+      phone,
+      mobile,
+      accountId,
+      title,
+      description,
+    };
 
     const response = await this.zohoDesk.updateContact({
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/zoho_desk/actions/update-contact/update-contact.mjs` around lines
99 - 107, The optional-field checks in update-contact.mjs (the block that
mutates the data object with lastName, firstName, email, phone, mobile,
accountId, title, description) are unnecessary; remove the individual if (field)
checks and instead assign the optional props directly into the request body
(e.g., build or extend the data object with the properties lastName, firstName,
email, phone, mobile, accountId, title, description) because `@pipedream/platform`
axios will strip undefined values automatically—update the code that constructs
the data object referenced in this diff accordingly.
components/zoho_desk/actions/list-ticket-comments/list-ticket-comments.mjs (1)

52-54: 🧹 Nitpick | 🔵 Trivial | 💤 Low value

Consider simplifying optional parameter handling.

The explicit truthiness checks for optional parameters are unnecessary since @pipedream/platform axios automatically strips undefined values. You can pass the properties directly to the params object.

As per coding guidelines: "Optional props may be passed directly into request bodies or params without truthiness checks — @pipedream/platform axios strips undefined values automatically."

♻️ Proposed refactor
-    const params = {};
-    if (from) params.from = from;
-    if (limit) params.limit = limit;
+    const params = {
+      from,
+      limit,
+    };
 
     const response = await this.zohoDesk.getTicketComments({
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/zoho_desk/actions/list-ticket-comments/list-ticket-comments.mjs`
around lines 52 - 54, The params object in list-ticket-comments currently builds
properties conditionally using truthiness checks for from and limit; simplify by
directly assigning these optional props to params (e.g., params = { from, limit,
... } or include them when constructing the request) because `@pipedream/platform`
axios will strip undefined values automatically—remove the if (from) and if
(limit) branches and pass from and limit directly into the params used by the
request.
components/zoho_desk/actions/list-ticket-threads/list-ticket-threads.mjs (2)

59-61: 🧹 Nitpick | 🔵 Trivial | 💤 Low value

Consider simplifying optional parameter handling.

The explicit truthiness checks for optional parameters are unnecessary since @pipedream/platform axios automatically strips undefined values.

As per coding guidelines: "Optional props may be passed directly into request bodies or params without truthiness checks — @pipedream/platform axios strips undefined values automatically."

♻️ Proposed refactor
-    const params = {};
-    if (from) params.from = from;
-    if (limit) params.limit = limit;
+    const params = {
+      from,
+      limit,
+    };
 
     const response = await this.zohoDesk.getTicketThreads({
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/zoho_desk/actions/list-ticket-threads/list-ticket-threads.mjs`
around lines 59 - 61, Remove the explicit truthiness checks when building the
params object in list-ticket-threads action: instead of conditionally setting
params.from and params.limit, assign both properties directly on the params
object (e.g., params = { from, limit }) so undefined values are passed through
and automatically stripped by `@pipedream/platform` axios; update the code that
references the params variable in the request to use the simplified params
object.

74-80: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Add orgId header to getThreadDetails call on line 76.

The getThreadDetails call is missing the orgId header required by the Zoho Desk API. All other calls to this method—in get-thread-details.mjs, download-thread-attachment.mjs, and within the app file—include it. Without it, the method will fail when includeFullContent is enabled.

Pass `orgId` in the headers object:
return await this.zohoDesk.getThreadDetails({
  $,
  ticketId,
  threadId: thread.id,
  headers: {
    orgId,
  },
});
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/zoho_desk/actions/list-ticket-threads/list-ticket-threads.mjs`
around lines 74 - 80, The call to this.zohoDesk.getThreadDetails (inside the
threads Promise.all mapping) is missing the required orgId header; update the
getThreadDetails invocation (the function that currently passes $, ticketId,
threadId: thread.id) to include a headers object with orgId (e.g., add headers:
{ orgId }) so the Zoho Desk API receives the organization ID when
includeFullContent is enabled.
components/zoho_desk/actions/find-or-create-contact/find-or-create-contact.mjs (1)

9-13: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

readOnlyHint must be false for find-or-create behavior.

This action can create a contact, so it is not read-only.

Suggested fix
   annotations: {
     destructiveHint: false,
     openWorldHint: true,
-    readOnlyHint: true,
+    readOnlyHint: false,
   },

As per coding guidelines, readOnlyHint: true is valid only when an action exclusively reads data with no side effects.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@components/zoho_desk/actions/find-or-create-contact/find-or-create-contact.mjs`
around lines 9 - 13, The annotations for the find-or-create contact action
incorrectly mark it as read-only; update the annotations object in
find-or-create-contact.mjs so readOnlyHint is set to false (change the
annotations property where readOnlyHint: true is declared) because the action
can create contacts and thus has side effects.
components/zoho_desk/actions/update-ticket/update-ticket.mjs (1)

9-13: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Set destructiveHint to false for update operations.

This action updates a ticket and is generally reversible, so destructiveHint: true is misleading.

Suggested fix
   annotations: {
-    destructiveHint: true,
+    destructiveHint: false,
     openWorldHint: true,
     readOnlyHint: false,
   },

As per coding guidelines, destructiveHint: true is reserved for permanently destructive operations, while update/patch operations are generally false.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/zoho_desk/actions/update-ticket/update-ticket.mjs` around lines 9
- 13, The annotations block in the update-ticket.mjs action incorrectly sets
destructiveHint: true; change the annotations object's destructiveHint property
to false since this is an update/patch action (locate the annotations object in
update-ticket.mjs and update the destructiveHint value), leaving openWorldHint
and readOnlyHint unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@components/zoho_desk/actions/update-contact/update-contact.mjs`:
- Line 10: The action metadata for the update-contact action incorrectly marks
the operation as destructive; change the destructiveHint property from true to
false in the update-contact action definition so the update/patch operation is
not flagged as destructive (locate the object containing the destructiveHint
property in the update-contact action and set destructiveHint: false).

---

Outside diff comments:
In `@components/zoho_desk/actions/create-ticket/create-ticket.mjs`:
- Around line 161-166: The createTicket call is missing the platform request
context ($); update the this.zohoDesk.createTicket invocation to pass the $
context (e.g., this.zohoDesk.createTicket($, { headers: { orgId }, data })) so
the app HTTP helper receives the request context for logging/error propagation
and follows the action-to-app method pattern.

In
`@components/zoho_desk/actions/find-or-create-contact/find-or-create-contact.mjs`:
- Around line 9-13: The annotations for the find-or-create contact action
incorrectly mark it as read-only; update the annotations object in
find-or-create-contact.mjs so readOnlyHint is set to false (change the
annotations property where readOnlyHint: true is declared) because the action
can create contacts and thus has side effects.

In `@components/zoho_desk/actions/list-ticket-comments/list-ticket-comments.mjs`:
- Around line 52-54: The params object in list-ticket-comments currently builds
properties conditionally using truthiness checks for from and limit; simplify by
directly assigning these optional props to params (e.g., params = { from, limit,
... } or include them when constructing the request) because `@pipedream/platform`
axios will strip undefined values automatically—remove the if (from) and if
(limit) branches and pass from and limit directly into the params used by the
request.

In `@components/zoho_desk/actions/list-ticket-threads/list-ticket-threads.mjs`:
- Around line 59-61: Remove the explicit truthiness checks when building the
params object in list-ticket-threads action: instead of conditionally setting
params.from and params.limit, assign both properties directly on the params
object (e.g., params = { from, limit }) so undefined values are passed through
and automatically stripped by `@pipedream/platform` axios; update the code that
references the params variable in the request to use the simplified params
object.
- Around line 74-80: The call to this.zohoDesk.getThreadDetails (inside the
threads Promise.all mapping) is missing the required orgId header; update the
getThreadDetails invocation (the function that currently passes $, ticketId,
threadId: thread.id) to include a headers object with orgId (e.g., add headers:
{ orgId }) so the Zoho Desk API receives the organization ID when
includeFullContent is enabled.

In `@components/zoho_desk/actions/update-contact/update-contact.mjs`:
- Around line 109-115: The call to this.zohoDesk.updateContact is missing the
`$` context from run({ $ }), so request logging and error propagation won't
work; update the invocation of updateContact to pass the `$` parameter (the same
$ received in run({ $ })) along with contactId, headers, and data so the
`@pipedream/platform` axios helper can use the context for logging and error
handling.
- Around line 99-107: The optional-field checks in update-contact.mjs (the block
that mutates the data object with lastName, firstName, email, phone, mobile,
accountId, title, description) are unnecessary; remove the individual if (field)
checks and instead assign the optional props directly into the request body
(e.g., build or extend the data object with the properties lastName, firstName,
email, phone, mobile, accountId, title, description) because `@pipedream/platform`
axios will strip undefined values automatically—update the code that constructs
the data object referenced in this diff accordingly.

In `@components/zoho_desk/actions/update-ticket/update-ticket.mjs`:
- Around line 9-13: The annotations block in the update-ticket.mjs action
incorrectly sets destructiveHint: true; change the annotations object's
destructiveHint property to false since this is an update/patch action (locate
the annotations object in update-ticket.mjs and update the destructiveHint
value), leaving openWorldHint and readOnlyHint unchanged.

In
`@components/zoho_desk/sources/new-ticket-attachment/new-ticket-attachment.mjs`:
- Around line 71-74: Call the app helper with the Pipedream request context by
passing this.$ as the first argument to this.zohoDesk.makeRequest so
tracing/error handling works correctly; i.e., update the call that currently
invokes this.zohoDesk.makeRequest({ url: resource.href, responseType:
"arraybuffer" }) to pass this.$ as the first parameter while keeping url:
resource.href and responseType: "arraybuffer".
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 1eb813aa-1a2b-4c98-b4dd-401c9b04cdca

📥 Commits

Reviewing files that changed from the base of the PR and between 002d7ad and 660fd7f.

📒 Files selected for processing (42)
  • components/zoho_desk/actions/add-ticket-attachment/add-ticket-attachment.mjs
  • components/zoho_desk/actions/add-ticket-comment/add-ticket-comment.mjs
  • components/zoho_desk/actions/create-account/create-account.mjs
  • components/zoho_desk/actions/create-contact/create-contact.mjs
  • components/zoho_desk/actions/create-ticket/create-ticket.mjs
  • components/zoho_desk/actions/delete-ticket-comment/delete-ticket-comment.mjs
  • components/zoho_desk/actions/download-thread-attachment/download-thread-attachment.mjs
  • components/zoho_desk/actions/find-contact/find-contact.mjs
  • components/zoho_desk/actions/find-or-create-contact/find-or-create-contact.mjs
  • components/zoho_desk/actions/get-article/get-article.mjs
  • components/zoho_desk/actions/get-thread-details/get-thread-details.mjs
  • components/zoho_desk/actions/get-ticket-comment-history/get-ticket-comment-history.mjs
  • components/zoho_desk/actions/get-ticket-comment/get-ticket-comment.mjs
  • components/zoho_desk/actions/get-ticket-details/get-ticket-details.mjs
  • components/zoho_desk/actions/list-articles/list-articles.mjs
  • components/zoho_desk/actions/list-conversations/list-conversations.mjs
  • components/zoho_desk/actions/list-help-centers/list-help-centers.mjs
  • components/zoho_desk/actions/list-root-categories/list-root-categories.mjs
  • components/zoho_desk/actions/list-ticket-attachments/list-ticket-attachments.mjs
  • components/zoho_desk/actions/list-ticket-comments/list-ticket-comments.mjs
  • components/zoho_desk/actions/list-ticket-threads/list-ticket-threads.mjs
  • components/zoho_desk/actions/list-tickets/list-tickets.mjs
  • components/zoho_desk/actions/search-articles/search-articles.mjs
  • components/zoho_desk/actions/search-ticket/search-ticket.mjs
  • components/zoho_desk/actions/send-email-reply/send-email-reply.mjs
  • components/zoho_desk/actions/update-contact/update-contact.mjs
  • components/zoho_desk/actions/update-ticket-comment/update-ticket-comment.mjs
  • components/zoho_desk/actions/update-ticket/update-ticket.mjs
  • components/zoho_desk/package.json
  • components/zoho_desk/sources/changed-ticket-status/changed-ticket-status.mjs
  • components/zoho_desk/sources/deleted-article-instant/deleted-article-instant.mjs
  • components/zoho_desk/sources/new-account/new-account.mjs
  • components/zoho_desk/sources/new-agent/new-agent.mjs
  • components/zoho_desk/sources/new-article-instant/new-article-instant.mjs
  • components/zoho_desk/sources/new-contact/new-contact.mjs
  • components/zoho_desk/sources/new-ticket-attachment/new-ticket-attachment.mjs
  • components/zoho_desk/sources/new-ticket-comment/new-ticket-comment.mjs
  • components/zoho_desk/sources/new-ticket-message/new-ticket-message.mjs
  • components/zoho_desk/sources/new-ticket/new-ticket.mjs
  • components/zoho_desk/sources/updated-article-instant/updated-article-instant.mjs
  • components/zoho_desk/sources/updated-ticket/updated-ticket.mjs
  • components/zoho_desk/zoho_desk.app.mjs

Comment thread components/zoho_desk/actions/update-contact/update-contact.mjs Outdated

@michelle0927 michelle0927 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Ready for QA!

@mariano-pd mariano-pd left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QA testing successful ✅

Image

@ashwins01
ashwins01 merged commit 5af0e76 into PipedreamHQ:master May 11, 2026
9 checks passed
@ashwins01
ashwins01 deleted the issue-20714-zoho-desk branch May 11, 2026 15:02
e11man pushed a commit to RoboSourceTeam/pipedream that referenced this pull request May 15, 2026
…ipedreamHQ#20820)

* [20714] fix(zoho_desk): handle missing errors array in makeRequest
- Add optional-chaining on errors array
- Add static fallback error message
- Patch-bump versions for zoho-desk component and all its actions & sources

* set destructiveHint false

---------

Co-authored-by: Michelle Bergeron <michelle.bergeron@gmail.com>
michelle0927 added a commit that referenced this pull request Jun 2, 2026
…20820)

* [20714] fix(zoho_desk): handle missing errors array in makeRequest
- Add optional-chaining on errors array
- Add static fallback error message
- Patch-bump versions for zoho-desk component and all its actions & sources

* set destructiveHint false

---------

Co-authored-by: Michelle Bergeron <michelle.bergeron@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

User submitted Submitted by a user

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] Zoho Desk - makeRequest crashes with TypeError when error response has no errors array

6 participants