n8n node for Loxo CRM/ATS
npm install n8n-nodes-loxo

An n8n community node for integrating with Loxo CRM/ATS. This package enables seamless automation of recruitment workflows by connecting n8n to Loxo's powerful API.
- Person Management - Get, search, create, and update candidates and contacts
- Job Management - Retrieve job postings and search by various criteria
- Company Management - Access company information and search organizations
- Person Status - Retrieve all status types available in your Loxo instance
- Custom Field Support - Work with custom fields defined in your Loxo account
- Full API Coverage - Access all major Loxo API endpoints through n8n
1. Open your n8n instance
2. Go to Settings → Community Nodes
3. Click Install
4. Enter: n8n-nodes-loxo
5. Agree to the security warning and install
``bash`
npm install n8n-nodes-loxo
Then restart your n8n instance.
You'll need three pieces of information from your Loxo account:
1. Pod Number - Your Loxo instance identifier (found in your Loxo URL)
2. Agency Slug - Your agency's unique identifier in Loxo
3. API Key - Your personal API authentication key
To find these:
- Log into your Loxo account
- Go to Settings → API & Integrations
- Generate or copy your API credentials
1. In n8n, go to Credentials → New
2. Search for "Loxo API"
3. Enter:
- Pod Number: Your Loxo pod number
- Agency Slug: Your agency identifier
- API Key: Your API authentication key
4. Save the credentials
#### Get Person
Retrieve a specific person by their unique ID.
Parameters:
- Person ID (required) - The unique identifier of the person
Returns: Full person details including contact info, custom fields, and status.
#### Search People
Search for people using various criteria.
Parameters:
- Search Query - Text to search across name, email, and other fieldsStatus ID
- - Filter by person status (obtainable from Person Status operations)Limit
- - Maximum number of results to return (default: 50)Offset
- - Pagination offset for large result sets
Returns: Array of matching person records.
#### Create Person
Create a new candidate or contact in Loxo.
Parameters:
- First Name (required) - Person's first nameLast Name
- (required) - Person's last nameEmail
- - Email addressPhone
- - Phone numberCompany ID
- - Associated company IDStatus ID
- - Person status IDCustom Fields
- - JSON object with custom field values
#### Update Person
Update an existing person's information.
Parameters:
- Person ID (required) - The person to update
- Any fields to update (first name, last name, email, phone, status, custom fields, etc.)
#### Get Job
Retrieve a specific job posting by ID.
Parameters:
- Job ID (required) - The unique identifier of the job
Returns: Complete job details including title, description, requirements, and status.
#### Search Jobs
Search for job postings.
Parameters:
- Search Query - Text to search job titles and descriptionsStatus
- - Filter by job status (Open, Closed, On Hold, etc.)Limit
- - Maximum results to returnOffset
- - Pagination offset
#### Get Company
Retrieve company information by ID.
Parameters:
- Company ID (required) - The unique company identifier
Returns: Company details including name, address, and custom fields.
#### Search Companies
Search for companies in your database.
Parameters:
- Search Query - Text to search company namesLimit
- - Maximum resultsOffset
- - Pagination offset
#### Get All Person Statuses
Retrieve all available person status types from your Loxo instance.
Returns: Array of status objects with IDs and labels (e.g., Active, Inactive, Candidate, Contact).
Use Case: Use these status IDs when creating or updating people to ensure proper categorization.
1. Create a Webhook node to receive candidate applications
2. Add Loxo node → Resource: Person → Operation: Create
3. Map webhook data:
- First Name: {{ $json.body.firstName }}{{ $json.body.lastName }}
- Last Name: {{ $json.body.email }}
- Email: {{ $json.body.phone }}
- Phone:
4. Set Status ID to your "New Candidate" status ID
1. Loxo node → Resource: Person → Operation: Search
2. Set Status ID to "Active Candidate"
3. Add If node to filter results
4. Add second Loxo node → Resource: Person → Operation: Update
5. Update Status ID to "Interview Scheduled"
1. Loxo node → Resource: Job → Operation: Search
2. Filter by Status: "Open"
3. Add HTTP Request node to post to your external system
4. Map Loxo job fields to your API
Loxo allows custom fields on Person, Job, and Company records. When creating or updating records, include custom fields as a JSON object:
`json``
{
"custom_field_id_1": "value1",
"custom_field_id_2": "value2"
}
To find custom field IDs, check your Loxo admin settings or use the API documentation.
The node returns standard Loxo API error messages. Common errors:
- 401 Unauthorized - Invalid API key or credentials
- 404 Not Found - Record ID doesn't exist
- 400 Bad Request - Missing required fields or invalid data
- 429 Too Many Requests - Rate limit exceeded
Loxo API has rate limiting. If you encounter 429 errors, add a Wait node between requests or use the Split In Batches node to process records in smaller groups.
- n8n version 1.0.0 or higher
- Active Loxo CRM/ATS account with API access
For issues, questions, or feature requests related to this n8n node, please open an issue on the repository.
For Loxo API documentation and support, visit: https://loxo.co/api-docs
MIT