set_application_status
Set or change the application status for a saved job by job ID or URL; optionally append a dated follow-up note while preserving the stored analysis.
Instructions
Set the application status of a stored job record, by id or url.
Transitions are deliberately UNVALIDATED — any of the 7 status values may transition to any other. This tool NEVER raises.
notes APPENDS one dated line to status_notes and never touches
notes, the analysis field. Those were a single column until the two
purposes collided in practice: recording "applied on the 17th" wiped the
reasoning behind the score, so the highest-scoring jobs in the store were
exactly the ones whose analysis was gone. Splitting them makes that
structurally impossible rather than a rule to remember.
To edit the analysis itself, call save_job_analysis with an id — its
omit-preserve semantics leave every field you do not pass alone.
Args: status: One of: not_applied, applied, interviewing, offer, rejected, withdrawn, ghosted. id: Job id (preferred — always resolvable, unlike url). url: Alternate lookup key when id is not known. notes: Optional follow-up note, appended to the timeline as "[YYYY-MM-DD] — ". Omitted, the timeline is left untouched and only the status changes.
Returns: SetStatusResult with success=True, id, url, status, previous_status and the resulting status_notes on success; success=False with error="invalid_status" (record unchanged), error="not_found", or error/message on a store failure.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| url | No | ||
| notes | No | ||
| status | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| url | No | ||
| error | No | ||
| status | No | ||
| message | No | ||
| success | Yes | ||
| status_notes | No | ||
| previous_status | No |