Skip to main content

Sourcing in Tenzo

Once enabled for your organization, Tenzo offers the ability to automatically match candidates from your ATS database to an active role. Tenzo’s AI agent will automatically generate requirements based on the job description and find an initial set of matching candidates based on prior experience in the candidate resumes. These requirements as well as additional filters may be adjusted to narrow the search. Custom fields from candidates in your ATS may be added to further constrain the search. Tenzo’s agent grows more powerful over time. Information from prior calls is extracted and indexed directly in the sourcing engine, so future searches benefit from everything the agent has already learned about your candidates.

Sourcing Basics

There are two entry points into sourcing:
  • Per-job Sourcing tab — open a job and click the Sourcing tab. This is the flow described below and is the right choice when you are actively staffing a specific open role — add candidates one at a time or in bulk straight into that job’s outreach.
  • Standalone Sourcing — accessible from the Sourcing entry in the side navigation. Lets you start from a free-text job description, without first creating a job. Useful for exploration, talent-mapping, and qualifying a role before opening it — and you can add individual matches to any job from the results via the green + button.
When you first open the Sourcing tab on a job, you’ll see a Ready to find candidates? empty state with a Start AI Sourcing button. Clicking it kicks off the initial search — the AI agent reads the job description, extracts requirements, and starts streaming matching candidates into the list. Any requirement can be modified or removed. Each requirement can be marked as required (must be met for a candidate to rank highly) or nice-to-have (a preference that influences scoring but does not exclude candidates). Sourcing requirements are separate from the requirements an applicant’s resume is scored against, and each set has its own importance values — editing a job’s resume review requirements never changes what sourcing searches on. See Sourcing vs Resume Requirements.

How requirements are generated and refreshed

Sourcing requirements are extracted from the job description when the job’s script is generated and saved — not the first time you run a search. A search reuses that saved set. (If a job has no saved set, the search extracts one on the fly for that search only, without storing it.) The saved set is the job’s own sourcing configuration, which you own and edit directly:
  • Editing the job description later does not re-extract requirements. The requirements you already have stay exactly as you left them, so a wording change or an ATS description sync never quietly rewrites a search you tuned by hand. To pick up a changed description, edit the requirements yourself — directly, or by describing the change in the AI chat.
  • Adjustments you make in the Sourcing tab apply to that search session. Add, remove, or re-weight requirements and re-run to see the effect immediately.
  • To steer how requirements get written in the first place, use a script generation template. Its Sourcing Requirements instructions become standing direction in the extraction prompt, so every job generated with that template writes requirements the way you want. See Sourcing vs Resume Requirements.
  • A hybrid template separately controls whether a job extracts its own set or instead reuses the template’s exact requirement list.

Refining With AI Chat

Above the candidate list is a chat input where you can describe changes in plain language — for example:
“Drop the Excel requirement, search near Seattle, and lower experience to 3+ years.”
“Only show directors and VPs.”
When you submit, the AI proposes a set of changes (added/removed requirements, updated filters) in a changelog modal. You have three options:
  • Dismiss — close without applying
  • Accept — apply the changes but don’t re-search yet
  • Accept and Search — apply the changes and immediately re-run the search
After applying an AI change, an Undo button appears in the summary bar. Clicking it reverts to the previous configuration snapshot (requirements, location, years of experience, management level, exclude-contacted setting, exclude-recently-seen setting).

Filters

In addition to high-level requirements, recruiters can adjust additional filters to narrow the result set. Filters fall into two categories: Search filters (re-run the search when changed):
  • Location — one or more locations, each with its own search radius. Candidates within any location’s radius are included, so a single search can cover several areas at once.
  • Years of experience — minimum / maximum range
  • Management level — one or more levels, chosen from the levels found across your candidates (for example Individual contributor, Manager, Director, VP, Founder). Each candidate’s level is the title of their current or most recent role, with seniority words ignored: “Senior Vice President, Finance” shows as VP, and every hands-on title (software engineer, designer, analyst, consultant, nurse, and so on) shows as Individual contributor. A former manager now in a hands-on role counts as an individual contributor. When the filter is set, candidates whose level could not be determined from their resume are left out. For a per-job search, Tenzo sets this filter automatically when the job description makes the level clear (for example a “Director of Engineering” title) and that level exists among your candidates; otherwise it stays off until you set it. Available once enabled for your organization.
  • Exclude recently seen — hides candidates you opened from the sourcing results within the specified number of days (default: 30 days). Only your own sourcing views count: opening a candidate elsewhere in Tenzo won’t hide them here, and a teammate’s views don’t affect your results
  • Exclude contacted — hides candidates who have already been contacted
  • Exclude recent submissions — hides candidates submitted to this company within a configurable recent window (default: last 6 months). Turned on automatically when a Bullhorn or JobDiva integration is connected; not supported by all ATSs. The filter needs the job to be linked to a client company in your ATS. If it isn’t, the filter is shown as unavailable in the filter settings with an explanation, and it has no effect until the job is linked to a company.
  • Last Note Date — include or exclude candidates based on when they were last noted in the ATS. Not supported by all ATSs.
  • ATS field filters — filter on metadata fields from your ATS (categories, status, custom fields, etc.)
  • Extracted attribute filters — filters the AI extracted from the job description that are not full requirements
