Skip to content

feat: hunter piece#8514

Merged
onyedikachi-david merged 9 commits intoactivepieces:mainfrom
varshith257:piece-hunter
Jul 31, 2025
Merged

feat: hunter piece#8514
onyedikachi-david merged 9 commits intoactivepieces:mainfrom
varshith257:piece-hunter

Conversation

@varshith257
Copy link
Copy Markdown
Contributor

What does this PR do?

Implements the Hunter piece with:

Trigger

  • New Lead: Polls for newly created leads.

Write Actions

  • Add Recipients: Add emails or lead IDs to a campaign, with automatic lead matching/creation and skip‑reporting.
  • Create a Lead: Create and store a new lead with full metadata and custom attributes.
  • Delete a Lead: Remove a lead by ID.
  • Get a Lead: Retrieve all details of a specific lead.
  • Update a Lead: Modify any subset of lead fields.
  • Find an Email: Discover the most likely email for a person at a domain or company.
  • Verify an Email: Check deliverability status, with detailed SMTP and source data.
  • Count Emails: Get counts of personal, generic, department, and seniority‑segmented emails for a domain or company.

Search / Count Actions

  • Search Leads: List and filter leads by any attribute, with pagination, array filters, and custom‑attributes support.

Explain How the Feature Works

  • New Lead uses a time‑based dedupe strategy on created_at to emit only fresh leads.
  • Add Recipients sanitizes input (trims/blanks, 50‑item limits), builds a JSON body, and returns both recipients_added and any skipped_recipients with reasons (duplicate, invalid, etc.).
  • CRUD Actions for leads mirror Hunter’s API: create, read, update, delete, and search by ID.
  • Find/Verify Email wrap Hunter’s Email Finder and Verifier endpoints, surfacing scores, statuses, and source URLs.
  • Count Emails wraps the Email Count endpoint to help users gauge address volume before campaigns.
  • Search Leads fully implements Hunter’s filtering syntax (*, ~, substrings), plus pagination via limit/offset.

UX Enhancements

  • Dynamic dropdowns for Campaign ID & Leads List ID, pulled from Hunter at design time.
  • Clear, actionable error messages and consistent type‑safe props across all actions and triggers.

Relevant User Scenarios

  • Automate outreach by bulk‑adding verified recipients to campaigns and skipping invalid addresses.
  • Enrich CRM workflows by creating/updating leads in Hunter from external systems.
  • Prospect discovery via Email Finder, then validate deliverability with Email Verifier before sending.
  • Dashboard triggers: fire real‑time workflows when new leads appear.
  • Pre‑campaign checks: use Count Emails to estimate address availability on a domain.

Fixes #8506
/claim #8506

Here is a demo: @onyedikachi-david @kishanprmr

clideo_editor_4e553c9f85294a5bb2ef69f34fdc4a3a.mp4

@algora-pbc algora-pbc bot mentioned this pull request Jul 24, 2025
@varshith257
Copy link
Copy Markdown
Contributor Author

@kishanprmr @onyedikachi-david PTAL

@varshith257
Copy link
Copy Markdown
Contributor Author

@onyedikachi-david @kishanprmr Can you review this please?

* upstream/main: (4279 commits)
  refactor: update determineDefaultRoute to accept embedState parameter for improved routing
  chore: update GitHub Actions workflows to use Docker Buildx and updated build-push actions
  test: add mock piece metadata for flow execution tests
  chore: update package dependencies and versions in package-lock
  fix: add missing comma in EnhanceAgentPrompt definition
  fix: lint excel
  fix: bump pieces-framework
  fix: params is undefined & rename id to externalId in call flow FlowValue
  chore: bump microsoft pieces for oauth2 change
  feat: markdown support in agent prompt editor
  fix: bump shared package
  fix: optimize call flow by filtering flows on external id
  fix(template-io): fix endpoint and props
  fix: build react-ui
  fix: allow retry of paused
  fix: verify email was broken
  chore: bump sdk version
  chore: added option in embed sdk to hide project settings
  fix(knack): fix knack actions
  fix: update styling for agent prompt editor textarea to remove padding and border
  ...
@onyedikachi-david onyedikachi-david self-assigned this Jul 31, 2025
@onyedikachi-david onyedikachi-david self-requested a review July 31, 2025 05:55
@nx-cloud
Copy link
Copy Markdown

nx-cloud bot commented Jul 31, 2025

View your CI Pipeline Execution ↗ for commit 0b6b7d9

Command Status Duration Result
nx run server-api:test-cloud ✅ Succeeded 16s View ↗
nx run server-api:test-ce ✅ Succeeded 12s View ↗
nx run-many --target=test --projects=engine,sha... ✅ Succeeded 5s View ↗
nx run server-api:test-ee ✅ Succeeded 4s View ↗
nx run-many --target=build -c production --proj... ✅ Succeeded 23s View ↗
nx affected --target=build -c production --excl... ✅ Succeeded <1s View ↗
nx run-many --target=lint --projects=pieces-hun... ✅ Succeeded 1m 10s View ↗
nx affected --target=lint --exclude=pieces-* --... ✅ Succeeded <1s View ↗

☁️ Nx Cloud last updated this comment at 2025-07-31 06:17:13 UTC

@onyedikachi-david onyedikachi-david merged commit e086fb4 into activepieces:main Jul 31, 2025
9 checks passed
@varshith257 varshith257 deleted the piece-hunter branch July 31, 2025 06:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[MCP] Hunter

3 participants