Skip to content

Conversation

@jcortes
Copy link
Collaborator

@jcortes jcortes commented Nov 26, 2025

WHY

Resolves #19172

Summary by CodeRabbit

  • New Features

    • Added six new help center management actions: Get Article, Get Block, Get Category, Get Help Center, List All Blocks, and List All Categories
    • Enhanced Trengo integration with improved resource discovery and retrieval capabilities, including support for category, article, and block lookups
  • Chores

    • Bumped Trengo integration version to 0.6.0
    • Updated component versions across integration

✏️ Tip: You can customize this high-level summary in your review settings.

@jcortes jcortes self-assigned this Nov 26, 2025
@vercel
Copy link

vercel bot commented Nov 26, 2025

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

2 Skipped Deployments
Project Deployment Preview Comments Updated (UTC)
pipedream-docs Ignored Ignored Nov 26, 2025 9:21pm
pipedream-docs-redirect-do-not-edit Ignored Ignored Nov 26, 2025 9:21pm

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 26, 2025

Walkthrough

This pull request adds six new Trengo action modules for retrieving help center resources (articles, blocks, categories, and help centers), extends the Trengo app client with corresponding API methods and propDefinitions, updates the package version to 0.6.0, and bumps action and source versions across the integration.

Changes

Cohort / File(s) Summary
New Help Center Actions
components/trengo/actions/get-article/get-article.mjs, components/trengo/actions/get-block/get-block.mjs, components/trengo/actions/get-category/get-category.mjs, components/trengo/actions/get-help-center/get-help-center.mjs
Added four new action modules to retrieve specific help center resources (articles, blocks, categories, help centers) with propDefinitions for hierarchical resource selection and API integration via the Trengo app client.
New Help Center List Actions
components/trengo/actions/list-all-blocks/list-all-blocks.mjs, components/trengo/actions/list-all-categories/list-all-categories.mjs
Added two new action modules to stream and list all blocks and categories within a help center, supporting optional result limits and dynamic summary exports.
Trengo App Client Extensions
components/trengo/trengo.app.mjs
Added three new propDefinitions (categoryId, articleId, blockId) with paginated options fetchers, and seven new methods (listQuickReplies, getHelpCenter, listCategories, getCategory, getArticle, listBlocks, getBlock) for help center resource access.
Package Version Bump
components/trengo/package.json
Updated package version from 0.5.0 to 0.6.0.
Action Version Bumps
components/trengo/actions/{attach-label,create-contact,find-contacts,get-label,get-message,list-articles,list-labels,list-messages,list-tickets,log-a-voice-call,send-a-message,send-a-team-chat-message,send-a-ticket-message,send-a-whatsapp-message-template}/*.mjs
Incremented versions across 14 existing action modules (minor version bumps ranging from +0.0.1 to +0.0.2).
Source Version Bumps
components/trengo/sources/{new-inbound-message,new-internal-note,new-outbound-message,phone-call-ended,phone-call-missed,phone-call-started,ticket-closed,ticket-label-added,ticket-reopened,voice-call-recorded}/*.mjs
Incremented versions across 10 existing source modules (minor version bumps from +0.0.1 to +0.0.2).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • New action modules follow consistent patterns but collectively introduce six new files requiring validation of propDefinition wiring, API integration, and resource streaming logic
  • Trengo app client extensions add seven new methods with paginated options fetchers—review should confirm correct endpoint paths, parameter handling, and pagination implementation
  • Distributed version bumps are straightforward but span multiple files; verify consistency and confirm they are appropriate for the integration update

Possibly related PRs

Suggested labels

User submitted

Suggested reviewers

  • lcaresia
  • luancazarine

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description only contains "Resolves #19172" without filling the required WHY section from the template, making it incomplete. Expand the description to explain the purpose, context, or rationale for the changes beyond just referencing the issue number.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title "[ACTION] trengo - Helpcenter" directly reflects the main changes: adding new Helpcenter-related actions for the Trengo integration.
Linked Issues check ✅ Passed All code changes successfully implement the Helpcenter endpoints specified in issue #19172: Get/List help centers, categories, articles, and blocks with proper API integration.
Out of Scope Changes check ✅ Passed Version bumps across existing Trengo actions and sources are necessary administrative updates to reflect API enhancements, and all code additions align with the stated Helpcenter objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch trengo-new-components-helpcenter

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f7256bc and 0ea6461.

📒 Files selected for processing (32)
  • components/trengo/actions/attach-label/attach-label.mjs (1 hunks)
  • components/trengo/actions/create-contact/create-contact.mjs (1 hunks)
  • components/trengo/actions/find-contacts/find-contacts.mjs (1 hunks)
  • components/trengo/actions/get-article/get-article.mjs (1 hunks)
  • components/trengo/actions/get-block/get-block.mjs (1 hunks)
  • components/trengo/actions/get-category/get-category.mjs (1 hunks)
  • components/trengo/actions/get-help-center/get-help-center.mjs (1 hunks)
  • components/trengo/actions/get-label/get-label.mjs (1 hunks)
  • components/trengo/actions/get-message/get-message.mjs (1 hunks)
  • components/trengo/actions/list-all-blocks/list-all-blocks.mjs (1 hunks)
  • components/trengo/actions/list-all-categories/list-all-categories.mjs (1 hunks)
  • components/trengo/actions/list-articles/list-articles.mjs (1 hunks)
  • components/trengo/actions/list-labels/list-labels.mjs (1 hunks)
  • components/trengo/actions/list-messages/list-messages.mjs (1 hunks)
  • components/trengo/actions/list-tickets/list-tickets.mjs (1 hunks)
  • components/trengo/actions/log-a-voice-call/log-a-voice-call.mjs (1 hunks)
  • components/trengo/actions/send-a-message/send-a-message.mjs (1 hunks)
  • components/trengo/actions/send-a-team-chat-message/send-a-team-chat-message.mjs (1 hunks)
  • components/trengo/actions/send-a-ticket-message/send-a-ticket-message.mjs (1 hunks)
  • components/trengo/actions/send-a-whatsapp-message-template/send-a-whatsapp-message-template.mjs (1 hunks)
  • components/trengo/package.json (1 hunks)
  • components/trengo/sources/new-inbound-message/new-inbound-message.mjs (1 hunks)
  • components/trengo/sources/new-internal-note/new-internal-note.mjs (1 hunks)
  • components/trengo/sources/new-outbound-message/new-outbound-message.mjs (1 hunks)
  • components/trengo/sources/phone-call-ended/phone-call-ended.mjs (1 hunks)
  • components/trengo/sources/phone-call-missed/phone-call-missed.mjs (1 hunks)
  • components/trengo/sources/phone-call-started/phone-call-started.mjs (1 hunks)
  • components/trengo/sources/ticket-closed/ticket-closed.mjs (1 hunks)
  • components/trengo/sources/ticket-label-added/ticket-label-added.mjs (1 hunks)
  • components/trengo/sources/ticket-reopened/ticket-reopened.mjs (1 hunks)
  • components/trengo/sources/voice-call-recorded/voice-call-recorded.mjs (1 hunks)
  • components/trengo/trengo.app.mjs (2 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-10-20T01:01:02.970Z
Learnt from: js07
Repo: PipedreamHQ/pipedream PR: 18744
File: components/slack_v2/actions/send-large-message/send-large-message.mjs:49-64
Timestamp: 2025-10-20T01:01:02.970Z
Learning: In components/slack_v2/actions/send-large-message/send-large-message.mjs, the metadata_event_payload prop is typed as string, so the code only needs to handle string-to-JSON parsing and does not need to handle object inputs.

Applied to files:

  • components/trengo/actions/send-a-message/send-a-message.mjs
  • components/trengo/actions/get-message/get-message.mjs
  • components/trengo/actions/send-a-team-chat-message/send-a-team-chat-message.mjs
  • components/trengo/actions/send-a-ticket-message/send-a-ticket-message.mjs
📚 Learning: 2024-07-04T18:11:59.822Z
Learnt from: GTFalcao
Repo: PipedreamHQ/pipedream PR: 12731
File: components/hackerone/actions/get-members/get-members.mjs:3-28
Timestamp: 2024-07-04T18:11:59.822Z
Learning: When exporting a summary message in the `run` method of an action, ensure the message is correctly formatted. For example, in the `hackerone-get-members` action, the correct format is `Successfully retrieved ${response.data.length} members`.

Applied to files:

  • components/trengo/actions/list-all-blocks/list-all-blocks.mjs
  • components/trengo/actions/list-all-categories/list-all-categories.mjs
🧬 Code graph analysis (6)
components/trengo/actions/get-help-center/get-help-center.mjs (7)
components/trengo/actions/attach-label/attach-label.mjs (1)
  • response (30-36)
components/trengo/actions/get-article/get-article.mjs (1)
  • response (33-37)
components/trengo/actions/get-block/get-block.mjs (1)
  • response (33-37)
components/trengo/actions/get-category/get-category.mjs (1)
  • response (33-37)
components/trengo/actions/get-label/get-label.mjs (1)
  • response (24-27)
components/trengo/actions/get-message/get-message.mjs (1)
  • response (33-37)
components/trengo/trengo.app.mjs (7)
  • response (75-79)
  • response (165-169)
  • response (181-185)
  • response (199-204)
  • response (218-223)
  • response (237-242)
  • response (256-261)
components/trengo/actions/get-category/get-category.mjs (7)
components/trengo/actions/attach-label/attach-label.mjs (1)
  • response (30-36)
components/trengo/actions/get-article/get-article.mjs (1)
  • response (33-37)
components/trengo/actions/get-block/get-block.mjs (1)
  • response (33-37)
components/trengo/actions/get-help-center/get-help-center.mjs (1)
  • response (24-27)
components/trengo/actions/get-label/get-label.mjs (1)
  • response (24-27)
components/trengo/actions/get-message/get-message.mjs (1)
  • response (33-37)
components/trengo/trengo.app.mjs (7)
  • response (75-79)
  • response (165-169)
  • response (181-185)
  • response (199-204)
  • response (218-223)
  • response (237-242)
  • response (256-261)
components/trengo/actions/get-article/get-article.mjs (7)
components/trengo/actions/attach-label/attach-label.mjs (1)
  • response (30-36)
components/trengo/actions/get-block/get-block.mjs (1)
  • response (33-37)
components/trengo/actions/get-category/get-category.mjs (1)
  • response (33-37)
components/trengo/actions/get-help-center/get-help-center.mjs (1)
  • response (24-27)
components/trengo/actions/get-label/get-label.mjs (1)
  • response (24-27)
components/trengo/actions/get-message/get-message.mjs (1)
  • response (33-37)
components/trengo/trengo.app.mjs (7)
  • response (75-79)
  • response (165-169)
  • response (181-185)
  • response (199-204)
  • response (218-223)
  • response (237-242)
  • response (256-261)
components/trengo/actions/list-all-categories/list-all-categories.mjs (5)
components/trengo/actions/list-all-blocks/list-all-blocks.mjs (2)
  • resourcesStream (32-37)
  • length (44-44)
components/trengo/actions/list-articles/list-articles.mjs (2)
  • resourcesStream (56-66)
  • length (73-73)
components/trengo/actions/list-labels/list-labels.mjs (2)
  • resourcesStream (26-31)
  • length (38-38)
components/trengo/actions/list-messages/list-messages.mjs (2)
  • resourcesStream (32-37)
  • length (44-44)
components/trengo/actions/list-tickets/list-tickets.mjs (2)
  • resourcesStream (79-92)
  • length (99-99)
components/trengo/actions/get-block/get-block.mjs (7)
components/trengo/actions/attach-label/attach-label.mjs (1)
  • response (30-36)
components/trengo/actions/get-article/get-article.mjs (1)
  • response (33-37)
components/trengo/actions/get-category/get-category.mjs (1)
  • response (33-37)
components/trengo/actions/get-help-center/get-help-center.mjs (1)
  • response (24-27)
components/trengo/actions/get-label/get-label.mjs (1)
  • response (24-27)
components/trengo/actions/get-message/get-message.mjs (1)
  • response (33-37)
components/trengo/trengo.app.mjs (7)
  • response (75-79)
  • response (165-169)
  • response (181-185)
  • response (199-204)
  • response (218-223)
  • response (237-242)
  • response (256-261)
components/trengo/trengo.app.mjs (7)
components/trengo/actions/attach-label/attach-label.mjs (1)
  • response (30-36)
components/trengo/actions/get-article/get-article.mjs (1)
  • response (33-37)
components/trengo/actions/get-block/get-block.mjs (1)
  • response (33-37)
components/trengo/actions/get-category/get-category.mjs (1)
  • response (33-37)
components/trengo/actions/get-help-center/get-help-center.mjs (1)
  • response (24-27)
components/trengo/actions/get-label/get-label.mjs (1)
  • response (24-27)
components/trengo/actions/get-message/get-message.mjs (1)
  • response (33-37)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: Publish TypeScript components
  • GitHub Check: Verify TypeScript components
  • GitHub Check: pnpm publish
  • GitHub Check: Lint Code Base
🔇 Additional comments (27)
components/trengo/actions/send-a-whatsapp-message-template/send-a-whatsapp-message-template.mjs (1)

7-7: Version bump approved.

The version increment from 0.0.7 to 0.0.8 aligns with the broader versioning updates in this PR.

components/trengo/actions/send-a-ticket-message/send-a-ticket-message.mjs (1)

5-5: LGTM!

Version bump is appropriate to reflect the component update as part of the broader Trengo package version increment to 0.6.0.

components/trengo/sources/phone-call-ended/phone-call-ended.mjs (1)

7-7: Version bump to 0.0.7 looks correct

Metadata-only change, no behavioral impact. This aligns with the broader package/source version updates in the PR.

components/trengo/actions/list-articles/list-articles.mjs (1)

7-7: Version bump noted; app.mjs implementation not provided for verification.

The version bump from 0.0.5 to 0.0.6 is consistent with the package release. However, the implementation relies on this.app.getArticles() (line 57) and helpCenterId propDefinition (line 20), which are not visible in the provided files. Ensure the Trengo app module has been updated with the getArticles method and that the helpCenterId propDefinition is properly exposed.

components/trengo/sources/new-inbound-message/new-inbound-message.mjs (1)

7-7: Version bump is appropriate.

The version bump from 0.0.6 to 0.0.7 aligns with the broader release cycle across Trengo source modules.

components/trengo/actions/list-messages/list-messages.mjs (1)

8-8: Version bump is appropriate.

The version bump from 0.0.4 to 0.0.5 is consistent with the release cycle.

components/trengo/actions/create-contact/create-contact.mjs (1)

6-6: Version bump is appropriate.

The version bump from 0.0.7 to 0.0.8 aligns with the release cycle.

components/trengo/sources/voice-call-recorded/voice-call-recorded.mjs (1)

7-7: Version bump is appropriate.

The version bump from 0.0.5 to 0.0.6 is consistent with the release cycle.

components/trengo/package.json (1)

3-3: Version bump appropriate, but critical files missing from review.

The version bump to 0.6.0 aligns with the significant feature additions described in the PR objectives. However, the review is missing the six new Trengo action modules (get-article, get-block, get-category, get-help-center, list-all-blocks, list-all-categories) and the updated trengo.app.mjs file that should expose new propDefinitions and API methods.

Please provide the new action implementations and the updated trengo.app.mjs file so the full integration can be verified, including:

  • Correct implementation of new action handlers
  • Proper propDefinition exposure for new props (articleId, blockId, categoryId, etc.)
  • New API methods (getArticle, getBlock, getCategory, getHelpCenter, listArticles, listBlocks, listCategories)
  • Correct parameter passing and error handling
components/trengo/actions/get-label/get-label.mjs (1)

7-7: Version bump is appropriate.

The version bump from 0.0.2 to 0.0.3 is consistent with the release cycle.

components/trengo/sources/ticket-label-added/ticket-label-added.mjs (1)

7-7: Version bump is appropriate.

The version bump from 0.0.6 to 0.0.7 is consistent with the release cycle.

components/trengo/actions/list-labels/list-labels.mjs (1)

4-8: Version bump is consistent with the coordinated Trengo release.

Updating the action version to "0.0.3" without logic changes is reasonable here given the broader @pipedream/trengo 0.6.0 package bump and added Trengo actions/sources in this PR. No changes requested.

components/trengo/actions/list-tickets/list-tickets.mjs (1)

4-8: List Tickets version bump looks appropriate.

Incrementing the action version to "0.0.5" without behavior changes is reasonable given the broader Trengo package and action metadata updates in this PR.

components/trengo/sources/ticket-closed/ticket-closed.mjs (1)

4-8: Ticket Closed source version bump is consistent and non-breaking.

Updating the source version to "0.0.5" with unchanged logic is consistent with the coordinated Trengo source updates in this PR. No further changes needed.

components/trengo/sources/ticket-reopened/ticket-reopened.mjs (1)

4-8: Ticket Reopened source version bump is aligned and safe.

Raising the version to "0.0.5" without behavior changes matches the other Trengo source updates and preserves backward compatibility.

components/trengo/actions/get-message/get-message.mjs (1)

7-7: LGTM!

Version bump is consistent with the package update. The action implementation is clean with proper prop dependencies and read-only annotations.

components/trengo/sources/phone-call-started/phone-call-started.mjs (1)

7-7: LGTM!

Version bump aligns with the package update. Source implementation correctly uses optional chaining for event body access.

components/trengo/actions/attach-label/attach-label.mjs (1)

7-7: LGTM!

Version bump is consistent with the package update.

components/trengo/actions/find-contacts/find-contacts.mjs (1)

7-7: LGTM!

Version bump is consistent with the package update. The action correctly uses the streaming utility for paginated results.

components/trengo/actions/log-a-voice-call/log-a-voice-call.mjs (1)

6-6: LGTM!

Version bump is consistent with the broader package update to 0.6.0.

components/trengo/actions/list-all-blocks/list-all-blocks.mjs (1)

1-50: LGTM!

The implementation correctly addresses previous review feedback:

  • Block count is now included in the summary with proper pluralization
  • Pagination is handled via streaming with an optional maxResults prop for manual limiting

The pattern is consistent with other list actions in this PR.

components/trengo/actions/get-block/get-block.mjs (1)

1-41: LGTM!

The action follows the established pattern for single-resource retrieval actions (matching get-article, get-category, etc.). The blockId prop correctly depends on helpCenterId for cascading selection, and the API call is properly wired.

components/trengo/actions/get-article/get-article.mjs (1)

1-41: LGTM!

Implementation is consistent with other help center resource retrieval actions. The articleId prop correctly depends on helpCenterId for the cascading dropdown pattern.

components/trengo/actions/get-help-center/get-help-center.mjs (1)

1-31: LGTM!

Clean implementation following the same pattern as get-label and other single-parameter retrieval actions. Correctly omits the dependency pattern since helpCenterId is the root resource.

components/trengo/actions/get-category/get-category.mjs (1)

1-41: LGTM!

The action implementation is clean and follows the established pattern for similar "get" actions in the codebase. The prop definitions are correctly wired with helpCenterId providing context for the categoryId options, and the API method call matches the expected pattern.

components/trengo/trengo.app.mjs (2)

211-267: LGTM!

The three new propDefinitions (categoryId, articleId, blockId) are correctly implemented and follow the established pattern used by other propDefinitions in this file. Each properly handles pagination, parameter passing, and response mapping.


431-484: LGTM!

All seven new methods are correctly implemented and follow the established pattern in this file. The API paths align with the Trengo API documentation referenced in the PR objectives, and the parameter handling is consistent with existing methods.


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.

@jcortes jcortes force-pushed the trengo-new-components-helpcenter branch from d990148 to f7256bc Compare November 26, 2025 20:23
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

Caution

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

⚠️ Outside diff range comments (4)
components/trengo/sources/new-internal-note/new-internal-note.mjs (1)

7-20: Version bump looks fine; summary string is misleading for this source

The version update to 0.0.7 is consistent with the broader Trengo package bump and doesn’t change behavior, so that part looks good.

However, the summary currently says New ticket label added event, which doesn’t match this source’s purpose (“New Internal Note Event”). That can confuse users reading step summaries.

Consider updating the summary text to better reflect the event type, e.g.:

-        summary: `New ticket label added event: ${event?.body?.message}`,
+        summary: `New internal note added: ${event?.body?.message}`,
components/trengo/actions/send-a-team-chat-message/send-a-team-chat-message.mjs (1)

7-68: Validation logic looks good; fix typo in configuration error message

The bump to version: "0.0.8" is in line with the other Trengo actions and doesn’t change runtime behavior. The validation around threadId / toUserId and body / attachmentIds is sound.

There’s a minor typo in the configuration error string:

-      throw new ConfigurationError("Either `Body` or `Attachement IDs` should be set!");
+      throw new ConfigurationError("Either `Body` or `Attachment IDs` should be set!");

Fixing this keeps user-facing errors polished.

components/trengo/sources/new-outbound-message/new-outbound-message.mjs (1)

7-24: Outbound message source version bump is fine; correct typo in summary

The version increase to 0.0.7 is consistent with the rest of the Trengo sources and doesn’t affect behavior.

The summary string has a small typo:

-        summary: `New outbund message event: ${event?.body?.message}`,
+        summary: `New outbound message event: ${event?.body?.message}`,

This will read better in emitted event summaries.

components/trengo/actions/send-a-whatsapp-message-template/send-a-whatsapp-message-template.mjs (1)

7-80: WhatsApp template action behavior unchanged; align $summary text with action purpose

The bump to version: "0.0.8" matches the rest of the Trengo actions and doesn’t alter runtime behavior. The validation around recepientPhoneNumber / ticketId and param key/value pairing is consistent.

The exported summary currently reads as if a contact was created:

$.export("$summary", `The contact has been created. (${resp.name} ID:${resp.id})`);

For an action named “Send A WhatsApp Message Template”, that’s likely confusing or incorrect. A more accurate and robust summary would avoid assuming a contact creation payload, for example:

-    $.export("$summary", `The contact has been created. (${resp.name} ID:${resp.id})`);
+    $.export("$summary", "WhatsApp template message has been sent.");

This keeps the step output aligned with what the action actually does.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 10ad254 and f7256bc.

📒 Files selected for processing (33)
  • components/trengo/actions/attach-label/attach-label.mjs (1 hunks)
  • components/trengo/actions/create-contact/create-contact.mjs (1 hunks)
  • components/trengo/actions/find-contacts/find-contacts.mjs (1 hunks)
  • components/trengo/actions/get-article/get-article.mjs (1 hunks)
  • components/trengo/actions/get-block/get-block.mjs (1 hunks)
  • components/trengo/actions/get-category/get-category.mjs (1 hunks)
  • components/trengo/actions/get-help-center/get-help-center.mjs (1 hunks)
  • components/trengo/actions/get-label/get-label.mjs (1 hunks)
  • components/trengo/actions/get-message/get-message.mjs (1 hunks)
  • components/trengo/actions/list-all-blocks/list-all-blocks.mjs (1 hunks)
  • components/trengo/actions/list-all-categories/list-all-categories.mjs (1 hunks)
  • components/trengo/actions/list-all-help-centers/list-all-help-centers.mjs (1 hunks)
  • components/trengo/actions/list-articles/list-articles.mjs (1 hunks)
  • components/trengo/actions/list-labels/list-labels.mjs (1 hunks)
  • components/trengo/actions/list-messages/list-messages.mjs (1 hunks)
  • components/trengo/actions/list-tickets/list-tickets.mjs (1 hunks)
  • components/trengo/actions/log-a-voice-call/log-a-voice-call.mjs (1 hunks)
  • components/trengo/actions/send-a-message/send-a-message.mjs (1 hunks)
  • components/trengo/actions/send-a-team-chat-message/send-a-team-chat-message.mjs (1 hunks)
  • components/trengo/actions/send-a-ticket-message/send-a-ticket-message.mjs (1 hunks)
  • components/trengo/actions/send-a-whatsapp-message-template/send-a-whatsapp-message-template.mjs (1 hunks)
  • components/trengo/package.json (1 hunks)
  • components/trengo/sources/new-inbound-message/new-inbound-message.mjs (1 hunks)
  • components/trengo/sources/new-internal-note/new-internal-note.mjs (1 hunks)
  • components/trengo/sources/new-outbound-message/new-outbound-message.mjs (1 hunks)
  • components/trengo/sources/phone-call-ended/phone-call-ended.mjs (1 hunks)
  • components/trengo/sources/phone-call-missed/phone-call-missed.mjs (1 hunks)
  • components/trengo/sources/phone-call-started/phone-call-started.mjs (1 hunks)
  • components/trengo/sources/ticket-closed/ticket-closed.mjs (1 hunks)
  • components/trengo/sources/ticket-label-added/ticket-label-added.mjs (1 hunks)
  • components/trengo/sources/ticket-reopened/ticket-reopened.mjs (1 hunks)
  • components/trengo/sources/voice-call-recorded/voice-call-recorded.mjs (1 hunks)
  • components/trengo/trengo.app.mjs (2 hunks)
🧰 Additional context used
🧠 Learnings (3)
📚 Learning: 2025-10-20T01:01:02.970Z
Learnt from: js07
Repo: PipedreamHQ/pipedream PR: 18744
File: components/slack_v2/actions/send-large-message/send-large-message.mjs:49-64
Timestamp: 2025-10-20T01:01:02.970Z
Learning: In components/slack_v2/actions/send-large-message/send-large-message.mjs, the metadata_event_payload prop is typed as string, so the code only needs to handle string-to-JSON parsing and does not need to handle object inputs.

Applied to files:

  • components/trengo/actions/send-a-message/send-a-message.mjs
  • components/trengo/actions/get-message/get-message.mjs
  • components/trengo/actions/send-a-ticket-message/send-a-ticket-message.mjs
📚 Learning: 2024-07-04T18:11:59.822Z
Learnt from: GTFalcao
Repo: PipedreamHQ/pipedream PR: 12731
File: components/hackerone/actions/get-members/get-members.mjs:3-28
Timestamp: 2024-07-04T18:11:59.822Z
Learning: When exporting a summary message in the `run` method of an action, ensure the message is correctly formatted. For example, in the `hackerone-get-members` action, the correct format is `Successfully retrieved ${response.data.length} members`.

Applied to files:

  • components/trengo/actions/list-all-categories/list-all-categories.mjs
  • components/trengo/actions/list-all-help-centers/list-all-help-centers.mjs
📚 Learning: 2025-06-04T17:52:05.780Z
Learnt from: GTFalcao
Repo: PipedreamHQ/pipedream PR: 16954
File: components/salesloft/salesloft.app.mjs:14-23
Timestamp: 2025-06-04T17:52:05.780Z
Learning: In the Salesloft API integration (components/salesloft/salesloft.app.mjs), the _makeRequest method returns response.data which directly contains arrays for list endpoints like listPeople, listCadences, listUsers, and listAccounts. The propDefinitions correctly call .map() directly on these responses without needing to destructure a nested data property.

Applied to files:

  • components/trengo/trengo.app.mjs
🧬 Code graph analysis (5)
components/trengo/actions/list-all-categories/list-all-categories.mjs (2)
components/trengo/actions/list-all-blocks/list-all-blocks.mjs (1)
  • response (24-27)
components/trengo/trengo.app.mjs (7)
  • response (75-79)
  • response (165-169)
  • response (181-185)
  • response (199-204)
  • response (218-223)
  • response (237-242)
  • response (256-261)
components/trengo/actions/get-help-center/get-help-center.mjs (9)
components/trengo/actions/get-article/get-article.mjs (1)
  • response (33-37)
components/trengo/actions/get-block/get-block.mjs (1)
  • response (33-37)
components/trengo/actions/get-category/get-category.mjs (1)
  • response (33-37)
components/trengo/actions/get-label/get-label.mjs (1)
  • response (24-27)
components/trengo/actions/get-message/get-message.mjs (1)
  • response (33-37)
components/trengo/actions/list-all-blocks/list-all-blocks.mjs (1)
  • response (24-27)
components/trengo/actions/list-all-categories/list-all-categories.mjs (1)
  • response (24-27)
components/trengo/actions/list-all-help-centers/list-all-help-centers.mjs (1)
  • response (18-20)
components/trengo/trengo.app.mjs (7)
  • response (75-79)
  • response (165-169)
  • response (181-185)
  • response (199-204)
  • response (218-223)
  • response (237-242)
  • response (256-261)
components/trengo/actions/get-article/get-article.mjs (10)
components/trengo/actions/attach-label/attach-label.mjs (1)
  • response (30-36)
components/trengo/actions/get-block/get-block.mjs (1)
  • response (33-37)
components/trengo/actions/get-category/get-category.mjs (1)
  • response (33-37)
components/trengo/actions/get-help-center/get-help-center.mjs (1)
  • response (24-27)
components/trengo/actions/get-label/get-label.mjs (1)
  • response (24-27)
components/trengo/actions/get-message/get-message.mjs (1)
  • response (33-37)
components/trengo/actions/list-all-blocks/list-all-blocks.mjs (1)
  • response (24-27)
components/trengo/actions/list-all-categories/list-all-categories.mjs (1)
  • response (24-27)
components/trengo/actions/list-all-help-centers/list-all-help-centers.mjs (1)
  • response (18-20)
components/trengo/trengo.app.mjs (7)
  • response (75-79)
  • response (165-169)
  • response (181-185)
  • response (199-204)
  • response (218-223)
  • response (237-242)
  • response (256-261)
components/trengo/actions/list-all-blocks/list-all-blocks.mjs (4)
components/trengo/actions/get-block/get-block.mjs (1)
  • response (33-37)
components/trengo/actions/list-all-categories/list-all-categories.mjs (1)
  • response (24-27)
components/trengo/actions/list-all-help-centers/list-all-help-centers.mjs (1)
  • response (18-20)
components/trengo/trengo.app.mjs (7)
  • response (75-79)
  • response (165-169)
  • response (181-185)
  • response (199-204)
  • response (218-223)
  • response (237-242)
  • response (256-261)
components/trengo/actions/list-all-help-centers/list-all-help-centers.mjs (2)
components/trengo/actions/list-all-blocks/list-all-blocks.mjs (1)
  • response (24-27)
components/trengo/trengo.app.mjs (7)
  • response (75-79)
  • response (165-169)
  • response (181-185)
  • response (199-204)
  • response (218-223)
  • response (237-242)
  • response (256-261)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Lint Code Base
  • GitHub Check: Publish TypeScript components
  • GitHub Check: Verify TypeScript components
🔇 Additional comments (26)
components/trengo/actions/create-contact/create-contact.mjs (1)

6-6: Version bump approved.

Coordinated version increment from 0.0.7 to 0.0.8 as part of the @pipedream/trengo 0.6.0 release.

components/trengo/actions/list-articles/list-articles.mjs (1)

7-7: Version bump approved.

Coordinated version increment from 0.0.5 to 0.0.6 as part of the @pipedream/trengo 0.6.0 release.

components/trengo/sources/ticket-label-added/ticket-label-added.mjs (1)

7-7: Version bump approved.

Coordinated version increment from 0.0.6 to 0.0.7 as part of the @pipedream/trengo 0.6.0 release.

components/trengo/actions/find-contacts/find-contacts.mjs (1)

7-7: Version bump approved.

Coordinated version increment from 0.0.7 to 0.0.8 as part of the @pipedream/trengo 0.6.0 release.

components/trengo/actions/get-label/get-label.mjs (1)

7-7: Version bump approved.

Coordinated version increment from 0.0.2 to 0.0.3 as part of the @pipedream/trengo 0.6.0 release.

components/trengo/actions/list-messages/list-messages.mjs (1)

8-8: Version bump approved.

Coordinated version increment from 0.0.4 to 0.0.5 as part of the @pipedream/trengo 0.6.0 release.

components/trengo/actions/get-message/get-message.mjs (1)

7-7: Version bump approved.

Coordinated version increment from 0.0.2 to 0.0.3 as part of the @pipedream/trengo 0.6.0 release.

components/trengo/actions/attach-label/attach-label.mjs (1)

7-7: Version bump approved.

Coordinated version increment from 0.0.2 to 0.0.3 as part of the @pipedream/trengo 0.6.0 release.

components/trengo/sources/new-inbound-message/new-inbound-message.mjs (1)

7-7: LGTM! Routine version bump.

The version increment is appropriate for maintaining consistency across the Trengo integration package update.

components/trengo/package.json (1)

3-3: LGTM! Minor version bump for new features.

The version increment from 0.5.0 to 0.6.0 correctly reflects the addition of new help-center actions per semantic versioning.

components/trengo/sources/ticket-reopened/ticket-reopened.mjs (1)

7-7: LGTM! Routine version bump.

The patch version increment is appropriate for coordinated release.

components/trengo/actions/send-a-message/send-a-message.mjs (1)

6-6: LGTM! Routine version bump.

The patch version increment is appropriate for coordinated release.

components/trengo/sources/phone-call-missed/phone-call-missed.mjs (1)

7-7: LGTM! Routine version bump.

The patch version increment is appropriate for coordinated release.

components/trengo/sources/ticket-closed/ticket-closed.mjs (1)

7-7: LGTM! Routine version bump.

The patch version increment is appropriate for coordinated release.

components/trengo/sources/phone-call-ended/phone-call-ended.mjs (1)

7-7: LGTM! Routine version bump.

The patch version increment is appropriate for coordinated release.

components/trengo/actions/send-a-ticket-message/send-a-ticket-message.mjs (1)

5-5: LGTM! Routine version bump.

The patch version increment is appropriate for coordinated release.

components/trengo/sources/voice-call-recorded/voice-call-recorded.mjs (1)

7-22: Voice call recorded source version bump is consistent and non-breaking

This is a straightforward metadata bump to version: "0.0.6" with no behavioral changes. getMeta and getEvent remain consistent with the source’s purpose.

components/trengo/actions/log-a-voice-call/log-a-voice-call.mjs (1)

6-76: Log voice call action version bump is safe

The update to version: "0.0.8" is consistent with the broader Trengo action set. Props and the run implementation (mapping to this.app.logVoiceCall) are unchanged and remain coherent.

components/trengo/actions/list-tickets/list-tickets.mjs (1)

8-104: List tickets action version bump preserves existing behavior

Bumping version to 0.0.5 keeps this action aligned with the other Trengo updates. The streaming of tickets via utils.getResourcesStream and the maxResults short‑circuit remain unchanged and look correct.

components/trengo/sources/phone-call-started/phone-call-started.mjs (1)

7-22: Phone call started source version bump is straightforward

Updating version to 0.0.7 keeps this source in sync with the other Trengo sources. getMeta and getEvent remain appropriate for the “New Phone Call Started Event” webhook.

components/trengo/actions/get-category/get-category.mjs (1)

1-41: Get Category action is correctly wired and follows existing patterns

  • helpCenterId and dependent categoryId props match the new propDefinitions in the app.
  • run delegates to this.app.getCategory with the expected arguments and exports a clear success summary.

No functional issues spotted here.

components/trengo/actions/get-block/get-block.mjs (1)

1-41: Get Block action matches app contract and similar actions

The props (helpCenterId, dependent blockId) and run implementation calling this.app.getBlock are consistent with the app methods and other Trengo actions. Summary message is clear and accurate.

components/trengo/actions/get-help-center/get-help-center.mjs (1)

1-31: Get Help Center action is straightforward and consistent

The action correctly exposes helpCenterId, calls this.app.getHelpCenter with $ and the ID, and exports an appropriate success summary. This aligns with existing Trengo “get-*” actions.

components/trengo/actions/get-article/get-article.mjs (1)

1-41: Get Article action correctly leverages dependent props and app method

  • helpCenterId and dependent articleId props are wired to the corresponding app propDefinitions.
  • run delegates to this.app.getArticle with the right parameters and exports a clear success summary.

Looks consistent with the rest of the Trengo actions.

components/trengo/trengo.app.mjs (2)

211-267: New help-center-related ID propDefinitions are consistent and paginated

  • categoryId, articleId, and blockId follow the same pattern as existing ID props (ticketId, labelId, messageId): integer type, clear labels/descriptions, and async options that page using page + 1.
  • Each options resolver accepts helpCenterId and forwards it to the corresponding list method, which matches how the actions’ dependent props are defined.

No issues detected with these propDefinitions.


431-484: Helpcenter methods map cleanly to the documented endpoints

  • getHelpCenter, listCategories, getCategory, getArticle, listBlocks, and getBlock all delegate to _makeRequest with paths that align with the help-center endpoints described in the issue.
  • listQuickReplies is implemented in the same style as other simple list methods and keeps the app API cohesive.

These additions look correct and consistent with the existing Trengo app design.

@jcortes jcortes force-pushed the trengo-new-components-helpcenter branch from f7256bc to 0ea6461 Compare November 26, 2025 21:21
@jcortes jcortes requested a review from michelle0927 November 26, 2025 21:21
Copy link
Collaborator

@michelle0927 michelle0927 left a comment

Choose a reason for hiding this comment

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

LGTM!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ACTION] trengo - Helpcenter

3 participants