Saves a job posting found anywhere on the open web into the user's tracker. For jobs that came
from jobs_search results, tracker_add (which takes a job_id) is the right tool instead. A job
seen elsewhere in the conversation needs no prior jobs_search call — its URL and details from
the conversation are sufficient input.
`url`, `company_name`, `title_name`, `location_name`, and `description` identify the posting;
the url is the posting's own page (a company homepage is not accepted) and the description is
the posting's description as the source result provides it — a short summary from the result
card is acceptable when no fuller text is available. The remaining structured fields describe
the posting's salary, employment type, work-location type, education, and experience; each is
optional and any that the posting states can be supplied. Skills, benefits, and bonuses are
derived from the description and are not accepted as inputs.
Fields:
- `url`: the job posting's direct URL (required; not a company homepage)
- `company_name`: company name
- `title_name`: job title
- `location_name`: location, e.g. "New York, NY"
- `description`: the posting's description from the source result; a short summary is acceptable (required)
- `salary_min_value` / `salary_max_value`: salary range bounds (numbers)
- `salary_value`: a single salary figure when there is no range (number)
- `salary_type`: one of year, month, week, day, hour
- `employment_type`: array of full_time, part_time, contractor, temporary, intern, volunteer, per_diem, other
- `work_location_type`: one of on_site, remote, hybrid
- `education_requirements`: array of no_requirements, high_school, associate_degree, bachelor_degree, professional_certificate, postgraduate_degree
- `experience_months`: minimum required experience in months (number)
- `status`: initial tracking status (saved, applied, interviewing, offered, archived); defaults to "saved"
- `sub_status`: sub-status within the main status
- `notes`: notes about the job
Returns the tracked job, or an error if it is already tracked.