-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Helpscout - new components #19227
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Helpscout - new components #19227
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
WalkthroughVersion bumps across multiple Help Scout action and source modules (0.0.3→0.0.4, 0.0.2→0.0.3). Three new action modules added for tag management and conversation updates. Core Help Scout service extended with tag-related methods and conversation update operation support. Changes
Sequence Diagram(s)sequenceDiagram
participant User as Workflow User
participant UpdateConvAction as Update Conversation<br/>Action
participant HSApp as Help Scout<br/>Service
participant HSAPI as Help Scout API
User->>UpdateConvAction: Trigger with conversationId,<br/>operation, value
UpdateConvAction->>UpdateConvAction: Resolve operation from<br/>CONVERSATION_OPERATIONS
UpdateConvAction->>UpdateConvAction: Type-coerce value<br/>(boolean/number/string)
UpdateConvAction->>HSApp: updateConversation({<br/>conversationId, op, path, value })
HSApp->>HSAPI: PATCH /conversations/{id}
HSAPI-->>HSApp: Response
HSApp-->>UpdateConvAction: API response
UpdateConvAction-->>User: Export summary +<br/>API response
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Pre-merge checks and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (18)
components/help_scout/actions/add-note/add-note.mjs(1 hunks)components/help_scout/actions/create-customer/create-customer.mjs(1 hunks)components/help_scout/actions/get-conversation-details/get-conversation-details.mjs(1 hunks)components/help_scout/actions/get-conversation-threads/get-conversation-threads.mjs(1 hunks)components/help_scout/actions/get-tag-by-id/get-tag-by-id.mjs(1 hunks)components/help_scout/actions/list-tags/list-tags.mjs(1 hunks)components/help_scout/actions/send-reply/send-reply.mjs(1 hunks)components/help_scout/actions/update-conversation/update-conversation.mjs(1 hunks)components/help_scout/common/constants.mjs(1 hunks)components/help_scout/help_scout.app.mjs(7 hunks)components/help_scout/package.json(1 hunks)components/help_scout/sources/conversation-status-updated-instant/conversation-status-updated-instant.mjs(1 hunks)components/help_scout/sources/new-agent-reply-instant/new-agent-reply-instant.mjs(1 hunks)components/help_scout/sources/new-conversation-assigned-instant/new-conversation-assigned-instant.mjs(1 hunks)components/help_scout/sources/new-conversation-created-instant/new-conversation-created-instant.mjs(1 hunks)components/help_scout/sources/new-customer-instant/new-customer-instant.mjs(1 hunks)components/help_scout/sources/new-customer-reply-instant/new-customer-reply-instant.mjs(1 hunks)components/help_scout/sources/new-note-created-instant/new-note-created-instant.mjs(1 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/help_scout/actions/send-reply/send-reply.mjs
📚 Learning: 2024-10-30T15:24:39.294Z
Learnt from: jcortes
Repo: PipedreamHQ/pipedream PR: 14467
File: components/gainsight_px/actions/create-account/create-account.mjs:4-6
Timestamp: 2024-10-30T15:24:39.294Z
Learning: In `components/gainsight_px/actions/create-account/create-account.mjs`, the action name should be "Create Account" instead of "Create Memory".
Applied to files:
components/help_scout/actions/create-customer/create-customer.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/help_scout/actions/update-conversation/update-conversation.mjs
🧬 Code graph analysis (4)
components/help_scout/actions/get-tag-by-id/get-tag-by-id.mjs (2)
components/help_scout/actions/list-tags/list-tags.mjs (1)
response(25-30)components/help_scout/actions/update-conversation/update-conversation.mjs (1)
response(43-50)
components/help_scout/actions/list-tags/list-tags.mjs (2)
components/help_scout/actions/get-tag-by-id/get-tag-by-id.mjs (1)
response(24-27)components/help_scout/actions/update-conversation/update-conversation.mjs (1)
response(43-50)
components/help_scout/help_scout.app.mjs (1)
components/help_scout/actions/update-conversation/update-conversation.mjs (1)
value(37-41)
components/help_scout/actions/update-conversation/update-conversation.mjs (1)
components/help_scout/common/constants.mjs (2)
CONVERSATION_OPERATIONS(18-61)CONVERSATION_OPERATIONS(18-61)
⏰ 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). (1)
- GitHub Check: pnpm publish
🔇 Additional comments (21)
components/help_scout/package.json (1)
3-3: Package version bump to 0.3.0 looks appropriateAligned with added actions / sources in the PR and no manifest inconsistencies are visible in this file.
components/help_scout/actions/add-note/add-note.mjs (1)
7-7: Add Note action version bumped to 0.0.4 with no functional changesPure metadata update; implementation and props remain consistent.
components/help_scout/sources/conversation-status-updated-instant/conversation-status-updated-instant.mjs (1)
9-9: Conversation Status Updated source version bump is consistentOnly the version field changed; logic and webhook handling are untouched.
components/help_scout/actions/send-reply/send-reply.mjs (1)
7-7: Send Reply action version bump to 0.0.4 is fineNo changes to props or run logic; safe to publish as a patch-level update.
components/help_scout/actions/get-conversation-threads/get-conversation-threads.mjs (1)
7-7: Get Conversation Threads action version bump is correctOnly version metadata changed; existing pagination and summary behavior remain intact.
components/help_scout/sources/new-customer-reply-instant/new-customer-reply-instant.mjs (1)
8-8: New Customer Reply source version bump to 0.0.3 is acceptablePure version metadata update; event type and summary logic are unchanged.
components/help_scout/sources/new-conversation-assigned-instant/new-conversation-assigned-instant.mjs (1)
9-9: New Conversation Assigned source version bump is consistentOnly the version field changed; event type and summary remain as before.
components/help_scout/sources/new-conversation-created-instant/new-conversation-created-instant.mjs (1)
9-9: New Conversation Created source version bump to 0.0.4 looks goodMetadata-only change; emission behavior and summary are unchanged.
components/help_scout/sources/new-agent-reply-instant/new-agent-reply-instant.mjs (1)
8-8: Version bump metadata looks consistentThe version change to
"0.0.3"matches the broader Help Scout source updates; no behavioral impact.components/help_scout/actions/get-conversation-details/get-conversation-details.mjs (1)
7-7: Version bump only; action remains behaviorally unchangedThe version increment to
"0.0.3"aligns with other Help Scout actions; existing props and run logic remain sound.components/help_scout/sources/new-customer-instant/new-customer-instant.mjs (1)
9-9: Source version bump is consistent with package updateThe change to
"0.0.4"is in line with the other Help Scout source modules and doesn’t affect behavior.components/help_scout/sources/new-note-created-instant/new-note-created-instant.mjs (1)
8-8: Metadata-only version incrementUpdating the version to
"0.0.3"is consistent with the other Help Scout instant sources; no functional concerns.components/help_scout/actions/create-customer/create-customer.mjs (1)
16-16: Create Customer action version bump looks correctThe version update to
"0.0.4"matches the wider Help Scout release wave; existing validation and error handling remain intact.components/help_scout/actions/get-tag-by-id/get-tag-by-id.mjs (1)
1-31: New “Get Tag by ID” action is well‑structured
- Props correctly reuse the
tagIdpropDefinition fromhelp_scout.app.mjs.rundelegates cleanly tothis.helpScout.getTagand exports a clear summary message.- Annotations (
readOnlyHint: true,destructiveHint: false) match the read-only nature of the endpoint.No changes needed.
components/help_scout/help_scout.app.mjs (4)
69-86: LGTM!The
tagIdpropDefinition follows the established pattern for dynamic options and correctly implements pagination. The structure is consistent with other propDefinitions in the file.
111-118: LGTM!The
getTagmethod correctly implements the GET/tags/{tagId}endpoint and follows the established pattern for similar methods in the file.
137-142: LGTM!The
listTagsmethod correctly implements the GET/tagsendpoint and follows the established pattern for list operations in the file.
197-205: HTTP method is correct — no changes needed.The implementation correctly uses PATCH. According to the official Help Scout Mailbox API documentation, the Update Conversation endpoint is
PATCH /v2/conversations/{conversationId}and uses JSON Patch operations for partial updates. The PR objectives document appears to have incorrectly referenced PUT, but the implementation aligns with the actual API specification.components/help_scout/actions/list-tags/list-tags.mjs (3)
3-13: LGTM!The action metadata is properly configured. The annotations correctly indicate this is a read-only, non-destructive operation.
14-23: LGTM!The props are well-defined with appropriate defaults and clear descriptions for pagination support.
24-36: LGTM!The run function correctly implements tag listing with proper:
- API call with pagination parameters
- Safe response handling using optional chaining and nullish coalescing
- Clear summary export with appropriate pluralization
- Full response return for downstream consumption
components/help_scout/actions/update-conversation/update-conversation.mjs
Show resolved
Hide resolved
GTFalcao
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
|
Hi everyone, all test cases are passed! Ready for release! Test reports
|
Resolves #19176
Summary by CodeRabbit
New Features
Chores
✏️ Tip: You can customize this high-level summary in your review settings.