create_candidate
Add a new candidate record to Greenhouse and optionally apply them to a job in one call. Check for duplicates first, then create the candidate and application together.
Instructions
Create a new candidate record, optionally applying them to a job. Write operation.
Users say "add a new candidate — Jane Doe at Acme Corp for the Backend role." Check for duplicates first with search_candidates_by_name or search_candidates_by_email. Pass job_id (list_jobs) to create the application in the same call; the response then has both candidate and application. Without job_id, use create_application afterwards. For sourced prospects, use add_prospect instead.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Candidate tag names to apply | |
| title | No | Current job title | |
| job_id | No | Also apply them to this job (list_jobs) in the same call | |
| company | No | Current company name | |
| addresses | No | Array of {value: '123 Main St', type: 'home'|'work'|'other'} | |
| last_name | Yes | Candidate's last name | |
| source_id | No | Application source ID (list_sources) — needs job_id | |
| first_name | Yes | Candidate's first name | |
| referrer_id | No | Referrer record ID — needs job_id | |
| recruiter_id | No | Recruiter user ID (list_users) — needs job_id | |
| custom_fields | No | Array of {custom_field_id (or name_key), value} — get field IDs from list_custom_fields | |
| phone_numbers | No | Array of {value: '+1...', type: 'mobile'|'home'|'work'|'other'} | |
| coordinator_id | No | Coordinator user ID (list_users) — needs job_id | |
| email_addresses | No | Array of {value: 'x@y.com', type: 'personal'|'work'|'other'} | |
| initial_stage_id | No | Starting interview stage (list_job_stages_for_job) — needs job_id |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |