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