UNPKG

@pipedream/trustpilot

Version:

Pipedream Trustpilot Components

42 lines (39 loc) 1.52 kB
import { SORT_OPTIONS, SOURCE_TYPES, } from "../../common/constants.mjs"; import common from "../common/polling.mjs"; export default { ...common, key: "trustpilot-new-conversations", name: "New Conversations", description: "Emit new event when a new conversation is started on Trustpilot. This source periodically polls the Trustpilot API to detect new customer-business conversations. Each event contains conversation details including participants, subject, business unit, and creation timestamp. Useful for tracking customer inquiries, support requests, and maintaining real-time communication with customers.", version: "0.0.2", type: "source", dedupe: "unique", methods: { ...common.methods, getSourceType() { return SOURCE_TYPES.NEW_CONVERSATIONS; }, getPollingMethod() { return "getConversations"; }, getPollingParams() { return { businessUnitId: this.businessUnitId, limit: 100, sortBy: SORT_OPTIONS.CREATED_AT_DESC, offset: 0, }; }, generateSummary(item) { const participantName = item.participants?.[0]?.displayName || item.consumer?.displayName || "Anonymous"; const subject = item.subject || item.title || "New conversation"; const businessUnit = item.businessUnit?.displayName || this.businessUnitId || "Unknown"; return `New conversation "${subject}" started by ${participantName} (${businessUnit})`; }, }, };