Hyreflow
Integrations

Recruit CRM

Recruiting ATS/CRM — candidates, companies, contacts, jobs, pipeline stages, custom fields. Open API is plan-gated.

Use Recruit CRM to load enriched leads and candidates into the ATS and to read/write jobs, contacts, companies, hiring stages, and custom fields. It is the canonical sink for an enriched CSV produced by the sourcing/enrichment layer.

Free on Hyreflow (0 credits) — runs on your own connected Recruit CRM account.

Plan-gated. The Open API requires a Business or Enterprise Recruit CRM plan. On lower plans every endpoint returns 401 INSUFFICIENT_ACCESS even with a valid key — that's the account plan, not the key. Fall back to CSV export or another ATS (Loxo / Recruiterflow).

Capabilities

ToolDoesCost
search_candidatesQuery candidates (+ optional custom fields)Free
create_candidateCreate a candidate (req. first_name)Free
create_companyCreate a company (req. company_name)Free
create_contactCreate a contact (req. first_name, last_name)Free
search_jobsQuery open jobsFree
assign_candidate_to_jobAssign a candidate to a jobFree
get_candidate_hiring_pipelinesPipelines + stage IDs (for stage moves)Free
update_candidate_hiring_stageMove a candidate's stage in a jobFree

Guidance

  • The module name is recruit_crm; run it via hyreflow tools execute recruit-crm <method>.
  • Writes are real, irreversible production changes — dry-run --rows 0:1, show the payload + response, get explicit go-ahead before bulk.
  • Custom-field IDs and hiring-stage IDs are account-specific — resolve them (list_custom_fields, get_candidate_hiring_pipelines) and confirm the mapping before writing.
  • Edits are POST, not PUT (update_candidate, update_company, etc.).
  • Handoff: enrichment produces a CSV → inspect it (rows, columns, samples) → map columns → load via the create_* methods.
hyreflow tools execute recruit-crm create_candidate \
  --payload '{"first_name":"Ada","last_name":"Lovelace","email":"[email protected]"}'

Rate limits & bulk writes

Recruit CRM limits requests per API token:

  • ≤6 licenses: 60 requests / minute
  • >6 licenses: 10 requests / minute per license

Use the batch helpers for large pushes — they loop single POST calls and pace requests automatically:

hyreflow tools execute recruit-crm create_candidates_batch \
  --payload '{"payloads":[{"first_name":"Ada",...},{"first_name":"Grace",...}]}'

For 1,000+ records, chunk the input (e.g. 50–200 records per call) and watch X-RateLimit-Remaining. Larger accounts (>6 licenses) are provisioned for a higher per-minute limit automatically.

Recruit CRM is an ATS sink, not a waterfall member — wire it as the final push after source → enrich → verify.

On this page