Post-search filters (refine the existing result set without re-running):
  • Filter by requirement — multi-select to show only candidates matching specific requirements
  • Years-of-experience chip — quickly narrow the visible list to a YOE range
ATS field filters and the Last Note Date filter may be configured organization-wide in the Rules of Engagement page. When an org admin turns Require filters on:
  • Dropdown Include — recruiters may add or remove only the values chosen in Rules of Engagement. They cannot pick values outside that set, switch the filter to Exclude, or remove the filter.
  • Dropdown Exclude — recruiters may add extra values to exclude, but they cannot remove the values chosen in Rules of Engagement, switch the filter to Include, or remove the filter.
  • Other ATS filters (numbers, dates, booleans) and Last Note Date stay locked.
When Require filters is off, those same Rules of Engagement filters are applied as defaults and recruiters can edit or remove them per search. When you change any search filter after results are displayed, the summary bar pulses to indicate the results are stale, and a Search again action becomes available.

Estimated Reach — Your Candidate Pool

At the bottom of the filters panel is Estimated reach, a funnel that shows how many candidates each search filter leaves behind. Use it to sanity-check your filters before running a search — if the pool collapses to a handful of people, you’ll see which filter caused it. Click the refresh icon next to Estimated reach to run an estimate. The funnel reads top to bottom:
  • Total Candidate Pool — the starting point: every real candidate in your organization’s Tenzo database who has given some form of contact consent. This number is organization-wide, not specific to the job you’re viewing, and it isn’t affected by your requirements or filters.
  • One row per active search filter — Location, Years of experience, Management level, Attribute filters, Last note date, Exclude recently seen, Exclude recently contacted, and Exclude recent submissions, in that order. Each row shows how many candidates remain after that filter and every filter above it, plus an X% kept figure. That percentage is measured against the row above it, not against the total pool, so it tells you how tight that individual filter is. It’s color-coded — green for permissive, yellow for moderate, red when a filter removes most of the remaining pool.
  • Requirement search pool — the number of candidates left after all filters. This is the set Tenzo searches and scores against your requirements.
A few things to keep in mind:
  • The requirement search pool is not your result count. Requirement matching and AI scoring run after these filters, so the number of candidates you actually see in the list will be smaller.
  • The estimate is on demand, not live. It doesn’t recompute by itself. When you change a filter after estimating, the refresh button starts pulsing to signal the estimate is out of date — click it again to recompute.
  • Only filters you’ve actually set appear. A filter you haven’t configured doesn’t get a row.
  • Exclude recent submissions needs a company to anchor on. It compares against prior submissions to the job’s company. If the job has no company attached, the row appears greyed out with a dash instead of a count and doesn’t reduce the pool. The filter settings also show it as unavailable with an explanation (see the filter list above). The filter isn’t available at all in Standalone Sourcing, so it never appears in the funnel there.

Reading the Candidate List

Each row in the candidate list shows:
  • Star rating — the AI’s overall match score; hover for the reasoning
  • Name and location
  • Years of experience badge
  • Requirement badges — one chip per requirement, color-coded by match quality (green / yellow / gray). Hover any chip to see the supporting evidence text and links to recorded prior calls when available
  • Submission badge — flags candidates with prior submissions to this job or company
  • ATS tags — name/value chips from your ATS (loaded after results arrive)
Candidates are sorted by match quality. A divider separates candidates that meet all required requirements from those that only partially match. Click any row to open the detail panel on the right, which shows the full candidate profile — phone, email, resume, scoring reasoning, and requirement evidence with deep links to prior calls. Use the arrow keys to move between candidates without leaving the keyboard.

