add_attachment
Attach a resume, cover letter, or file to a Greenhouse candidate by URL or base64 content; target a specific application or the active one.
Instructions
Attach a file (resume, cover letter, etc.) to a candidate. Write operation.
Harvest v3 stores every attachment on an application, so this attaches to application_id if given, otherwise to the candidate's most recently active application (the response's application_id shows which). To get candidate_id: search_candidates_by_name. To choose the application, see get_candidate's applications array, or use add_attachment_to_application.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"candidate_id": "<candidate_id>",
"filename": "<filename>",
"type": "<type>"
},
"name": "add_attachment"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public URL to fetch the file from — provide this OR content, not both | |
| type | Yes | Type: 'resume', 'cover_letter', 'take_home_test', 'other', ... ('admin_only' = 'other' with admin-only visibility) | |
| content | No | Base64-encoded file content — provide this OR url, not both | |
| filename | Yes | File name with extension, e.g. 'resume.pdf' | |
| visibility | No | Who can see it: 'public', 'private', or 'admin_only' | |
| candidate_id | Yes | Greenhouse candidate ID | |
| application_id | No | Application to attach to — omit to use the candidate's most recently active application |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |