Skip to content

Conversation

@Samir-atra
Copy link

@Samir-atra Samir-atra commented Feb 1, 2026

Overview

This PR implements comprehensive integration with the Greenhouse Harvest API, enabling agents to automate recruiting workflows. It adds 6 new MCP tools that consistently allow agents to list jobs, retrieve detailed job info, manage candidates, and track applications.

Branch: feat/greenhouse-integration
Fixes: #3062
Parent Issue: #2805

Key Features

  1. Greenhouse Client (aden_tools.tools.greenhouse_tool):

    • Full implementation of a robust GreenhouseClient handling HTTP Basic Auth.
    • Smart Pagination: Automatically handles link-based pagination logic to fetch complete datasets (e.g., all jobs or candidates) while respecting rate limits.
    • Error Handling: Specific handling for 401 (Auth), 403 (Permission/HTTPS), 404 (Not Found), and 429 (Rate Limit) errors.
  2. New MCP Tools:

    • greenhouse_list_jobs: List job postings with status/department filters.
    • greenhouse_get_job: Get detailed metadata for a specific job.
    • greenhouse_list_candidates: Search/filter candidates by activity or dates.
    • greenhouse_get_candidate: Retrieve full profile including resume info/notes.
    • greenhouse_add_candidate: Submit sourced candidates directly to a job pipeline.
    • greenhouse_list_applications: Track candidate progress per job.
  3. Credential Management:

    • Added GREENHOUSE_API_KEY to the credential registry (tools/src/aden_tools/credentials/greenhouse.py).

Use Cases Enabled (from #2853)

  • Job Board Sniper: Can now use greenhouse_list_jobs(status="open") to monitor hiring trends or competitor roles.
  • Recruiting Agent: Can source candidates from LinkedIn/GitHub and immediately submit them via greenhouse_add_candidate.
  • RevOps/Hiring Manager: Can track pipeline health via greenhouse_list_applications.

Testing

  • 100% Unit Test Coverage: Added tools/tests/tools/test_greenhouse_tool.py covering:
    • Authentication formatting.
    • Pagination logic (ensuring multiple pages are stitched correctly).
    • Payload structure for candidate creation.
    • All error scenarios (401, 403, 404, 429, timeouts, network errors).
    • Positional argument assertions for httpx calls.

Breaking Changes

  • None. This is a net-new addition.

Checklist

  • Implemented core client and 6 tools
  • Added credential spec
  • Registered tools in aden_tools.tools
  • Added comprehensive unit tests
  • Verified clean linting and passing tests

This integration adds 6 new MCP tools for accessing the Greenhouse Harvest API,
enabling agents to manage recruiting workflows, source candidates, and gather
hiring intelligence.

Features:
- Implemented GreenhouseClient with Basic Auth and pagination support
- Added credential management for GREENHOUSE_API_KEY
- Registered 6 MCP tools: list_jobs, get_job, list_candidates, get_candidate,
  add_candidate, list_applications
- Added comprehensive unit tests with 100% coverage for the client

Fixes adenhq#3062
Use Cases: adenhq#2853 (Job Board Sniper, Recruiting Agent)
Parent Issue: adenhq#2805
@github-actions
Copy link

github-actions bot commented Feb 1, 2026

PR Closed - Requirements Not Met

This PR has been automatically closed because it doesn't meet the requirements.

PR Author: @Samir-atra
Found issues: #3062 (assignees: none), #2805 (assignees: none), #2853 (assignees: none)
Problem: The PR author must be assigned to the linked issue.

To fix:

  1. Assign yourself (@Samir-atra) to one of the linked issues
  2. Re-open this PR

Exception: To bypass this requirement, you can:

  • Add the micro-fix label or include micro-fix in your PR title for trivial fixes
  • Add the documentation label or include doc/docs in your PR title for documentation changes

Micro-fix requirements (must meet ALL):

Qualifies Disqualifies
< 20 lines changed Any functional bug fix
Typos & Documentation & Linting Refactoring for "clean code"
No logic/API/DB changes New features (even tiny ones)

Why is this required? See #472 for details.

@github-actions github-actions bot closed this Feb 1, 2026
@Samir-atra
Copy link
Author

hello @austin931114 @Hundao @bryanadenhq @RichardTang-Aden

Please check this out, I need to get assigned to move forward.

I look forward to hearing from you.

Kind regards
Samer

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.

1 participant