Hyreflow
Integrations

Loxo

Recruiting ATS/CRM — read jobs, people & companies, create candidates, attach them to jobs. Agency-scoped, production writes.

Use Loxo as an ATS write target: read jobs, people and companies, create candidates, and link candidates to jobs. It is the destination for sourced + enriched candidates, and the source of your target-account list for company-first BD.

Free (BYOK). ATS/CRM operations cost no credits. Loxo is agency-scoped — connect it from the dashboard Integrations page with your API key and agency slug (e.g. acme). Pasting your full Loxo URL (acme.loxo.co) works too — the slug is its first label.

Capabilities

ToolDoesCost
list_jobsPaginated jobs (page, per_page)Free
get_jobSingle job by idFree
list_peoplePaginated people / candidatesFree
list_companiesCompanies / accounts by cursor, with a Lucene queryFree
iter_companiesWalk the whole account list, following the cursorFree
get_companySingle company by id — website (url), custom fieldsFree
update_companyEdit a company (create_company to add one)Free
list_dynamic_fieldsThe agency's custom-field definitionsFree
create_personCreate a person recordFree
apply_to_jobAdd a candidate to a job (multipart)Free
list_job_candidatesCandidates on a job, with pipeline stageFree

Guidance

  • Adding a candidate to a job is apply_to_job (POST /jobs/{id}/apply), not create_job_candidate (deprecated alias) — it is multipart/form-data with required email + name + phone (optional resume file).
  • These are production ATS writes — pilot one record, confirm the result, then bulk.
  • Handoff: enriched candidates → create_person / apply_to_job to assign them to a job.
  • Jobs paginate with page / per_page. People and companies paginate by cursor: pass the scroll_id each response returns, with a per_page up to 100, and a Lucene query to filter (name:acme AND city:denver). iter_companies follows the cursor for you.
  • A company's agency custom fields arrive as custom_hierarchy_1..6 {id, value} pairs, and each slot means something different per agency. Read the definitions with list_dynamic_fields, then map the slots to their names with company_custom_fields(company, labels).
  • Company-first BD: iter_companies → each account's url → career-page scraping for their live roles → contacts through the sourcing waterfall.
hyreflow tools execute loxo apply_to_job \
  --payload '{"job_id":"1234","email":"[email protected]","name":"Ada Lovelace","phone":"+15555550123"}'

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

Rate limits & bulk writes

Loxo does not publish a fixed RPM, so the adapter defaults to a conservative 60 requests / minute. Use create_people_batch, create_jobs_batch and create_companies_batch for large pushes. See Bulk pushes to ATS / recruiting CRM.

On this page