resume_tool
Optimize resumes for specific job descriptions or generate styled, downloadable PDF resumes with professional templates.
Instructions
Use for ALL resume-related actions. action omitted or action=tailor: ONLY when the user wants to improve, optimize, tailor, or rewrite a resume (text optimization). action=generate: MANDATORY when the user asks for generate/create resume, resume template, styled or formatted resume, downloadable resume, PDF resume, or preview/shareable resume — do NOT use tailor for those. INPUT for generate: resume_text or resume_content (plain text or JSON Resume as string), and/or json_resume (JSON Resume object: basics, work[], education[], skills[] per jsonresume.org — preferred for structured data). At least one of those is required. Optional template_key (Workopia registry key; omit defaults to Workopia Classic / workopia_classic). Legacy alias hera_classic accepted. OUTPUT for generate: template_name, url (preview), download_url (PDF) from the tool only — never invent URLs; never return raw PDF/HTML/base64. OUTPUT for tailor differs (e.g. optimizedResume text).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Omitted or "tailor" = improve/optimize/tailor/rewrite content only. "generate" = MANDATORY for PDF, downloadable resume, template, styled/formatted output, create/generate resume, or shareable/preview link — never use tailor for those intents. | |
| template_key | No | Optional for action=generate. MUST be one of enum values only. Omit = Workopia Classic. Do NOT invent keys; use workopia_flexbox for tech-heavy layout, workopia_elegant for professional/corporate, workopia_designer for product/designer roles. Unknown keys are ignored server-side with fallback. | |
| template_keys | No | Optional for action=generate; up to 5 registry template keys to render multiple PDFs in one call. | |
| session_id | No | Optional; correlates GPT session with synthetic owner email for GridFS access (gpt+session_id@internal.hera). | |
| resume_text | No | For tailor: required (resume body). For generate: optional if json_resume or object resume_content is set. Plain text or JSON Resume as a string. Alias: resume_content when string. | |
| json_resume | No | Optional for action=generate. JSON Resume object (https://jsonresume.org/schema/): basics, work, education, skills, etc. Same structure library themes consume. Takes precedence over resume_text when both are sent. | |
| tailor_resume | No | Payload for tailoring (same shape as legacy tailor_resume). | |
| parameters | No | Shortcut: tailor fields at top level (excluding action). |