# Hiring Signals

> Track companies that are actively hiring and people who change jobs - including talent moving in and out of your competitors.

Source: https://docs.graph8.com/signals/hiring/

Hiring Signals watches the labor market for you. You create saved **listeners** that fire when something relevant happens, in two flavors:

- **Hiring Wave** - companies posting jobs that match your keywords and filters. A company hiring for roles tied to your ICP is signaling budget, growth, and a new initiative.
- **Talent Moves** - people changing jobs. Watch a contact list, or name a competitor and get alerted whenever someone joins or leaves them.

Matches surface as signals on the contact and in your Signals feed, and can auto-enroll the contact into a campaign audience.

## Where to find it

Open **Signals -> Hiring**. The page route is `/signals/hiring`. It mirrors the Social Listener layout:

- Two type tabs: **Hiring Wave** and **Talent Moves**
- A **Listeners ↔ Results** toggle
- A "New Hiring Wave" / "New Talent Move" button for the active type

## Hiring Wave

A Hiring Wave listener is a saved job search. graph8 re-runs it on a daily cadence and surfaces matching companies.

![Hiring Wave listeners — a set of active saved job searches (SDR & RevOps, Series B AEs, Enterprise AE expansion, RevOps leaders, demand gen) each tracking a target job-title keyword.](https://docs.graph8.com/images/signals/hiring-listeners.png)

**Listener fields:**

| Field | What it does |
|-------|--------------|
| Keywords | Job-title and posting keywords to match (chips) |
| Location / window | Geographic scope and how far back to look |
| Contacts per company | How many decision-makers to pull per matched company |
| Title / seniority / department | Narrow which roles count as a match |

**Results view** opens a live grid with four sub-tabs:

| Sub-tab | Shows |
|---------|-------|
| **Jobs** | The matching job postings |
| **Companies** | Companies posting those jobs (your ICP, actively hiring) |
| **Decision-makers** | Resolved contacts at those companies |
| **Recruiters** | The recruiting contacts behind the postings |

## Talent Moves

A Talent Moves listener detects job changes. Pick one of two watchlist sources:

| Source | What it watches |
|--------|-----------------|
| **Contact list** | A graph8 list or audience - alerts when anyone in it changes jobs |
| **Company (competitor)** | A named company - scans the global job-change feed and fires on both **joins** and **leaves**, no pre-built list needed |

Both sources accept role filters: title contains, seniority floor, department, minimum days in the previous role, and an employer allow/blocklist. Seniority and department are matched against the new job title, so phrase filters as title keywords.

Detected moves appear on the contact's **Hiring tab** in the contact drawer (with a job-change badge) and in your Signals feed. Talent Moves are resolved on an hourly cadence.

## Your first listeners (auto-seed)

If you have no listeners yet, the page shows a first-run hero with an **Auto-seed** option:

- **Hiring Wave** listeners are proposed from your Studio docs (personas / ICP)
- **Talent Moves** listeners are proposed from your existing contact lists

The onboarding modal lists the proposed listeners with checkboxes - pick the ones you want and create them in one click. You can also create listeners manually.

## Auto-enroll into campaigns

Each listener can optionally sync matches into a campaign audience. When auto-sync is enabled, a matched contact is upserted into the chosen audience, which triggers your existing sequence-enrollment flow. Turn this on from the listener's edit form.

## How signals flow downstream

1. The resolver emits a `job_change` (Talent Moves) or hiring (Hiring Wave) signal.
2. The signal appears on the contact's **Hiring tab** and in the Signals feed.
3. If auto-sync is on, the contact is added to the target audience and enrolled in the linked sequence.

## Related

- [Intent Tracking →](https://docs.graph8.com/signals/intent-tracking/) - keyword and topic intent on resolved contacts
- [Social Listener →](https://docs.graph8.com/signals/social-listener/) - monitor X (Twitter) for buying signals
- [Sequencer →](https://docs.graph8.com/engage/sequencer/) - reach matched contacts with outbound