Adding and Rejecting Candidates

Each row has two action buttons:
  • Add to job (green plus) — moves the candidate into outreach for this job. Whether Tenzo also creates an ATS application or submission depends on Create ATS Application in ATS Settings. The default is to create one only after a passing interview.
  • Reject (red minus) — starts a two-step flow that removes the candidate from the result set
Add to job takes effect immediately. Reject doesn’t finish the action yet: the row switches to an inline “Why? (optional)” box where you can say in a sentence why this candidate isn’t a fit — for example, “No explicit mention of bachelor’s degree”. Then:
  • Submit records the rejection, with your reason if you typed one
  • (or Escape) cancels and leaves the candidate undecided
Press Enter to submit quickly. Several rows can be open at once, and nothing is recorded until you click Submit, so leaving the page with a box open simply leaves that candidate in the list. Rejection reasons are stored with the decision and power Suggested requirement changes below. For larger batches, use the checkboxes on the left of each row plus the header checkbox to select all visible candidates, then click Add to Job (N) to bulk-add. Bulk adds run asynchronously; you’ll see a progress notification and can navigate away while the operation completes.

Suggested requirement changes

Every time you submit a decision with a reason, Tenzo reads the reasons given in this session, along with each candidate’s rating and resume, and works out whether the sourcing requirements should change. The more specific the feedback the better our AI will be at understanding how the requirements could be improved. When Tenzo finds something worth changing, a Suggested requirement changes panel appears under the filter pills with one row per change, marked the same way as AI edits: a green + to add a requirement, a blue pencil to change an existing requirement’s wording or importance, or a red to remove one. Hover a row to see the feedback that drove it. Each row has its own Apply (✓) and Dismiss (✕) buttons; with more than one row, Apply all and Dismiss all in the panel header handle the whole list at once. Applying a suggestion edits the requirements in place, exactly as if you had changed them in the config drawer. Tenzo does not start a new search on its own — the summary bar shows unsearched changes, and you choose when to Search again. Undo reverses an applied batch. Suggestions belong to the sourcing session, so they are still there after a reload, and a suggestion you have applied or dismissed is never shown again. New reasons add new suggestions to the list rather than replacing it. Only requirements are ever suggested; location, years of experience, exclusion and ATS filters are left as they are. If a suggested change targets a requirement you have since removed or reworded, it is quietly dropped when applied. Once added to an active job, sourced candidates go straight to outreach — they skip resume screening entirely since they were already vetted through the sourcing filters. Results are posted to the ATS just like applicants.

Search Progress and Cancellation

Sourcing streams results as they’re found. While a search is running, the summary bar shows the current step — for example:
  • “AI is analyzing job description…”
  • “Searching for potential candidates…”
  • “Evaluating N potential candidates…”
A Cancel button is available throughout the search. If you cancel, any candidates already streamed in remain visible and you can refine and re-run. When the search completes, a toast confirms how many candidates were evaluated. The list shows the first batch of matches; use Load more at the bottom to see additional candidates from that search. Refining requirements or filters and re-running is only needed when you want a different search, not to page through results you already have.

Auto-Match (Per-Job Override)

When Auto-match sourcing is enabled at the organization level, Tenzo can automatically source, score, and add candidates the moment a job becomes active. Each job can override these defaults from the Sourcing tab using the Auto-match button at the top of the requirements panel. The override modal lets you:
  • Toggle auto-match on or off for this specific job
  • Set the maximum number of candidates to auto-add (1–500)
  • Choose a minimum star rating — only candidates at or above this score will be auto-added
  • Require all minimum requirements to be met before a candidate is auto-added
A few behaviors to be aware of:
  • The override is only available before the job is activated. Once active, the configuration is locked because auto-match only runs on initial activation.
  • If the organization admin has marked auto-match as required (rather than optional), the per-job override is read-only and the modal will display “locked by your organization admin”.
  • If your organization has not configured auto-match defaults at all, this button will not appear.
For information on configuring the organization-level defaults, see Auto-match sourcing in Available Settings.

Initial Setup

To enable sourcing, Tenzo’s support team must first initiate a one-time-job to index candidates from your ATS to be discoverable by the sourcing engine. Once this is complete, new candidates or updates to existing candidates will sync automatically and the sourcing engine is ready to use.