Skip to content

Conversation

@michelle0927
Copy link
Collaborator

@michelle0927 michelle0927 commented Nov 25, 2025

Resolves #19175

Summary by CodeRabbit

  • New Features

    • HubSpot conversations: send messages, add comments, and list messages within threads
    • New actions to retrieve/list channels, inboxes, threads, and individual channel/inbox
    • New event sources for new threads and new messages in threads
    • Enhanced conversation API support for richer HubSpot integration
  • Chores

    • Routine version bumps across HubSpot components
    • HubSpot package updated to 1.8.0

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

@vercel
Copy link

vercel bot commented Nov 25, 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 Dec 2, 2025 6:40pm
pipedream-docs-redirect-do-not-edit Ignored Ignored Dec 2, 2025 6:40pm

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 25, 2025

Walkthrough

Adds HubSpot conversations support: new actions (send/add-comment, list/get inboxes/channels/threads/messages), two new event sources (thread/message), new app propDefinitions and conversation methods, an API path constant, package bump, and version increments across many HubSpot modules.

Changes

Cohort / File(s) Summary
Conversation actions
components/hubspot/actions/add-comment/add-comment.mjs, components/hubspot/actions/send-message/send-message.mjs
New actions to add comments and send messages to conversation threads, building message payloads (recipients, senderActorId, attachments) and calling app createMessage.
Inbox & channel actions
components/hubspot/actions/get-inbox/get-inbox.mjs, components/hubspot/actions/get-channel/get-channel.mjs, components/hubspot/actions/list-inboxes/list-inboxes.mjs, components/hubspot/actions/list-channels/list-channels.mjs
New actions to retrieve and list inboxes/channels with paging and filters.
Thread & message listing actions
components/hubspot/actions/list-threads/list-threads.mjs, components/hubspot/actions/list-messages/list-messages.mjs
New actions to list threads and messages; threadId can be derived from inboxId/channelId; support pagination, sorting, and summaries.
Conversation event sources
components/hubspot/sources/new-thread-created/new-thread-created.mjs, components/hubspot/sources/new-message-in-thread/new-message-in-thread.mjs
New sources that poll/list conversation threads and messages, handle after-based pagination, generate event metadata, and emit per-item events.
App propDefinitions & methods
components/hubspot/hubspot.app.mjs
Added propDefinitions: fileId, inboxId, channelId, threadId, channelAccountId, senderActorId; added methods: getInbox, getChannel, listInboxes, listChannels, listThreads, listMessages, listChannelAccounts, createMessage.
Constants & package
components/hubspot/common/constants.mjs, components/hubspot/package.json
Added CONVERSATIONS: "/conversations/v3" to API paths and bumped package version to 1.8.0.
Bulk version bumps
components/hubspot/actions/*/*.mjs, components/hubspot/sources/*/*.mjs (many files)
Version metadata incremented across numerous existing HubSpot action and source modules; no behavioral changes.

Sequence Diagram(s)

sequenceDiagram
    actor User
    participant Action as Action (send/add-comment/list-*)
    participant App as HubSpot App
    participant API as HubSpot API

    User->>Action: Invoke action (e.g., threadId, text, fileId, params)
    Action->>App: Call method (createMessage / listMessages / listThreads / getInbox / listInboxes / listChannels)
    App->>API: HTTP request to /conversations/v3/... (GET or POST)
    API-->>App: Response (items or created message)
    App-->>Action: Return API response
    Action->>User: Export summary and return result
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45–60 minutes

  • Pay special attention to:
    • propDefinition option functions and pagination/context (nextAfter) in hubspot.app.mjs
    • correctness of conversation API endpoints, paths, and payload shapes (attachments, recipients, senderActorId prefixes)
    • threadId resolution logic when derived from inboxId/channelId
    • after-based pagination and dedupe behavior in new sources

Possibly related PRs

Suggested labels

User submitted

Suggested reviewers

  • jcortes

Pre-merge checks and finishing touches

