From fdd4b0c36bd0e7000b075422e1ac455260a10b6f Mon Sep 17 00:00:00 2001 From: Ashwin Srinivas Date: Tue, 1 Sep 2026 16:45:58 +0530 Subject: [PATCH 1/2] feat(belco): add belco-retrieve-conversation-items action --- .../add-note-to-conversation.mjs | 2 +- .../add-tags-to-conversation.mjs | 2 +- .../close-conversation/close-conversation.mjs | 2 +- .../create-conversation.mjs | 2 +- .../get-contact-details.mjs | 2 +- .../list-all-conversations.mjs | 2 +- .../list-shop-id-options.mjs | 2 +- .../belco/actions/list-users/list-users.mjs | 2 +- .../reopen-conversation.mjs | 2 +- .../reply-to-conversation.mjs | 2 +- .../retrieve-conversation-items.mjs | 36 +++++++++++++++++++ .../retrieve-conversation.mjs | 2 +- .../actions/send-message/send-message.mjs | 2 +- components/belco/belco.app.mjs | 8 +++++ components/belco/package.json | 2 +- .../conversation-assigned-instant.mjs | 2 +- .../conversation-closed-instant.mjs | 2 +- .../conversation-reopened-instant.mjs | 2 +- .../conversation-replied-instant.mjs | 2 +- .../new-conversation-created-instant.mjs | 2 +- .../new-conversation/new-conversation.mjs | 2 +- .../new-webhook-event/new-webhook-event.mjs | 2 +- .../note-added-instant/note-added-instant.mjs | 2 +- 23 files changed, 65 insertions(+), 21 deletions(-) create mode 100644 components/belco/actions/retrieve-conversation-items/retrieve-conversation-items.mjs diff --git a/components/belco/actions/add-note-to-conversation/add-note-to-conversation.mjs b/components/belco/actions/add-note-to-conversation/add-note-to-conversation.mjs index ca9429fbbfe30..0078df550a5c6 100644 --- a/components/belco/actions/add-note-to-conversation/add-note-to-conversation.mjs +++ b/components/belco/actions/add-note-to-conversation/add-note-to-conversation.mjs @@ -4,7 +4,7 @@ export default { key: "belco-add-note-to-conversation", name: "Add Note to Conversation", description: "Add a note to a conversation specified by ID. [See the documentation](https://developers.belco.io/reference/put_conversations-conversationid-addnote)", - version: "0.0.4", + version: "0.0.5", annotations: { destructiveHint: false, openWorldHint: true, diff --git a/components/belco/actions/add-tags-to-conversation/add-tags-to-conversation.mjs b/components/belco/actions/add-tags-to-conversation/add-tags-to-conversation.mjs index 3135fc42faf30..3a5ee5e4c61bf 100644 --- a/components/belco/actions/add-tags-to-conversation/add-tags-to-conversation.mjs +++ b/components/belco/actions/add-tags-to-conversation/add-tags-to-conversation.mjs @@ -4,7 +4,7 @@ export default { key: "belco-add-tags-to-conversation", name: "Add Tags to Conversation", description: "Add tags to a conversation. [See the documentation](https://developers.belco.io/reference/add-tags-to-a-conversation)", - version: "0.0.2", + version: "0.0.3", type: "action", annotations: { destructiveHint: false, diff --git a/components/belco/actions/close-conversation/close-conversation.mjs b/components/belco/actions/close-conversation/close-conversation.mjs index 393ea5b8959c8..1aa9187c7ae9f 100644 --- a/components/belco/actions/close-conversation/close-conversation.mjs +++ b/components/belco/actions/close-conversation/close-conversation.mjs @@ -4,7 +4,7 @@ export default { key: "belco-close-conversation", name: "Close Conversation", description: "Close a conversation specified by ID. [See the documentation](https://developers.belco.io/reference/put_conversations-conversationid-close)", - version: "0.0.4", + version: "0.0.5", annotations: { destructiveHint: true, openWorldHint: true, diff --git a/components/belco/actions/create-conversation/create-conversation.mjs b/components/belco/actions/create-conversation/create-conversation.mjs index 05d4640df1939..b284f76fa1b97 100644 --- a/components/belco/actions/create-conversation/create-conversation.mjs +++ b/components/belco/actions/create-conversation/create-conversation.mjs @@ -4,7 +4,7 @@ export default { key: "belco-create-conversation", name: "Create Conversation", description: "Create a conversation from Belco. [See the documentation](https://developers.belco.io/reference/post_conversations)", - version: "0.0.4", + version: "0.0.5", annotations: { destructiveHint: false, openWorldHint: true, diff --git a/components/belco/actions/get-contact-details/get-contact-details.mjs b/components/belco/actions/get-contact-details/get-contact-details.mjs index 3edd4c828f3f7..fd83f11bee482 100644 --- a/components/belco/actions/get-contact-details/get-contact-details.mjs +++ b/components/belco/actions/get-contact-details/get-contact-details.mjs @@ -4,7 +4,7 @@ export default { key: "belco-get-contact-details", name: "Get Contact Details", description: "Get the details of a contact in Belco. [See the documentation](https://developers.belco.io/reference/get_shops-shopid-contacts-contactid)", - version: "0.0.1", + version: "0.0.2", type: "action", annotations: { destructiveHint: false, diff --git a/components/belco/actions/list-all-conversations/list-all-conversations.mjs b/components/belco/actions/list-all-conversations/list-all-conversations.mjs index 6fa9158a53e73..29999a9895c7a 100644 --- a/components/belco/actions/list-all-conversations/list-all-conversations.mjs +++ b/components/belco/actions/list-all-conversations/list-all-conversations.mjs @@ -4,7 +4,7 @@ export default { key: "belco-list-all-conversations", name: "List All Conversations", description: "Get a list of conversations from Belco. [See the documentation](https://developers.belco.io/reference/get_conversations)", - version: "0.0.4", + version: "0.0.5", annotations: { destructiveHint: false, openWorldHint: true, diff --git a/components/belco/actions/list-shop-id-options/list-shop-id-options.mjs b/components/belco/actions/list-shop-id-options/list-shop-id-options.mjs index 6555552f5277a..61837a989ec18 100644 --- a/components/belco/actions/list-shop-id-options/list-shop-id-options.mjs +++ b/components/belco/actions/list-shop-id-options/list-shop-id-options.mjs @@ -4,7 +4,7 @@ export default { key: "belco-list-shop-id-options", name: "List Shop ID Options", description: "Retrieves available options for the Shop ID field.", - version: "0.0.1", + version: "0.0.2", type: "action", annotations: { destructiveHint: false, diff --git a/components/belco/actions/list-users/list-users.mjs b/components/belco/actions/list-users/list-users.mjs index 13ce8f5675052..3b692b6be732f 100644 --- a/components/belco/actions/list-users/list-users.mjs +++ b/components/belco/actions/list-users/list-users.mjs @@ -4,7 +4,7 @@ export default { key: "belco-list-users", name: "List Users", description: "List all users in the Belco account. [See the documentation](https://developers.belco.io/reference/get_users)", - version: "0.0.1", + version: "0.0.2", type: "action", annotations: { destructiveHint: false, diff --git a/components/belco/actions/reopen-conversation/reopen-conversation.mjs b/components/belco/actions/reopen-conversation/reopen-conversation.mjs index fb7ec6a978ed1..1fa148291668a 100644 --- a/components/belco/actions/reopen-conversation/reopen-conversation.mjs +++ b/components/belco/actions/reopen-conversation/reopen-conversation.mjs @@ -4,7 +4,7 @@ export default { key: "belco-reopen-conversation", name: "Reopen Conversation", description: "Reopen a conversation specified by ID. [See the documentation](https://developers.belco.io/reference/put_conversations-conversationid-open)", - version: "0.0.4", + version: "0.0.5", annotations: { destructiveHint: false, openWorldHint: true, diff --git a/components/belco/actions/reply-to-conversation/reply-to-conversation.mjs b/components/belco/actions/reply-to-conversation/reply-to-conversation.mjs index fa3524e8dbc10..5a2e51c7f929e 100644 --- a/components/belco/actions/reply-to-conversation/reply-to-conversation.mjs +++ b/components/belco/actions/reply-to-conversation/reply-to-conversation.mjs @@ -4,7 +4,7 @@ export default { key: "belco-reply-to-conversation", name: "Reply to Conversation", description: "Reply to a conversation specified by ID. [See the documentation](https://developers.belco.io/reference/put_conversations-conversationid-reply)", - version: "0.0.4", + version: "0.0.5", annotations: { destructiveHint: false, openWorldHint: true, diff --git a/components/belco/actions/retrieve-conversation-items/retrieve-conversation-items.mjs b/components/belco/actions/retrieve-conversation-items/retrieve-conversation-items.mjs new file mode 100644 index 0000000000000..a9129ee8496a7 --- /dev/null +++ b/components/belco/actions/retrieve-conversation-items/retrieve-conversation-items.mjs @@ -0,0 +1,36 @@ +import belco from "../../belco.app.mjs"; + +export default { + key: "belco-retrieve-conversation-items", + name: "Retrieve Conversation Items", + description: "Retrieve the list of items (messages, notes, assignments, etc.) belonging to a conversation. [See the documentation](https://developers.belco.io/reference/get_conversations-conversationid-items)", + version: "0.0.1", + annotations: { + destructiveHint: false, + openWorldHint: true, + readOnlyHint: true, + }, + type: "action", + props: { + belco, + conversationId: { + propDefinition: [ + belco, + "conversationId", + ], + description: "The ID of the Belco conversation to retrieve items from (e.g. `sSzxq7tMBFmCY28o8`)", + }, + }, + async run({ $ }) { + const response = await this.belco.getConversationItems({ + $, + conversationId: this.conversationId, + }); + + $.export("$summary", `Successfully retrieved ${response.length} conversation item${response.length === 1 + ? "" + : "s"}`); + + return response; + }, +}; diff --git a/components/belco/actions/retrieve-conversation/retrieve-conversation.mjs b/components/belco/actions/retrieve-conversation/retrieve-conversation.mjs index d683568a1f77a..ae1572474b737 100644 --- a/components/belco/actions/retrieve-conversation/retrieve-conversation.mjs +++ b/components/belco/actions/retrieve-conversation/retrieve-conversation.mjs @@ -4,7 +4,7 @@ export default { key: "belco-retrieve-conversation", name: "Retrieve Conversation", description: "Retrieve a conversation specified by ID. [See the documentation](https://developers.belco.io/reference/get_conversations-conversationid)", - version: "0.0.4", + version: "0.0.5", annotations: { destructiveHint: false, openWorldHint: true, diff --git a/components/belco/actions/send-message/send-message.mjs b/components/belco/actions/send-message/send-message.mjs index 391c30db29575..9b51e84797f78 100644 --- a/components/belco/actions/send-message/send-message.mjs +++ b/components/belco/actions/send-message/send-message.mjs @@ -4,7 +4,7 @@ export default { key: "belco-send-message", name: "Send Message", description: "Send a message to a conversation specified by ID. [See the documentation](https://developers.belco.io/reference/post_conversations-sendmessage)", - version: "0.0.4", + version: "0.0.5", annotations: { destructiveHint: false, openWorldHint: true, diff --git a/components/belco/belco.app.mjs b/components/belco/belco.app.mjs index 85f0bc5ed1999..d547378be3cea 100644 --- a/components/belco/belco.app.mjs +++ b/components/belco/belco.app.mjs @@ -211,6 +211,14 @@ export default { ...opts, }); }, + getConversationItems({ + conversationId, ...opts + }) { + return this._makeRequest({ + path: `/conversations/${conversationId}/items`, + ...opts, + }); + }, createConversation(opts = {}) { return this._makeRequest({ method: "POST", diff --git a/components/belco/package.json b/components/belco/package.json index 60021daab79be..186c86475f3df 100644 --- a/components/belco/package.json +++ b/components/belco/package.json @@ -1,6 +1,6 @@ { "name": "@pipedream/belco", - "version": "0.4.0", + "version": "0.5.0", "description": "Pipedream Belco Components", "main": "belco.app.mjs", "keywords": [ diff --git a/components/belco/sources/conversation-assigned-instant/conversation-assigned-instant.mjs b/components/belco/sources/conversation-assigned-instant/conversation-assigned-instant.mjs index d2496d7f6b166..cfd9c43beb887 100644 --- a/components/belco/sources/conversation-assigned-instant/conversation-assigned-instant.mjs +++ b/components/belco/sources/conversation-assigned-instant/conversation-assigned-instant.mjs @@ -6,7 +6,7 @@ export default { key: "belco-conversation-assigned-instant", name: "Conversation Assigned (Instant)", description: "Emit new event for each new conversation assigned event", - version: "0.0.1", + version: "0.0.2", type: "source", dedupe: "unique", methods: { diff --git a/components/belco/sources/conversation-closed-instant/conversation-closed-instant.mjs b/components/belco/sources/conversation-closed-instant/conversation-closed-instant.mjs index 46c5908e01dd5..b4f0f3435b74e 100644 --- a/components/belco/sources/conversation-closed-instant/conversation-closed-instant.mjs +++ b/components/belco/sources/conversation-closed-instant/conversation-closed-instant.mjs @@ -7,7 +7,7 @@ export default { name: "Conversation Closed (Instant)", description: "Emit new event for each new conversation closed event", type: "source", - version: "0.0.1", + version: "0.0.2", dedupe: "unique", methods: { ...common.methods, diff --git a/components/belco/sources/conversation-reopened-instant/conversation-reopened-instant.mjs b/components/belco/sources/conversation-reopened-instant/conversation-reopened-instant.mjs index 7e84d711fd8ac..16fc20cd6ede6 100644 --- a/components/belco/sources/conversation-reopened-instant/conversation-reopened-instant.mjs +++ b/components/belco/sources/conversation-reopened-instant/conversation-reopened-instant.mjs @@ -6,7 +6,7 @@ export default { key: "belco-conversation-reopened-instant", name: "Conversation Reopened (Instant)", description: "Emit new event for each new conversation reopened event", - version: "0.0.1", + version: "0.0.2", type: "source", dedupe: "unique", methods: { diff --git a/components/belco/sources/conversation-replied-instant/conversation-replied-instant.mjs b/components/belco/sources/conversation-replied-instant/conversation-replied-instant.mjs index 566bd5674ab53..f015b7ec64136 100644 --- a/components/belco/sources/conversation-replied-instant/conversation-replied-instant.mjs +++ b/components/belco/sources/conversation-replied-instant/conversation-replied-instant.mjs @@ -6,7 +6,7 @@ export default { key: "belco-conversation-replied-instant", name: "Conversation Replied (Instant)", description: "Emit new event for each new conversation replied event", - version: "0.0.1", + version: "0.0.2", type: "source", dedupe: "unique", methods: { diff --git a/components/belco/sources/new-conversation-created-instant/new-conversation-created-instant.mjs b/components/belco/sources/new-conversation-created-instant/new-conversation-created-instant.mjs index ee1858f73fa97..5c0e53ec43250 100644 --- a/components/belco/sources/new-conversation-created-instant/new-conversation-created-instant.mjs +++ b/components/belco/sources/new-conversation-created-instant/new-conversation-created-instant.mjs @@ -6,7 +6,7 @@ export default { key: "belco-new-conversation-created-instant", name: "New Conversation Created (Instant)", description: "Emit new event for each new conversation created event", - version: "0.0.1", + version: "0.0.2", type: "source", dedupe: "unique", methods: { diff --git a/components/belco/sources/new-conversation/new-conversation.mjs b/components/belco/sources/new-conversation/new-conversation.mjs index d5c8a0025201e..36230b4fbc8c5 100644 --- a/components/belco/sources/new-conversation/new-conversation.mjs +++ b/components/belco/sources/new-conversation/new-conversation.mjs @@ -5,7 +5,7 @@ export default { key: "belco-new-conversation", name: "New Conversation", description: "Emit new conversation event when a new conversation is created. [See the documentation](https://developers.belco.io/reference/get_conversations)", - version: "0.0.3", + version: "0.0.4", type: "source", dedupe: "unique", props: { diff --git a/components/belco/sources/new-webhook-event/new-webhook-event.mjs b/components/belco/sources/new-webhook-event/new-webhook-event.mjs index 7c7751e1a2b5d..bc33d729ef572 100644 --- a/components/belco/sources/new-webhook-event/new-webhook-event.mjs +++ b/components/belco/sources/new-webhook-event/new-webhook-event.mjs @@ -6,7 +6,7 @@ export default { key: "belco-new-webhook-event", name: "New Webhook Event (Instant)", description: "Emit new event for each new webhook event", - version: "0.0.1", + version: "0.0.2", type: "source", dedupe: "unique", props: { diff --git a/components/belco/sources/note-added-instant/note-added-instant.mjs b/components/belco/sources/note-added-instant/note-added-instant.mjs index 04c5f4b6d04b9..4996ef527842c 100644 --- a/components/belco/sources/note-added-instant/note-added-instant.mjs +++ b/components/belco/sources/note-added-instant/note-added-instant.mjs @@ -6,7 +6,7 @@ export default { key: "belco-note-added-instant", name: "Note Added (Instant)", description: "Emit new event for each new note added event", - version: "0.0.1", + version: "0.0.2", type: "source", dedupe: "unique", methods: { From 87abf34758857eb86e5d403800fe2bef106efb94 Mon Sep 17 00:00:00 2001 From: Ashwin Srinivas Date: Wed, 2 Sep 2026 12:29:25 +0530 Subject: [PATCH 2/2] feat(belco): Modify description --- .../retrieve-conversation-items.mjs | 6 ++++-- components/belco/belco.app.mjs | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/components/belco/actions/retrieve-conversation-items/retrieve-conversation-items.mjs b/components/belco/actions/retrieve-conversation-items/retrieve-conversation-items.mjs index a9129ee8496a7..08bfdc5510ce4 100644 --- a/components/belco/actions/retrieve-conversation-items/retrieve-conversation-items.mjs +++ b/components/belco/actions/retrieve-conversation-items/retrieve-conversation-items.mjs @@ -3,7 +3,10 @@ import belco from "../../belco.app.mjs"; export default { key: "belco-retrieve-conversation-items", name: "Retrieve Conversation Items", - description: "Retrieve the list of items (messages, notes, assignments, etc.) belonging to a conversation. [See the documentation](https://developers.belco.io/reference/get_conversations-conversationid-items)", + description: "Retrieve the list of items belonging to a conversation, such as messages, notes, assignments, tags, calls and status changes." + + " Use this instead of **Retrieve Conversation** when you need the conversation's full message and event history rather than its top-level metadata." + + " Returns a flat array in a single response with no pagination; each item carries a `type` field identifying which kind of event it is." + + " [See the documentation](https://developers.belco.io/reference/get_conversations-conversationid-items)", version: "0.0.1", annotations: { destructiveHint: false, @@ -18,7 +21,6 @@ export default { belco, "conversationId", ], - description: "The ID of the Belco conversation to retrieve items from (e.g. `sSzxq7tMBFmCY28o8`)", }, }, async run({ $ }) { diff --git a/components/belco/belco.app.mjs b/components/belco/belco.app.mjs index d547378be3cea..379c2bc767dec 100644 --- a/components/belco/belco.app.mjs +++ b/components/belco/belco.app.mjs @@ -74,7 +74,7 @@ export default { conversationId: { type: "string", label: "Conversation ID", - description: "Select a conversation to use for the action", + description: "The ID of the conversation to use for the action (e.g. `sSzxq7tMBFmCY28o8`)", async options({ page, includeStatus, excludeStatus, }) {