Workday не публикует список своих клиентов. Ни справочника, ни открытой страницы «наши заказчики»: тенантские API обслуживают интеграции одного конкретного заказчика, требуют его учётных данных и ничего не говорят о том, кто ещё сидит на платформе. Наружу торчит другое — тысячи публичных карьерных страниц на доменах myworkdayjobs.com и myworkdaysite.com. Так что список компаний на Workday приходится именно искать: найти тенанты, развернуть каждый в его борды и проверить, что они отвечают.
Зачем это вообще нужно. HR-тех-продавцам — как список целевых аккаунтов, где число открытых вакансий работает сигналом к покупке. Тем, кто делает джоб-борды и собирает данные о найме, — карта «компания → карьерные сайты». Аналитикам рынка труда — динамика найма по отрасли без опроса компаний. И ещё агентам, которые должны отвечать на вопрос «кто из этих десяти на Workday и сколько у них открыто ролей» живыми данными, а не тем, что модель помнит с обучения.
Из чего состоит адрес карьерного сайта Workday
Сайт живёт по схеме {tenant}.{datacenter}.myworkdayjobs.com. Для nvidia это nvidia.wd5.myworkdayjobs.com: тенант — nvidia, внутреннее имя компании внутри Workday. Датацентр — wd5. Третья часть, слаг, задаёт конкретный борд, и у крупных работодателей бордов много.
| Поле | Пример | Зачем оно |
|---|---|---|
| tenant | kla | префикс хоста, имя компании в Workday |
| datacenter | wd1 | по названию компании не угадывается |
| careersUrl | https://kla.wd1.myworkdayjobs.com/en-US/Penang_Semicon | открывается руками, годится для проверки |
| apiUrl | https://kla.wd1.myworkdayjobs.com/wday/cxs/kla/Penang_Semicon/jobs | POST-эндпоинт вакансий конкретного борда |
| totalJobs | 37 | число открытых ролей на момент прогона; пусто, если проверка живости выключена |
Рядом в ответе едут siteSlug, hostKind, status, slugSource, companyName и discoveredAt — служебные поля, по которым удобно фильтровать и хранить историю. Чего в выдаче нет: текстов вакансий, данных соискателей и компаний, которые нанимают через другую платформу.
Ручной путь: где он ломается
Сначала вы угадываете тенант, исходя из названия компании. Часто не совпадает. Потом перебираете датацентры — wd1, wd5, wd108 и дальше, пока какой-нибудь хост не ответит. Потом ищете слаги: главный борд почти никогда не единственный. У KLA — семь карьерных сайтов Workday, у Cadence — восемь. И это одна компания. На двухстах компаниях такой перебор растягивается на недели, а через месяц часть ссылок устаревает, и начинать надо заново.
Массовая задача руками не решается вообще: стартового списка просто нет. Именно эта стена и возникает у всякого, кто плотно следит за наймом в одной отрасли — семь бордов KLA хорошо показывают, почему вместо таблички нужен отдельный шаг обнаружения.
Что делать вместо перебора
Есть готовый сборщик — Workday Career Sites API. На вход он принимает:
- companies — названия компаний или домены, если список у вас уже есть;
- discoverAll — режим обнаружения: перебирает карьерные сайты Workday вширь, без вашего списка на входе;
- verifyLive — включает проверку живости, и тогда в каждой строке появляется актуальное totalJobs;
- maxResults — ограничивает, сколько компаний обработать за прогон.
На выходе — по строке на каждый карьерный сайт, в JSON, CSV или Excel. Запускать можно из консоли, из REST-эндпоинта по токену и из Python через клиентскую библиотеку; в Python достаточно отбросить всё, где resultType не равен career_site, и разложить остаток по колонкам.
Практика: как собрать рабочий список
- Определитесь со сценарием. Для продаж это discoverAll плюс фильтр по числу открытых ролей; для точечной задачи — companies со списком из CRM.
- Включите verifyLive. Без проверки живости totalJobs придёт пустым, и на руках будут адреса без единой цифры.
- Сохраните датасет целиком, вместе со служебными полями.
- Свяжите tenant с записью в CRM — это ключ, по которому данные потом джойнятся.
- Повторите прогон через неделю.
Один замер почти ничего не стоит
totalJobs — снимок на момент запуска. Тот же прогон раз в неделю превращается во временной ряд по каждому сайту, а ценность сидит именно в линии: дочерний борд удвоил число вакансий, региональный замолчал, университетский открылся к сезону. Видно это только при условии, что прошлые датасеты остались у вас, а не были перезаписаны последним.
Когда инструмент не подойдёт
Режим обнаружения — широкий невод; переписью всех клиентов Workday он не становится. Часть небольших работодателей в публичный индекс не попадает. Компания, которой на Workday нет, даст ноль строк и не будет списана в счёт. Тексты вакансий здесь не выгружаются — только адреса и счётчики, а сами постинги забирает отдельный шаг по полю apiUrl. И другие платформы найма эта схема не покрывает совсем.
Ошибки, которые портят выборку
- Считать, что тенант равен названию компании. Совпадает не всегда.
- Остановиться на главном борде. Региональные, дочерние и университетские сайты живут отдельно, у каждого свои открытые роли.
- Перезаписывать датасет новым вместо сохранения обоих — так убивается вся ценность тренда.
- Забыть про проверку живости и потом удивляться пустому счётчику вакансий.
Workday прямо в чате и редакторе кода
Тот же сборщик выставляется через Model Context Protocol, и Claude, Claude Code или Cursor получают инструмент, который принимает названия компаний и возвращает карьерные сайты. Дальше агент сам отвечает на вопрос про десять компаний и число их открытых ролей — по живым данным, без ручных запросов. Адрес MCP-сервера выглядит так: https://mcp.apify.com/?tools=actors,docs,johnvc/workday-career-sites-api
Проверить логику проще на крупных тенантах: Accenture, Barclays, Boeing — по каждой возвращаются карьерные сайты с URL для API вакансий и счётчиком открытых ролей на борд. Плюс есть репозиторий с быстрым стартом на Python и MCP, если хочется сначала посмотреть на структуру ответа, а потом уже заводить регулярный прогон.
Что в итоге
Список компаний на Workday не покупается и не запрашивается — он собирается. Ручной путь честно работает на одной компании и разваливается на двухстах. Конструкция, которая держится: обнаружение тенантов, разворот в борды, проверка живости и сохранённые прогоны. Тогда на руках оказывается не строчка из справочника двухлетней давности, а карта найма, которую можно обновлять по расписанию и сравнивать с прошлым месяцем.
Комментарии (0)
Войдите, чтобы комментировать.
Пока нет комментариев. Будьте первым.