❌ Failed checks (1 warning, 2 inconclusive)
Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description only contains 'Resolves #19175' without following the template structure which requires a WHY section explaining the changes. Fill in the missing WHY section in the description template to explain the purpose and scope of these HubSpot conversation-related components being added.
Title check ❓ Inconclusive The title 'Hubspot - new components' is generic and doesn't specify which components are being added (e.g., actions, sources, or specific features like conversations/tickets). Consider using a more specific title that identifies the key components being added, such as 'Hubspot - Add conversation actions and sources' or 'Hubspot - Add tickets/messaging components'.
Out of Scope Changes check ❓ Inconclusive The PR includes version bumps across 40+ existing HubSpot actions and sources alongside the new conversation-related components. These version bumps appear to be maintenance updates but represent changes beyond the core scope of adding new conversation functionality. Clarify whether version bumps for existing components are necessary in this PR or if they should be separated into a dedicated maintenance/release PR to keep this focused on new conversation features.
✅ Passed checks (2 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The PR implements all requested coding objectives from issue #19175: conversation actions (add-comment, send-message, list-messages), new sources (new-message-in-thread, new-thread-created), hub methods (getInbox, getChannel, listInboxes, listChannels, listThreads, listMessages, listChannelAccounts, createMessage), and related prop definitions (inboxId, channelId, threadId, channelAccountId, senderActorId, fileId).
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 issue-19175

📜 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 97c1e67 and 89438f2.

📒 Files selected for processing (3)
  • components/hubspot/actions/add-comment/add-comment.mjs (1 hunks)
  • components/hubspot/actions/list-channels/list-channels.mjs (1 hunks)
  • components/hubspot/actions/send-message/send-message.mjs (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 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/hubspot/actions/list-channels/list-channels.mjs
  • components/hubspot/actions/send-message/send-message.mjs
📚 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/hubspot/actions/send-message/send-message.mjs
🧬 Code graph analysis (3)
components/hubspot/actions/add-comment/add-comment.mjs (1)
components/hubspot/actions/send-message/send-message.mjs (1)
  • response (89-119)
components/hubspot/actions/list-channels/list-channels.mjs (4)
components/hubspot/actions/list-messages/list-messages.mjs (1)
  • response (70-79)
components/hubspot/hubspot.app.mjs (3)
  • response (1088-1093)
  • response (1521-1525)
  • response (1547-1552)
components/hubspot/actions/list-threads/list-threads.mjs (1)
  • response (72-83)
components/hubspot/actions/list-inboxes/list-inboxes.mjs (1)
  • response (36-43)
components/hubspot/actions/send-message/send-message.mjs (2)
components/hubspot/actions/add-comment/add-comment.mjs (1)
  • response (54-69)
components/hubspot/hubspot.app.mjs (3)
  • response (1088-1093)
  • response (1521-1525)
  • response (1547-1552)
⏰ 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: pnpm publish
  • GitHub Check: Publish TypeScript components
  • GitHub Check: Lint Code Base
  • GitHub Check: Verify TypeScript components
🔇 Additional comments (3)
components/hubspot/actions/add-comment/add-comment.mjs (2)

3-52: Action metadata and props look consistent and correct

Key, name, description, version, annotations, and props (including optional inboxId / channelId context feeding into threadId) all align with the patterns used by other HubSpot actions. fileId as an optional propDefinition is also wired cleanly.


53-71: Run implementation and summary are solid

The createMessage call with type: "COMMENT", conditional attachments, and the exported summary string are all straightforward and in line with the send‑message action pattern. The summary message is clear and well‑formatted.

Based on learnings, the $summary format is appropriate and user‑friendly.

components/hubspot/actions/send-message/send-message.mjs (1)

88-121: Message creation payload and summary look correct

The createMessage payload (type, recipients structure, channel fields, optional subject and attachments) is well‑formed and matches the intended Conversations use case, and the exported summary string clearly reports which thread was targeted.

Based on learnings, the $summary string is concise and follows the expected formatting style.


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.

@michelle0927 michelle0927 marked this pull request as ready for review December 2, 2025 18:29
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: 7

Caution

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

⚠️ Outside diff range comments (4)
components/hubspot/actions/retrieve-migrated-workflow-mappings/retrieve-migrated-workflow-mappings.mjs (1)

44-62: Bug: this.workflowIds is undefined — prop is named workflow.

Line 46 references this.workflowIds, but the prop is defined as workflow on line 30. This causes parsedWorkflowIds to always be an empty array, so V3 workflow IDs are never processed.

Apply this diff to fix the reference:

   async run({ $ }) {
     const parsedFlowIds = parseObject(this.flowIds) || [];
-    const parsedWorkflowIds = parseObject(this.workflowIds) || [];
+    const parsedWorkflowIds = parseObject(this.workflow) || [];
components/hubspot/actions/list-campaigns/list-campaigns.mjs (1)

65-66: Pre-existing: Add optional chaining to next property access.

If paging exists but next is undefined, accessing .after will throw a TypeError. Consider using optional chaining for safer access.

-      hasMore = paging?.next.after;
-      params.after = paging?.next.after;
+      hasMore = paging?.next?.after;
+      params.after = paging?.next?.after;
components/hubspot/actions/get-associated-emails/get-associated-emails.mjs (2)

77-80: Operator precedence issue: condition works by accident.

!results?.length > 0 is parsed as (!results?.length) > 0 due to operator precedence, comparing a boolean to 0. While this happens to work, it's confusing and fragile.

-    if (!results?.length > 0) {
+    if (!results?.length) {

96-100: The || [] is a no-op here.

The || [] applies to the result of sort(), not to emails. If emails is nullish, the optional chain short-circuits and the || [] is never reached in a useful way. If you want a fallback, assign it earlier.

-    // Sort emails by timestamp in descending order (most recent first)
-    emails?.sort((a, b) => {
-      const timestampA = new Date(a.properties?.hs_timestamp || 0).getTime();
-      const timestampB = new Date(b.properties?.hs_timestamp || 0).getTime();
-      return timestampB - timestampA;
-    }) || [];
+    // Sort emails by timestamp in descending order (most recent first)
+    emails?.sort((a, b) => {
+      const timestampA = new Date(a.properties?.hs_timestamp || 0).getTime();
+      const timestampB = new Date(b.properties?.hs_timestamp || 0).getTime();
+      return timestampB - timestampA;
+    });
📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 64f3488 and 97c1e67.

📒 Files selected for processing (93)
  • components/hubspot/actions/add-comment/add-comment.mjs (1 hunks)
  • components/hubspot/actions/add-contact-to-list/add-contact-to-list.mjs (1 hunks)
  • components/hubspot/actions/batch-create-companies/batch-create-companies.mjs (1 hunks)
  • components/hubspot/actions/batch-create-or-update-contact/batch-create-or-update-contact.mjs (1 hunks)
  • components/hubspot/actions/batch-update-companies/batch-update-companies.mjs (1 hunks)
  • components/hubspot/actions/batch-upsert-companies/batch-upsert-companies.mjs (1 hunks)
  • components/hubspot/actions/clone-email/clone-email.mjs (1 hunks)
  • components/hubspot/actions/clone-site-page/clone-site-page.mjs (1 hunks)
  • components/hubspot/actions/create-associations/create-associations.mjs (1 hunks)
  • components/hubspot/actions/create-communication/create-communication.mjs (1 hunks)
  • components/hubspot/actions/create-company/create-company.mjs (1 hunks)
  • components/hubspot/actions/create-contact-workflow/create-contact-workflow.mjs (1 hunks)
  • components/hubspot/actions/create-custom-object/create-custom-object.mjs (1 hunks)
  • components/hubspot/actions/create-deal/create-deal.mjs (1 hunks)
  • components/hubspot/actions/create-email/create-email.mjs (1 hunks)
  • components/hubspot/actions/create-engagement/create-engagement.mjs (1 hunks)
  • components/hubspot/actions/create-form/create-form.mjs (1 hunks)
  • components/hubspot/actions/create-landing-page/create-landing-page.mjs (1 hunks)
  • components/hubspot/actions/create-lead/create-lead.mjs (1 hunks)
  • components/hubspot/actions/create-meeting/create-meeting.mjs (1 hunks)
  • components/hubspot/actions/create-note/create-note.mjs (1 hunks)
  • components/hubspot/actions/create-or-update-contact/create-or-update-contact.mjs (1 hunks)
  • components/hubspot/actions/create-page/create-page.mjs (1 hunks)
  • components/hubspot/actions/create-task/create-task.mjs (1 hunks)
  • components/hubspot/actions/create-ticket/create-ticket.mjs (1 hunks)
  • components/hubspot/actions/create-workflow/create-workflow.mjs (1 hunks)
  • components/hubspot/actions/delete-workflow/delete-workflow.mjs (1 hunks)
  • components/hubspot/actions/enroll-contact-into-workflow/enroll-contact-into-workflow.mjs (1 hunks)
  • components/hubspot/actions/get-associated-emails/get-associated-emails.mjs (1 hunks)
  • components/hubspot/actions/get-associated-meetings/get-associated-meetings.mjs (1 hunks)
  • components/hubspot/actions/get-channel/get-channel.mjs (1 hunks)
  • components/hubspot/actions/get-company/get-company.mjs (1 hunks)
  • components/hubspot/actions/get-contact/get-contact.mjs (1 hunks)
  • components/hubspot/actions/get-deal/get-deal.mjs (1 hunks)
  • components/hubspot/actions/get-file-public-url/get-file-public-url.mjs (1 hunks)
  • components/hubspot/actions/get-inbox/get-inbox.mjs (1 hunks)
  • components/hubspot/actions/get-meeting/get-meeting.mjs (1 hunks)
  • components/hubspot/actions/get-subscription-preferences/get-subscription-preferences.mjs (1 hunks)
  • components/hubspot/actions/list-blog-posts/list-blog-posts.mjs (1 hunks)
  • components/hubspot/actions/list-campaigns/list-campaigns.mjs (1 hunks)
  • components/hubspot/actions/list-channels/list-channels.mjs (1 hunks)
  • components/hubspot/actions/list-forms/list-forms.mjs (1 hunks)
  • components/hubspot/actions/list-inboxes/list-inboxes.mjs (1 hunks)
  • components/hubspot/actions/list-marketing-emails/list-marketing-emails.mjs (1 hunks)
  • components/hubspot/actions/list-marketing-events/list-marketing-events.mjs (1 hunks)
  • components/hubspot/actions/list-messages/list-messages.mjs (1 hunks)
  • components/hubspot/actions/list-pages/list-pages.mjs (1 hunks)
  • components/hubspot/actions/list-templates/list-templates.mjs (1 hunks)
  • components/hubspot/actions/list-threads/list-threads.mjs (1 hunks)
  • components/hubspot/actions/retrieve-migrated-workflow-mappings/retrieve-migrated-workflow-mappings.mjs (1 hunks)
  • components/hubspot/actions/retrieve-workflow-details/retrieve-workflow-details.mjs (1 hunks)
  • components/hubspot/actions/retrieve-workflow-emails/retrieve-workflow-emails.mjs (1 hunks)
  • components/hubspot/actions/retrieve-workflows/retrieve-workflows.mjs (1 hunks)
  • components/hubspot/actions/search-crm/search-crm.mjs (1 hunks)
  • components/hubspot/actions/send-message/send-message.mjs (1 hunks)
  • components/hubspot/actions/update-company/update-company.mjs (1 hunks)
  • components/hubspot/actions/update-contact/update-contact.mjs (1 hunks)
  • components/hubspot/actions/update-custom-object/update-custom-object.mjs (1 hunks)
  • components/hubspot/actions/update-deal/update-deal.mjs (1 hunks)
  • components/hubspot/actions/update-fields-on-the-form/update-fields-on-the-form.mjs (1 hunks)
  • components/hubspot/actions/update-landing-page/update-landing-page.mjs (1 hunks)
  • components/hubspot/actions/update-lead/update-lead.mjs (1 hunks)
  • components/hubspot/actions/update-page/update-page.mjs (1 hunks)
  • components/hubspot/common/constants.mjs (1 hunks)
  • components/hubspot/hubspot.app.mjs (3 hunks)
  • components/hubspot/package.json (1 hunks)
  • components/hubspot/sources/delete-blog-article/delete-blog-article.mjs (1 hunks)
  • components/hubspot/sources/new-company-property-change/new-company-property-change.mjs (1 hunks)
  • components/hubspot/sources/new-contact-added-to-list/new-contact-added-to-list.mjs (1 hunks)
  • components/hubspot/sources/new-contact-property-change/new-contact-property-change.mjs (1 hunks)
  • components/hubspot/sources/new-custom-object-property-change/new-custom-object-property-change.mjs (1 hunks)
  • components/hubspot/sources/new-deal-in-stage/new-deal-in-stage.mjs (1 hunks)
  • components/hubspot/sources/new-deal-property-change/new-deal-property-change.mjs (1 hunks)
  • components/hubspot/sources/new-email-event/new-email-event.mjs (1 hunks)
  • components/hubspot/sources/new-email-subscriptions-timeline/new-email-subscriptions-timeline.mjs (1 hunks)
  • components/hubspot/sources/new-engagement/new-engagement.mjs (1 hunks)
  • components/hubspot/sources/new-event/new-event.mjs (1 hunks)
  • components/hubspot/sources/new-form-submission/new-form-submission.mjs (1 hunks)
  • components/hubspot/sources/new-message-in-thread/new-message-in-thread.mjs (1 hunks)
  • components/hubspot/sources/new-note/new-note.mjs (1 hunks)
  • components/hubspot/sources/new-or-updated-blog-article/new-or-updated-blog-article.mjs (1 hunks)
  • components/hubspot/sources/new-or-updated-company/new-or-updated-company.mjs (1 hunks)
  • components/hubspot/sources/new-or-updated-contact/new-or-updated-contact.mjs (1 hunks)
  • components/hubspot/sources/new-or-updated-crm-object/new-or-updated-crm-object.mjs (1 hunks)
  • components/hubspot/sources/new-or-updated-custom-object/new-or-updated-custom-object.mjs (1 hunks)
  • components/hubspot/sources/new-or-updated-deal/new-or-updated-deal.mjs (1 hunks)
  • components/hubspot/sources/new-or-updated-line-item/new-or-updated-line-item.mjs (1 hunks)
  • components/hubspot/sources/new-or-updated-product/new-or-updated-product.mjs (1 hunks)
  • components/hubspot/sources/new-social-media-message/new-social-media-message.mjs (1 hunks)
  • components/hubspot/sources/new-task/new-task.mjs (1 hunks)
  • components/hubspot/sources/new-thread-created/new-thread-created.mjs (1 hunks)
  • components/hubspot/sources/new-ticket-property-change/new-ticket-property-change.mjs (1 hunks)
  • components/hubspot/sources/new-ticket/new-ticket.mjs (1 hunks)
🧰 Additional context used
🧠 Learnings (6)
📚 Learning: 2025-01-23T03:55:15.166Z
Learnt from: GTFalcao
Repo: PipedreamHQ/pipedream PR: 15376
File: components/monday/sources/name-updated/name-updated.mjs:6-6
Timestamp: 2025-01-23T03:55:15.166Z
Learning: Source names in Monday.com components don't need to start with "New" if they emit events for updated items (e.g., "Name Updated", "Column Value Updated") rather than new items. This follows the component guidelines exception where the "New" prefix is only required when emits are limited to new items.

Applied to files:

  • components/hubspot/sources/new-or-updated-crm-object/new-or-updated-crm-object.mjs
  • components/hubspot/sources/new-or-updated-custom-object/new-or-updated-custom-object.mjs
  • components/hubspot/sources/new-or-updated-line-item/new-or-updated-line-item.mjs
  • components/hubspot/sources/new-or-updated-company/new-or-updated-company.mjs
  • components/hubspot/sources/new-or-updated-product/new-or-updated-product.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/hubspot/actions/create-lead/create-lead.mjs
  • components/hubspot/actions/create-page/create-page.mjs
📚 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/hubspot/actions/create-communication/create-communication.mjs
  • components/hubspot/actions/send-message/send-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/hubspot/actions/list-messages/list-messages.mjs
  • components/hubspot/actions/send-message/send-message.mjs
📚 Learning: 2024-10-10T19:18:27.998Z
Learnt from: GTFalcao
Repo: PipedreamHQ/pipedream PR: 14265
File: components/the_magic_drip/sources/common.mjs:35-43
Timestamp: 2024-10-10T19:18:27.998Z
Learning: In `components/the_magic_drip/sources/common.mjs`, when processing items in `getAndProcessData`, `savedIds` is intentionally updated with IDs of both emitted and non-emitted items to avoid emitting retroactive events upon first deployment and ensure only new events are emitted as they occur.

Applied to files:

  • components/hubspot/sources/new-message-in-thread/new-message-in-thread.mjs
  • components/hubspot/sources/new-thread-created/new-thread-created.mjs
📚 Learning: 2024-07-24T02:06:47.016Z
Learnt from: GTFalcao
Repo: PipedreamHQ/pipedream PR: 12697
File: components/salesforce_rest_api/sources/common-webhook-methods.mjs:1-71
Timestamp: 2024-07-24T02:06:47.016Z
Learning: The `common-webhook-methods.mjs` object is designed to be extended, similar to an abstract class, and intentionally does not implement certain methods like `generateWebhookMeta` and `getEventType` to enforce implementation in subclasses.

Applied to files:

  • components/hubspot/sources/new-message-in-thread/new-message-in-thread.mjs
  • components/hubspot/sources/new-thread-created/new-thread-created.mjs
🧬 Code graph analysis (10)
components/hubspot/actions/get-inbox/get-inbox.mjs (8)
components/hubspot/actions/add-comment/add-comment.mjs (1)
  • response (55-70)
components/hubspot/actions/list-messages/list-messages.mjs (1)
  • response (70-79)
components/hubspot/actions/send-message/send-message.mjs (1)
  • response (89-119)
components/hubspot/hubspot.app.mjs (3)
  • response (1088-1093)
  • response (1521-1525)
  • response (1547-1552)
components/hubspot/actions/get-channel/get-channel.mjs (1)
  • response (24-27)
components/hubspot/actions/list-channels/list-channels.mjs (1)
  • response (30-36)
components/hubspot/actions/list-inboxes/list-inboxes.mjs (1)
  • response (36-43)
components/hubspot/actions/list-threads/list-threads.mjs (1)
  • response (72-83)
components/hubspot/actions/get-channel/get-channel.mjs (8)
components/hubspot/actions/add-comment/add-comment.mjs (1)
  • response (55-70)
components/hubspot/actions/list-messages/list-messages.mjs (1)
  • response (70-79)
components/hubspot/actions/send-message/send-message.mjs (1)
  • response (89-119)
components/hubspot/hubspot.app.mjs (3)
  • response (1088-1093)
  • response (1521-1525)
  • response (1547-1552)
components/hubspot/actions/get-inbox/get-inbox.mjs (1)
  • response (24-27)
components/hubspot/actions/list-channels/list-channels.mjs (1)
  • response (30-36)
components/hubspot/actions/list-inboxes/list-inboxes.mjs (1)
  • response (36-43)
components/hubspot/actions/list-threads/list-threads.mjs (1)
  • response (72-83)
components/hubspot/actions/list-messages/list-messages.mjs (8)
components/hubspot/actions/add-comment/add-comment.mjs (1)
  • response (55-70)
components/hubspot/actions/send-message/send-message.mjs (1)
  • response (89-119)
components/hubspot/hubspot.app.mjs (3)
  • response (1088-1093)
  • response (1521-1525)
  • response (1547-1552)
components/hubspot/actions/get-channel/get-channel.mjs (1)
  • response (24-27)
components/hubspot/actions/get-inbox/get-inbox.mjs (1)
  • response (24-27)
components/hubspot/actions/list-channels/list-channels.mjs (1)
  • response (30-36)
components/hubspot/actions/list-inboxes/list-inboxes.mjs (1)
  • response (36-43)
components/hubspot/actions/list-threads/list-threads.mjs (1)
  • response (72-83)
components/hubspot/sources/new-message-in-thread/new-message-in-thread.mjs (1)
components/zep/actions/get-threads/get-threads.mjs (1)
  • max (39-39)
components/hubspot/actions/list-channels/list-channels.mjs (6)
components/hubspot/actions/add-comment/add-comment.mjs (1)
  • response (55-70)
components/hubspot/actions/list-messages/list-messages.mjs (1)
  • response (70-79)
components/hubspot/actions/send-message/send-message.mjs (1)
  • response (89-119)
components/hubspot/hubspot.app.mjs (3)
  • response (1088-1093)
  • response (1521-1525)
  • response (1547-1552)
components/hubspot/actions/list-inboxes/list-inboxes.mjs (1)
  • response (36-43)
components/hubspot/actions/list-threads/list-threads.mjs (1)
  • response (72-83)
components/hubspot/actions/list-threads/list-threads.mjs (6)
components/hubspot/actions/list-messages/list-messages.mjs (1)
  • response (70-79)
components/hubspot/actions/send-message/send-message.mjs (1)
  • response (89-119)
components/hubspot/hubspot.app.mjs (3)
  • response (1088-1093)
  • response (1521-1525)
  • response (1547-1552)
components/hubspot/actions/get-inbox/get-inbox.mjs (1)
  • response (24-27)
components/hubspot/actions/list-channels/list-channels.mjs (1)
  • response (30-36)
components/hubspot/actions/list-inboxes/list-inboxes.mjs (1)
  • response (36-43)
components/hubspot/sources/new-thread-created/new-thread-created.mjs (3)
components/zep/actions/get-threads/get-threads.mjs (1)
  • max (39-39)
components/hubspot/sources/new-message-in-thread/new-message-in-thread.mjs (1)
  • after (23-23)
components/hubspot/hubspot.app.mjs (1)
  • results (147-152)
components/hubspot/hubspot.app.mjs (1)
components/hubspot/common/constants.mjs (1)
  • API_PATH (9-31)
components/hubspot/actions/send-message/send-message.mjs (2)
components/hubspot/actions/add-comment/add-comment.mjs (1)
  • response (55-70)
components/hubspot/hubspot.app.mjs (3)
  • response (1088-1093)
  • response (1521-1525)
  • response (1547-1552)
components/hubspot/actions/add-comment/add-comment.mjs (4)
components/hubspot/actions/send-message/send-message.mjs (1)
  • response (89-119)
components/hubspot/hubspot.app.mjs (3)
  • response (1088-1093)
  • response (1521-1525)
  • response (1547-1552)
components/hubspot/actions/get-channel/get-channel.mjs (1)
  • response (24-27)
components/hubspot/actions/get-inbox/get-inbox.mjs (1)
  • response (24-27)
⏰ 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: pnpm publish
  • GitHub Check: Publish TypeScript components
  • GitHub Check: Lint Code Base
  • GitHub Check: Verify TypeScript components
🔇 Additional comments (89)
components/hubspot/actions/update-contact/update-contact.mjs (1)

11-11: Version bump approved.

This metadata-only change aligns with the broader coordinated version updates across HubSpot modules in this PR.

components/hubspot/sources/new-company-property-change/new-company-property-change.mjs (1)

10-10: Version bump is appropriate.

This version increment aligns with the PR's addition of new HubSpot conversations components. The existing code structure, error handling, and logic remain sound and unchanged.

components/hubspot/sources/new-engagement/new-engagement.mjs (1)

11-11: Version bump is appropriate and consistent with PR scope.

The patch version increment aligns with the coordinated HubSpot release adding conversations API support. The existing implementation remains sound with proper pagination, filtering, and deduplication semantics.

components/hubspot/sources/new-deal-property-change/new-deal-property-change.mjs (1)

10-10: Version bump is appropriate and consistent with the PR objectives.

The metadata-only version update (0.0.31 → 0.0.32) aligns with the stated PR objective to bump version numbers across 80+ existing HubSpot modules due to the addition of new conversations API functionality. Since this is a patch-level version bump with no functional changes, the semantic versioning approach is sound.

components/hubspot/actions/get-company/get-company.mjs (1)

10-10: Verify the version bump strategy for unmodified modules.

This file receives only a version increment from "0.0.27" to "0.0.28" with no functional changes. The PR's primary objective is to add new conversations API components, and this file is outside that scope.

Please confirm:

  • Is this version bump intentional as part of a broader release strategy (e.g., all HubSpot modules versioned together)?
  • Does the project's versioning convention require bumping versions of existing modules even when they are not modified?
components/hubspot/actions/get-contact/get-contact.mjs (1)

10-10: Version bump consistent with module update.

The version change from 0.0.27 to 0.0.28 aligns with the module-wide version bump to 1.8.0 as part of this PR. The action structure and configuration remain unchanged and sound.

components/hubspot/sources/new-or-updated-deal/new-or-updated-deal.mjs (1)

13-13: Routine version bump—approved.

The version field has been updated from 0.0.23 to 0.0.24 as a patch-level increment. Since this component has no functional changes, the version bump appears to be part of a broader release coordination across HubSpot modules (as noted in the PR summary). This is appropriate for bundled maintenance releases.

components/hubspot/sources/new-or-updated-company/new-or-updated-company.mjs (1)

13-13: Version bump approved as routine maintenance.

The patch-level version increment aligns with the PR's pattern of updating version metadata across HubSpot modules following the addition of conversations API support. No functional changes detected in this component.

components/hubspot/actions/batch-create-or-update-contact/batch-create-or-update-contact.mjs (1)

8-8: Version bump as part of coordinated release.

The version is incremented from 0.0.24 to 0.0.25 with no accompanying code changes. This aligns with the PR's broader objective of adding HubSpot conversations support across 80+ modules with coordinated versioning.

components/hubspot/actions/create-landing-page/create-landing-page.mjs (1)

10-10: Version bump is appropriate as part of coordinated module updates.

The patch version increment aligns with the coordinated version updates across HubSpot modules in this PR.

components/hubspot/sources/new-or-updated-product/new-or-updated-product.mjs (1)

13-13: Version bump aligns with PR scope.

The version is being bumped to 0.0.24 as part of the broader HubSpot module updates in this PR. Since there are no functional changes to this source component, the bump appears to be for consistency/release management purposes across the HubSpot module family.

components/hubspot/sources/new-ticket-property-change/new-ticket-property-change.mjs (1)

11-11: Version bump aligns with PR pattern.

The minor version increment from 0.0.30 to 0.0.31 is consistent with the version bumping pattern across HubSpot modules in this PR.

components/hubspot/actions/create-communication/create-communication.mjs (1)

12-12: LGTM!

Version bump is consistent with the coordinated version updates across the HubSpot module suite mentioned in the PR summary.

components/hubspot/actions/update-landing-page/update-landing-page.mjs (1)

10-10: Version bump only; action logic remains unchanged

The change is limited to the action version metadata (0.0.90.0.10) with no modifications to props or runtime logic. This is safe and consistent with the broader HubSpot action version bumps in this PR.

components/hubspot/sources/new-or-updated-custom-object/new-or-updated-custom-object.mjs (1)

10-10: Version bump is appropriate as part of coordinated PR versioning.

The version bump from 0.0.25 to 0.0.26 aligns with the widespread version updates across 80+ HubSpot modules introduced in this PR. No functional changes to this source component; the bump is metadata-only and consistent with the PR's versioning strategy.

components/hubspot/actions/list-blog-posts/list-blog-posts.mjs (1)

7-7: Version bump as part of coordinated release strategy.

This is a metadata-only change incrementing the version from 0.0.10 to 0.0.11. Based on the PR context indicating version bumps across 80+ HubSpot modules, this appears to be part of an atomic versioning pattern to keep all components in sync.

The action logic, props, and runtime behavior remain unchanged and correct.

Please confirm that this version-increment pattern is intentional and follows the module's versioning strategy. If all HubSpot components are being versioned together as part of this release, ensure the version scheme is documented or standardized across the codebase.

components/hubspot/actions/create-form/create-form.mjs (1)

13-13: Verify that the patch version bump aligns with the versioning strategy.

This is a patch-level version increment (0.0.8 → 0.0.9) with no functional changes to this specific file. Per semantic versioning, patch bumps typically accompany bug fixes or patches. Given the broader context of this PR (80+ module version bumps + new HubSpot conversations features), please clarify whether this is part of a coordinated versioning strategy, or if there are underlying bug fixes or improvements that should be documented.

components/hubspot/actions/create-task/create-task.mjs (1)

11-11: Version bump is appropriate for administrative/packaging consistency.

The version update from 0.0.12 to 0.0.13 is consistent with the PR's broad version instrumentation across HubSpot modules. Since no functional changes are present in this file, this is purely an administrative update.

components/hubspot/sources/new-contact-added-to-list/new-contact-added-to-list.mjs (1)

15-15: Version bump looks good.

Patch-level version update (0.0.8 → 0.0.9) is appropriate as part of the broader HubSpot module updates in this PR. The file's existing implementation is solid with proper error handling, batch operation chunking, and pagination.

components/hubspot/actions/enroll-contact-into-workflow/enroll-contact-into-workflow.mjs (1)

8-8: LGTM! Version bump aligns with PR scope.

This metadata-only version update is consistent with the broader version refresh across HubSpot modules in this PR.

components/hubspot/actions/update-page/update-page.mjs (1)

10-10: Verify the necessity of the version bump for an unaffected module.

This file (CMS page update action) appears unrelated to the conversations API additions mentioned in the PR objectives. According to the AI summary, this PR bumps versions across 80+ HubSpot modules—potentially including unmodified ones. Versioning only unchanged files can obscure which modules were actually affected.

Please verify one of the following:

  1. Was this file's functionality affected by the conversations API changes (e.g., shared utilities, common properties, or prop definitions)?
  2. If not affected, consider removing the version bump to keep the changelog accurate and focused on actual changes.
components/hubspot/actions/update-company/update-company.mjs (1)

11-11: Clarify the version-bump strategy for unchanged modules.

Line 11 increments the version from "0.0.28" to "0.0.29" (a patch bump), yet this file contains zero functional changes. The PR summary indicates that 80+ existing HubSpot modules are similarly bumped despite being unchanged.

Per semantic versioning, patch bumps should reflect bug fixes or non-breaking corrections. When new features are added to a component suite (e.g., new actions/sources), it's unclear whether all existing, unchanged modules should also be version-bumped.

Verify:

  • Is mass version-bumping of unchanged modules a documented convention in this codebase?
  • Should only modules with actual changes be version-bumped?

If this is unintended, consider reverting version bumps for unchanged files.

components/hubspot/actions/update-lead/update-lead.mjs (1)

11-11: LGTM! Routine version bump.

The version increment aligns with the package-level updates in this PR.

components/hubspot/actions/get-deal/get-deal.mjs (1)

10-10: LGTM! Version bump is appropriate.

The patch version increment is clean and introduces no functional changes. This coordinated version bump aligns with the broader package release strategy.

components/hubspot/sources/new-custom-object-property-change/new-custom-object-property-change.mjs (1)

10-10: LGTM! Routine version bump.

The version increment is appropriate for this release and maintains consistency across the HubSpot component ecosystem.

components/hubspot/actions/list-marketing-emails/list-marketing-emails.mjs (1)

3-8: Version bump looks consistent with PR-wide metadata updates

The change to version: "0.0.11" is straightforward and matches the pattern of metadata-only bumps across the HubSpot actions in this PR. No functional or typing issues identified in this module as a result of this change.

components/hubspot/actions/create-note/create-note.mjs (1)

11-11: LGTM! Version bump with no functional changes.

This is a maintenance version bump with no code changes, aligned with the broader version sweep across HubSpot components in this PR.

components/hubspot/sources/new-or-updated-blog-article/new-or-updated-blog-article.mjs (1)

10-10: Routine version bump as part of broader release.

Version update is consistent with the PR's versioning consolidation across HubSpot modules. No functional changes.

components/hubspot/actions/create-ticket/create-ticket.mjs (1)

10-10: Verify if version bump is necessary for unchanged components.

This file received a version bump from "0.0.23" to "0.0.24" with no functional changes. While this may be part of a broader versioning strategy for the HubSpot integration, bumping versions without corresponding changes can make version history less meaningful and may cause unnecessary deployment churn.

Consider clarifying:

  • Is there a platform requirement to bump all component versions when the HubSpot integration is updated?
  • Does the version bump reflect changes in shared dependencies (e.g., the common module or app connector)?
  • If neither applies, consider limiting version bumps to only those components with actual changes.
components/hubspot/actions/get-associated-meetings/get-associated-meetings.mjs (2)

10-10: Clarify version bump justification in scope of PR objectives.

This version change is the only modification in a file unrelated to the PR's stated objectives (conversations/tickets support). While the AI summary indicates coordinated versioning across HubSpot modules, please confirm whether these version bumps should be included in this PR or separated into a dedicated maintenance release.


207-217: Review logic of custom date range filter.

The operators in the "custom" case appear to be inverted relative to other timeframe cases and may not match the intended filtering behavior:

case "custom":
  return {
    hs_meeting_start_time: {
      operator: "LTE",  // meetings that START on or before startDate?
      value: startDate,
    },
    hs_meeting_end_time: {
      operator: "GTE",  // meetings that END on or after endDate?
      value: endDate,
    },
  };

This would match meetings that span the entire date range, not meetings within the range. Compare to the "today" case which uses GTE for start and LTE for end. Should this be:

  • hs_meeting_start_time: { operator: "GTE", value: startDate }
  • hs_meeting_end_time: { operator: "LTE", value: endDate }
components/hubspot/sources/new-contact-property-change/new-contact-property-change.mjs (1)

11-11: LGTM: Routine version increment.

The version bump from "0.0.32" to "0.0.33" is appropriate as part of the PR's bulk version management strategy across HubSpot components.

components/hubspot/actions/list-marketing-events/list-marketing-events.mjs (1)

7-7: Version bump only; metadata update looks good

The version increment to "0.0.11" is consistent with a non-breaking metadata bump and there are no associated logic changes in this action. No further changes needed here.

components/hubspot/actions/create-email/create-email.mjs (1)

13-13: This file has not been modified in the current PR. The version remains at "0.0.9" from the previous commit. There is no version bump to review here.

Likely an incorrect or invalid review comment.

components/hubspot/actions/add-contact-to-list/add-contact-to-list.mjs (1)

8-8: LGTM!

Version bump from 0.0.27 to 0.0.28 aligns with the broader package release for the new HubSpot conversations API features.

components/hubspot/actions/batch-create-companies/batch-create-companies.mjs (1)

11-11: LGTM!

Version bump from 0.0.10 to 0.0.11 is consistent with the package-wide release.

components/hubspot/package.json (1)

3-3: LGTM!

Minor version bump from 1.7.15 to 1.8.0 is appropriate per semantic versioning for the new HubSpot conversations API features (inboxes, channels, threads, messages actions and sources).

components/hubspot/sources/new-or-updated-crm-object/new-or-updated-crm-object.mjs (1)

10-10: LGTM!

Version bump from 0.0.36 to 0.0.37 aligns with the package release.

components/hubspot/actions/retrieve-workflows/retrieve-workflows.mjs (1)

7-7: LGTM!

Version bump from 0.0.5 to 0.0.6 is consistent with the package-wide release.

components/hubspot/sources/new-ticket/new-ticket.mjs (1)

13-13: Version bump looks good.

Metadata version increment aligns with the broader HubSpot component synchronization in this PR.

components/hubspot/actions/retrieve-migrated-workflow-mappings/retrieve-migrated-workflow-mappings.mjs (1)

8-8: Version bump is appropriate.

The metadata version increment is consistent with other HubSpot components in this PR.

components/hubspot/actions/clone-email/clone-email.mjs (1)

9-9: LGTM!

Version bump aligns with the broader HubSpot component updates.

components/hubspot/actions/create-associations/create-associations.mjs (1)

9-9: LGTM!

Version bump is consistent with the HubSpot component synchronization.

components/hubspot/sources/new-task/new-task.mjs (1)

12-12: LGTM!

Version bump aligns with the HubSpot module updates in this PR.

components/hubspot/actions/delete-workflow/delete-workflow.mjs (1)

7-7: LGTM!

Version bump is consistent with the broader PR versioning update.

components/hubspot/sources/new-note/new-note.mjs (1)

11-11: LGTM!

Version bump aligns with the PR's metadata update pattern.

components/hubspot/sources/new-or-updated-line-item/new-or-updated-line-item.mjs (1)

13-13: LGTM!

Version bump is consistent with the broader PR versioning sweep.

components/hubspot/actions/create-company/create-company.mjs (1)

10-10: LGTM!

Version bump aligns with the PR's metadata update pattern across HubSpot actions.

components/hubspot/sources/delete-blog-article/delete-blog-article.mjs (1)

9-9: LGTM!

Version bump is consistent with the PR's versioning update pattern.

components/hubspot/actions/create-contact-workflow/create-contact-workflow.mjs (1)

9-9: LGTM!

Version bump aligns with the PR's metadata update pattern.

components/hubspot/actions/list-campaigns/list-campaigns.mjs (1)

7-7: LGTM!

Version bump is consistent with the PR's metadata update pattern.

components/hubspot/actions/batch-update-companies/batch-update-companies.mjs (1)

11-11: LGTM! Version bump only.

This is a metadata-only update with no functional changes.

components/hubspot/sources/new-form-submission/new-form-submission.mjs (1)

9-9: LGTM! Version bump only.

This is a metadata-only update with no functional changes.

components/hubspot/sources/new-deal-in-stage/new-deal-in-stage.mjs (1)

16-16: LGTM! Version bump only.

This is a metadata-only update with no functional changes.

components/hubspot/actions/search-crm/search-crm.mjs (1)

21-21: LGTM! Version bump only.

This is a metadata-only update with no functional changes.

components/hubspot/actions/create-custom-object/create-custom-object.mjs (1)

13-13: LGTM! Version bump only.

This is a metadata-only update with no functional changes.

components/hubspot/actions/batch-upsert-companies/batch-upsert-companies.mjs (1)

10-10: LGTM! Version bump only.

This is a metadata-only update with no functional changes.

components/hubspot/actions/create-page/create-page.mjs (1)

10-10: LGTM! Version bump only.

This is a metadata-only update with no functional changes.

components/hubspot/actions/create-or-update-contact/create-or-update-contact.mjs (1)

10-10: LGTM! Version bump only.

This is a metadata-only update with no functional changes.

components/hubspot/actions/get-associated-emails/get-associated-emails.mjs (1)

9-9: Version bump looks good.

components/hubspot/actions/create-engagement/create-engagement.mjs (1)

14-14: Version bump looks good.

components/hubspot/sources/new-or-updated-contact/new-or-updated-contact.mjs (1)

13-13: Version bump looks good.

components/hubspot/sources/new-event/new-event.mjs (1)

11-11: Version bump looks good.

components/hubspot/sources/new-social-media-message/new-social-media-message.mjs (1)

10-10: Version bump looks good.

components/hubspot/actions/create-meeting/create-meeting.mjs (1)

14-14: LGTM! Version bump aligns with package-wide versioning update.

This metadata-only change is consistent with the PR's broader versioning sweep across HubSpot actions.

components/hubspot/actions/update-custom-object/update-custom-object.mjs (1)

10-10: LGTM! Version bump aligns with package-wide versioning update.

This metadata-only change is consistent with the PR's broader versioning sweep across HubSpot actions.

components/hubspot/actions/retrieve-workflow-emails/retrieve-workflow-emails.mjs (1)

7-7: LGTM! Version bump aligns with package-wide versioning update.

This metadata-only change is consistent with the PR's broader versioning sweep across HubSpot actions.

components/hubspot/actions/create-lead/create-lead.mjs (1)

16-16: LGTM! Version bump aligns with package-wide versioning update.

This metadata-only change is consistent with the PR's broader versioning sweep across HubSpot actions.

components/hubspot/actions/update-fields-on-the-form/update-fields-on-the-form.mjs (1)

13-13: LGTM! Version bump aligns with package-wide versioning update.

This metadata-only change is consistent with the PR's broader versioning sweep across HubSpot actions.

components/hubspot/actions/retrieve-workflow-details/retrieve-workflow-details.mjs (1)

7-7: LGTM! Version bump aligns with package-wide versioning update.

This metadata-only change is consistent with the PR's broader versioning sweep across HubSpot actions.

components/hubspot/actions/list-templates/list-templates.mjs (1)

8-8: LGTM! Version bump aligns with package-wide versioning update.

This metadata-only change is consistent with the PR's broader versioning sweep across HubSpot actions.

components/hubspot/actions/get-subscription-preferences/get-subscription-preferences.mjs (1)

8-8: LGTM! Version bump aligns with package-wide versioning update.

This metadata-only change is consistent with the PR's broader versioning sweep across HubSpot actions.

components/hubspot/sources/new-email-subscriptions-timeline/new-email-subscriptions-timeline.mjs (1)

9-9: LGTM! Version bump aligns with package update.

This metadata-only change is part of the coordinated version update across HubSpot components.

components/hubspot/actions/get-file-public-url/get-file-public-url.mjs (1)

8-8: LGTM! Version bump aligns with package update.

This metadata-only change is part of the coordinated version update across HubSpot components.

components/hubspot/actions/clone-site-page/clone-site-page.mjs (1)

8-8: LGTM! Version bump aligns with package update.

This metadata-only change is part of the coordinated version update across HubSpot components.

components/hubspot/actions/list-pages/list-pages.mjs (1)

8-8: LGTM! Version bump aligns with package update.

This metadata-only change is part of the coordinated version update across HubSpot components.

components/hubspot/actions/get-meeting/get-meeting.mjs (1)

10-10: LGTM! Version bump aligns with package update.

This metadata-only change is part of the coordinated version update across HubSpot components.

components/hubspot/actions/update-deal/update-deal.mjs (1)

11-11: LGTM! Version bump aligns with package update.

This metadata-only change is part of the coordinated version update across HubSpot components.

components/hubspot/actions/create-deal/create-deal.mjs (1)

10-10: LGTM! Version bump aligns with package update.

This metadata-only change is part of the coordinated version update across HubSpot components.

components/hubspot/sources/new-email-event/new-email-event.mjs (1)

11-11: LGTM! Version bump aligns with package update.

This metadata-only change is part of the coordinated version update across HubSpot components.

components/hubspot/actions/create-workflow/create-workflow.mjs (1)

8-8: Version bump only – looks good

The version increment to 0.0.5 is consistent with no behavioral changes in this action.

components/hubspot/actions/list-forms/list-forms.mjs (1)

8-8: Version bump only – looks good

The version update to 0.0.11 is in line with the unchanged implementation of this action.

components/hubspot/common/constants.mjs (1)

30-31: New CONVERSATIONS API path is consistent

CONVERSATIONS: "/conversations/v3" aligns with the existing API_PATH naming and URL structure and is suitable for the new conversations methods.

components/hubspot/actions/get-channel/get-channel.mjs (1)

1-31: Get Channel action wiring looks correct

The action correctly exposes channelId, delegates to this.hubspot.getChannel, and exports a clear success summary. Annotations and metadata are consistent with other read-only actions.

components/hubspot/actions/get-inbox/get-inbox.mjs (1)

1-31: Get Inbox action is correctly implemented

The action cleanly exposes inboxId, calls this.hubspot.getInbox, and exports a clear success summary. Annotations properly reflect a read‑only retrieval.

components/hubspot/sources/new-thread-created/new-thread-created.mjs (1)

13-33: Polling, pagination, and seeding behavior look consistent with existing patterns

processEvent correctly:

  • Reads the cursor via _getAfter,
  • Pages listThreads with a stable sort,
  • Advances _setAfter(paging?.next?.after) before applying the max cap,
  • Emits each thread via emitEvent, and
  • Uses deploy() to seed a bounded initial batch.

This matches the “emit up to N items on deploy but consider the whole page as seen” pattern used in other sources, avoiding retroactive emissions on subsequent runs.

Also applies to: 42-49

components/hubspot/sources/new-message-in-thread/new-message-in-thread.mjs (1)

11-19: Message polling implementation looks solid and consistent

The source cleanly extends common and wires threadId into listMessages, using _getAfter / _setAfter and dedupe: "unique" to avoid duplicates. The deploy() cap of 25 messages and descending -createdAt sort follow the same seeding and pagination conventions as the new-thread source.

Also applies to: 22-42

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

381-392: New prop definitions for conversations resources are well-integrated

The added fileId, inboxId, channelId, threadId, channelAccountId, and senderActorId props:

  • Reuse existing search/pagination patterns (searchFiles, listInboxes, listChannels, listThreads, listChannelAccounts, getOwners) with prevContext and after cursors.
  • Provide clear labels / descriptions that make it obvious what each ID represents in the UI.
  • Expose enough context (inboxId, channelId) to filter threads and channel accounts appropriately.

This gives the downstream actions and sources a clean, composable way to select the right conversations objects.

Also applies to: 710-849


1826-1890: Conversations helper methods correctly encapsulate the new API surface

The new methods:

  • getInbox, getChannel
  • listInboxes, listChannels, listThreads, listMessages
  • listChannelAccounts, createMessage

all consistently:

  • Use api: API_PATH.CONVERSATIONS with endpoints like /conversations/inboxes, /conversations/threads/${threadId}/messages, which matches the documented conversations/v3 paths.
  • Defer params/body and $ handling via ...opts, aligning with the rest of the app’s helpers.
  • Separate reading (list*) from writing (createMessage with explicit method: "POST").

This keeps the conversations API nicely encapsulated and easy to consume from actions/sources.

@michelle0927
Copy link
Collaborator Author

@vunguyenhung For testing the "Send Email" action, I was able to execute it successfully using the "EMAIL" channel. To connect an email to an account: Settings -> General -> Email

Copy link
Collaborator

@lcaresia lcaresia left a comment

Choose a reason for hiding this comment

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

LGTM!

@vunguyenhung
Copy link
Collaborator

@vunguyenhung
Copy link
Collaborator

Hi everyone, all test cases are passed! Ready for release!

Test reports

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] Hubspot - tickets

4 participants