Trackers
Job postings tracker
Get a signal when a competitor opens a job, changes it or closes it. Steve finds the careers page and job boards for you.
Add the competitor → get notified when its open jobs change.
- What it watches
- The competitor's open jobs: new jobs, changed jobs and closed jobs
- What you add
- Nothing. Steve finds the careers page and the job boards from the competitor's domain
- How often
- Weekly only
- Cost
- 2 credits per check, about 9 credits a month. A check that fails costs nothing
- Events
jobs.new,jobs.updated,jobs.removed·job_posting- Relevance
- Not scored. Every change is delivered as found
Set it up
Add the competitor
Go to Feed or Trackers and click Add competitor. Enter the website, for example acme.com, and click Continue.
Tick Job postings
On What should we watch at …?, tick Job postings. There is nothing else to fill in.
Start tracking
Job postings is checked weekly. Click Start tracking.
Where Steve looks
Steve finds the jobs itself. It reads the competitor's careers page and the job boards behind it. It recognizes 52 applicant tracking systems and job boards. It reads 14 of them through their APIs, such as Greenhouse, Lever, Ashby, Workday and SmartRecruiters. It reads the other 38 from their pages, such as HRMOS, HERP and Wantedly. It also reads custom careers pages. To find a board, it also tries the company's domain name plus jobs or careers, for example HubSpot's Greenhouse board hubspotjobs. When it finds no board, it falls back to Google Jobs.
What you get
The first check sends every job that is open today as jobs.new. A large company can have thousands of open jobs, so the first check can create thousands of events at once. Slack still gets one message per check, for example 💼 Acme · 3,000 new jobs found, with a link to all of them in Signals. Plan your webhook receiver for the volume.
After that, each check compares the jobs with the last check:
- A job appears →
jobs.new. - A job changes →
jobs.updated. Signals watches the title, department, team, locations, workplace type, employment type and salary.changeslists each field with its value before and after. A changed description or category is ignored. - A job closes →
jobs.removed. The event carries the job's last known values withstatus: "closed".
Removals need a complete read
Signals reports a job as removed only when it read every board in full. If a board fails or comes back partial, the check sends no jobs.removed events. The job is reported later, once a check reads everything.
A check that used Google Jobs results never sends jobs.removed. Google Jobs shows a different sample of jobs each time, so a missing job there does not mean it closed.
In your webhook
Each change is one event with eventType: "jobs". jobResponse has the job's fields. jobResponse.changes is filled only on jobs.updated. The full key list is on Job posting events. A webhook gets one POST per check (a run webhook) and reads these events from its pages.
1{2 "version": 1,3 "eventId": "a84e2d17-35fb-4b09-b6c2-61e9d07c3a48",4 "eventType": "jobs",5 "subEventType": "job_posting",6 "action": "updated",7 "signalType": "jobs.updated",8 "source": "job_postings",9 "orgId": "org_3KikADUjsyXrUJ4RJhWpwcp98Yf",10 "trackerId": "b13a7c58-02d4-4e9f-8a61-5f3c9e0d2b74",11 "projectId": "2738158a-08fd-4fc4-912d-43d4c328bc10",12 "runId": "e90b13c6-72aa-4d85-a1f4-3c58b9d20e77",13 "competitor": {14 "name": "Acme",15 "domain": "acme.com",16 "subjectKey": "jobs:acme.com"17 },18 "occurredAt": "2026-10-28T06:02:40.215Z",19 "detectedAt": "2026-10-28T06:02:40.215Z",20 "sequence": 318,21 "itemKey": "job_postings-7421035",22 "relevance": {23 "status": "unjudged"24 },25 "jobResponse": {26 "title": "Senior Product Marketing Manager",27 "text": "Acme is hiring a Senior Product Marketing Manager to own positioning and launches for our analytics platform. You will work with product, sales and customer success to bring new features to market.",28 "url": "https://boards.greenhouse.io/acme/jobs/7421035",29 "author": null,30 "media": [],31 "metrics": null,32 "status": "open",33 "jobId": "7421035",34 "atsType": "greenhouse",35 "boardUrl": "https://boards.greenhouse.io/acme",36 "department": "Marketing",37 "team": "Product Marketing",38 "category": "marketing",39 "locations": [40 {41 "raw": "San Francisco, CA",42 "countryCode": "US"43 },44 {45 "raw": "Remote, United States",46 "countryCode": "US"47 }48 ],49 "workplaceType": "remote",50 "employmentType": "full_time",51 "postedAt": "2026-10-27T09:12:00.000Z",52 "applyUrl": "https://boards.greenhouse.io/acme/jobs/7421035",53 "salary": {54 "min": 180000,55 "max": 220000,56 "currency": "USD",57 "period": "year",58 "raw": "$180,000 - $220,000"59 },60 "changes": [61 {62 "field": "workplaceType",63 "before": "hybrid",64 "after": "remote"65 },66 {67 "field": "locations",68 "before": "San Francisco, CA",69 "after": "San Francisco, CA; Remote, United States"70 },71 {72 "field": "salary",73 "before": "$170,000 - $210,000",74 "after": "$180,000 - $220,000"75 }76 ]77 },78 "metadata": {79 "title": "Senior Product Marketing Manager",80 "text": "Acme is hiring a Senior Product Marketing Manager to own positioning and launches for our analytics platform. You will work with product, sales and customer success to bring new features to market.",81 "url": "https://boards.greenhouse.io/acme/jobs/7421035",82 "author": null,83 "media": [],84 "metrics": null,85 "status": "open",86 "jobId": "7421035",87 "atsType": "greenhouse",88 "boardUrl": "https://boards.greenhouse.io/acme",89 "department": "Marketing",90 "team": "Product Marketing",91 "category": "marketing",92 "locations": [93 {94 "raw": "San Francisco, CA",95 "countryCode": "US"96 },97 {98 "raw": "Remote, United States",99 "countryCode": "US"100 }101 ],102 "workplaceType": "remote",103 "employmentType": "full_time",104 "postedAt": "2026-10-27T09:12:00.000Z",105 "applyUrl": "https://boards.greenhouse.io/acme/jobs/7421035",106 "salary": {107 "min": 180000,108 "max": 220000,109 "currency": "USD",110 "period": "year",111 "raw": "$180,000 - $220,000"112 },113 "changes": [114 {115 "field": "workplaceType",116 "before": "hybrid",117 "after": "remote"118 },119 {120 "field": "locations",121 "before": "San Francisco, CA",122 "after": "San Francisco, CA; Remote, United States"123 },124 {125 "field": "salary",126 "before": "$170,000 - $210,000",127 "after": "$180,000 - $220,000"128 }129 ]130 }131}