Loxo automation · runs daily
Log interview outcomes in Loxo and move candidates
After a day of screening calls, every candidate needs an activity on their profile, so the pipeline and the reports show what really happened.
Cotlet does it in your own Loxo account with list_workflow_stages, get_job_pipeline and log_activity, called by your AI agent, an n8n workflow or a script.
Hosted · nothing to install or maintain
Can Loxo do this on its own?
Loxo's API reference lists person_events and candidates endpoints, but API access is a paid feature that Loxo Support enables on request, and the help center does not say whether an API call moves the stage as the activity drop-down does (checked 22 Oct 2026). In the app, logging is one manual click per candidate.
How you do it in Loxo today
- Open the job from the Jobs tab, then open the candidate from its pipeline, or open the person from the People page.
- In the Activity Feed on the profile, use the activity drop-down to pick a progression trigger, for example 1st Interview.
- Loxo adds two events to the profile: "Moved to Interviewing" and "1st Interview", so the candidate changes stage as well.
- Dragging the candidate card between stages in the Kanban view logs only "Moved to ...", with no trigger, so a report filtered on triggers misses it.
- The triggers and stages are set by an account admin under Settings > Workflow, and one missed candidate leaves a hole in the weekly numbers.
How to log interview outcomes in Loxo and move candidates
On the Senior Data Engineer job, log "1st Interview" for Priya Nair and Tom Becker with my notes, then show me where each one landed. - 01
Read the stages and triggers
list_workflow_stages returns the stages of your workflow and the names of its progression triggers. The agent matches "first interview call" to the exact trigger name and stops when your workflow has none, so it never makes up a trigger.
- 02
Find each candidate in the job
get_job_pipeline reads the job and matches each name from your prompt to a candidate in it. If two candidates share a name, the agent asks which one instead of picking.
- 03
Log the trigger once
log_activity runs once per candidate with the trigger and your note. Loxo adds the "Moved to ..." event itself, so the agent does not call move_candidate afterwards, which would log the move twice.
- 04
Check the stage
The agent reads the pipeline again and lists anyone who is not in the stage you expected, so a trigger that does not match a stage shows up at once.
- 05
Mind the automations
A stage can carry an Email Automation that sends scheduled messages to every candidate in it. Landing in such a stage can start those emails, so each log_activity call waits for your OK by default.
What you get back
Job: Senior Data Engineer
Logged "1st Interview" for 2 candidates
- Priya Nair: now in Interviewing, note saved
- Tom Becker: now in Interviewing, note saved
Not logged 0 Other ways to ask
- Log "Phone Screen" for everyone I called this morning, using the notes in this list.
- Log "Onsite 1" for Tom Becker only and tell me which stage he is in now.
- List candidates whose last logged activity is older than 14 days and log nothing.
What Loxo allows, and what to know first
- Loxo records a drag and drop as "Moved to {stage}" and a pick from the activity drop-down as two events, so Loxo advises filtering reports on both the "Moved to" option and the trigger.
- Account admins change stages under Settings > Workflow, and a renamed stage changes for every job and user at once.
- Loxo suggests custom Progression Triggers, not extra stages, when you want to track more activity.
- An Email Automation sends scheduled messages to each candidate in a job stage until the candidate responds.
log_activity asks for your OK by default. To run it daily without you, switch confirmation off for that tool in your dashboard.
Sources: Loxo Help: Reporting Questions · Loxo Help: Customize Your Job Pipeline · Loxo Help: Creating Email Automations · Loxo Help: Loxo's Open API
Call log_activity from a script
curl -X POST https://cotlet.dev/api/v1/loxo/jobs/2481530/activities \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"person_id":48211077,"activity":"1st Interview","note":"Strong on Spark, wants a remote role."}' {
"job_id": 2481530,
"person_id": 48211077,
"stage": "Interviewing",
"events": [
"Moved to Interviewing",
"1st Interview"
],
"note": "Strong on Spark, wants a remote role."
} MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is loxo_write → log_activity. Example data.
Schedule it in n8n, Make, Zapier or cronLoxo tools this automation uses
| Tool | Parameters |
|---|---|
| list_workflow_stages | none |
| get_job_pipeline | job_id, stage |
| log_activity | job_id, person_id, activity, note |
Frequently asked questions
Is it safe to connect Loxo to Cotlet?
Yes. You sign in to Loxo yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Loxo once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.
Give your agent access to Loxo.
Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Loxo.