You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
2.0 KiB
YAML

site_id: tribalhealth
enabled: true
repair_needed: false
identity:
label: Tribal Health Job Board
category: staffing_agency
base_url: https://tribalhealth.com
start_url_template: "https://tribalhealth.com/job-board/"
browser:
profile_mode: persistent_chrome_profile
profile_name: JobAgent
headed_on_learn: true
headless_on_run: true
# The board is NOT keyword-searchable — it renders an Elementor loop of ALL open
# jobs (PT/OT/RN-heavy clinician staffing). We collect every card and keyword-filter
# to dental/ortho roles in the adapter + post_filters. Do NOT set
# multi_keyword_mode: separate (there is no per-keyword search to sweep).
search:
keyword_mode: none
location_mode: none
sort_mode: none
date_mode: none
result_list_wait_selector: ".e-loop-item"
pagination:
mode: url_increment # /job-board/{N}/ — walked inside TribalHealthAdapter.collect_cards
max_pages: 10 # board is ~3 pages today; headroom so page-4+ roles aren't silently dropped.
# collect_cards stops at the first empty page (dedup-by-URL guard prevents loops).
# NOTE: extraction is fully handled by TribalHealthAdapter.collect_cards (JS over .e-loop-item);
# this block is documentary only — the registry always returns the custom adapter, so these
# selectors are never executed by the manifest-driven path.
extract:
container_selectors:
- ".e-loop-item"
fields:
title:
text:
- ".elementor-heading-title"
url:
attr:
selector: "a[href*='/jobs/']"
name: "href"
location:
text:
- ".elementor-post-info__terms-list-item" # adapter picks the term containing a comma ("City, State")
post_filters:
include_title_keywords:
- orthodontist
- orthodontic
healthcheck:
min_items_expected: 0
required_fields:
- title
fail_if_zero_when_known_active: false
learn:
last_learned_at: 2026-06-12T00:00:00
source_url: "https://tribalhealth.com/job-board/"