-
Notifications
You must be signed in to change notification settings - Fork 5.5k
[ACTION] Pipedrive - Get All Leads #19220
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
base: master
Are you sure you want to change the base?
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
WalkthroughAdds a new "Get All Leads" Pipedrive action with props for filtering, sorting and maxResults, plus app propDefinition Changes
Sequence Diagram(s)sequenceDiagram
%% Styling notes: action = blue, app = green, api = orange
participant User
participant Action as Get All Leads (action)
participant App as Pipedrive App
participant API as Pipedrive API
User->>Action: Invoke action with props (ownerId, personId, organizationId, filterId, sort, maxResults)
Action->>Action: Build params object (map IDs, filter_id precedence)
Action->>App: getPaginatedResources(fn: app.getLeads, params, maxResults)
App->>API: getLeads(params, pagination)
API-->>App: leads batch (paginated)
App-->>Action: aggregated leads array
Action->>Action: Export summary (count) and return leads
Action-->>User: leads + summary
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Possibly related PRs
Suggested labels
Suggested reviewers
Pre-merge checks and finishing touches❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: ASSERTIVE Plan: Pro 📒 Files selected for processing (25)
🧰 Additional context used🧠 Learnings (2)📚 Learning: 2024-12-12T19:23:09.039ZApplied to files:
📚 Learning: 2025-10-20T01:01:02.970ZApplied to files:
⏰ 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)
🔇 Additional comments (16)
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: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (3)
components/pipedrive/actions/get-all-leads/get-all-leads.mjs(1 hunks)components/pipedrive/package.json(1 hunks)components/pipedrive/pipedrive.app.mjs(2 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2024-12-12T19:23:09.039Z
Learnt from: jcortes
Repo: PipedreamHQ/pipedream PR: 14935
File: components/sailpoint/package.json:15-18
Timestamp: 2024-12-12T19:23:09.039Z
Learning: When developing Pipedream components, do not add built-in Node.js modules like `fs` to `package.json` dependencies, as they are native modules provided by the Node.js runtime.
Applied to files:
components/pipedrive/package.json
🧬 Code graph analysis (1)
components/pipedrive/actions/get-all-leads/get-all-leads.mjs (2)
components/pipedrive/pipedrive.app.mjs (1)
leads(230-236)components/zixflow/actions/get-activities/get-activities.mjs (1)
sort(46-48)
⏰ 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: Lint Code Base
- GitHub Check: pnpm publish
- GitHub Check: Publish TypeScript components
- GitHub Check: Verify TypeScript components
🔇 Additional comments (4)
components/pipedrive/package.json (1)
3-3: Version bump is appropriate for the new action.Patch version increment to
0.10.6cleanly reflects the added functionality; no issues here.components/pipedrive/pipedrive.app.mjs (2)
297-314:filterIdpropDefinition is well-structured and reusable.The
filterIdprop cleanly mirrors other app-level props, with a sensible defaultfilterType = "leads"and null-safe mapping from filters to{ label, value }. This should work well both for this action and any future reuse.
446-449:getFiltershelper matches existing API wrapper patterns.The
getFiltersmethod delegates toFiltersApiin the same way as other helpers (e.g.,getLeads,getLeadLabels), keeping the app surface consistent and easy to use from actions.components/pipedrive/actions/get-all-leads/get-all-leads.mjs (1)
14-58: Props layout is clear and consistent with existing Pipedrive components.Using app-level propDefinitions for owner/person/organization/filter plus a simple
maxResultsandsortkeeps this action’s interface consistent and easy to understand. No changes needed here.
4ccb465 to
7e870fd
Compare
michelle0927
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!
WHY
Resolves #19181
Summary by CodeRabbit
New Features
Chores
✏️ Tip: You can customize this high-level summary in your review settings.