Polyguard PreScreen para Greenhouse¶
| Producto | Polyguard PreScreen |
| ATS | Greenhouse (Job Board API + Harvest v1/v2) |
| Consola | console.polyguard.ai |
| Tiempo de configuración | aproximadamente 20 minutos |
| Contacto | [email protected] |
¿Está configurando a través de la página /admin de PreScreen?
Consulte la guía de la página de administración heredada. Esa página se está retirando; use esta guía para cualquier configuración nueva.
1. Descripción general¶
PreScreen condiciona cada solicitud a una Trust Check de Polyguard: una breve comprobación, que el candidato completa en su teléfono, que confirma que quien se postula es una persona real. Los candidatos no verificados se retienen en la primera etapa de su pipeline; los verificados avanzan automáticamente, con la verificación registrada en la solicitud.
Cómo funciona¶
Las solicitudes llegan a Greenhouse de dos maneras, y PreScreen cubre ambas.
| Dónde se postula el candidato | Cómo se condiciona | |
|---|---|---|
| Solicitud alojada | Su sitio de empleo de Polyguard | El formulario retiene el envío hasta que la Trust Check se supera y luego envía a Greenhouse con la verificación adjunta |
| Solicitud directa | Greenhouse mismo, a través de LinkedIn, Indeed o una referencia | Greenhouse notifica a Polyguard, que envía al candidato una Trust Check por correo y lo retiene en la primera etapa hasta que la completa |
La mayoría de las solicitudes llegan por la segunda vía, por eso el web hook de la Sección 5 no es opcional.
Lo que configurará¶
- Una app de PreScreen en la Consola de Polyguard, con su propio nombre de host
- Dos claves de API de Greenhouse: Job Board (para enviar) y Harvest (para avanzar)
- Un campo personalizado de solicitud que registra la verificación
- Una etapa
Human Verificationen cada empleo protegido - Un web hook de Greenhouse a Polyguard
Quién hace qué¶
Los pasos marcados (Polyguard) necesitan una cuenta del personal de Polyguard. Todo lo demás puede hacerlo un administrador de la cuenta.
2. Requisitos previos¶
| Requisito | Detalles |
|---|---|
| Acceso a Greenhouse | Un usuario que pueda administrar el Dev Center (normalmente Site Admin) y editar planes de entrevista |
| Cuenta de Polyguard | Acceso a la Consola en console.polyguard.ai con el rol de administrador |
| Recursos de marca | Logotipo, colores de marca exactos y el nombre comercial para el sitio de empleo |
| Un empleo de prueba | Un empleo abierto al que pueda postularse de extremo a extremo antes de salir a producción |
Los secretos se muestran una sola vez
Greenhouse muestra una clave de API exactamente una vez, y la Consola de Polyguard la almacena en modo solo escritura, mostrando después únicamente los últimos 4 caracteres. Copie cada valor en la Consola en el momento en que lo cree.
3. Recopile sus valores de Greenhouse¶
Todo lo de esta sección está en Configure (⚙️) → Dev Center, excepto el campo personalizado y la etapa del pipeline.

Recorra de 3a a 3f y tenga los valores a mano. Los pegará en la Consola en la Sección 4.
3a. Clave de API Job Board¶
-
Abra API Credential Management en la barra lateral del Dev Center.

-
Haga clic en Create new API credentials, arriba a la derecha.

-
Complete:
- API Type:
Job Board - Partner:
Unlisted vendor, oCustom - Description:
Polyguard: Job Board
- API Type:
- Haga clic en Manage permissions y conceda:
- el permiso POST Submit Application
- Copie la clave y luego haga clic en I have stored the API Key.
Modo demo
Dejar esto en blanco más adelante mantiene el sitio de empleo en modo demo: muestra exactamente lo que habría enviado, sin publicar en Greenhouse. Es útil para un ensayo antes de salir a producción.
3b. Token del tablero¶
El identificador en la URL pública de su tablero, job-boards.greenhouse.io/<your-board-token>. Confirme que devuelve sus puestos activos. No se necesita clave, estos endpoints son públicos:
curl -s "https://boards-api.greenhouse.io/v1/boards/<your-board-token>/jobs" | head -c 300
3c. Campo personalizado para el token de verificación¶
Un campo para toda la organización, creado una sola vez. Consulte Create a new custom application field de Greenhouse.
- Abra Configure → Custom Options → Application → Add Field.
- Complete:
- Name:
Polyguard Verification Token - Field type:
Single-line text
- Name:
- Guarde, vuelva a abrir el campo y anote la clave de campo generada, por ejemplo
polyguard_verification_token.
3d. La etapa Human Verification¶
- Abra un empleo → Job Setup → Interview Plan → Add stage → Create a custom stage.
- Complete:
- Stage name:
Human Verification, escrito exactamente así - Position: segunda, inmediatamente después de la primera etapa
- Stage name:
- Guarde.
Greenhouse no permite una primera etapa personalizada. Las solicitudes llegan a la primera etapa, los candidatos no verificados se retienen ahí, y PreScreen los avanza a Human Verification cuando la superan.
Cada empleo protegido necesita la etapa
Los equipos cuyos pipelines nombran estas etapas de otra forma pueden listarse en Pipeline stages by team, en la tarjeta Candidate verification de la página de configuración de PreScreen, con sus propios nombres de etapa inicial y verificada.
La etapa debe existir, con el mismo nombre y en segunda posición, en todos los empleos que quiera proteger. Use Edit job stage in bulk para desplegarla en los empleos abiertos.
3e. Usuario on-behalf-of¶
Greenhouse atribuye cada movimiento de etapa a un usuario real. Elija uno, idealmente una cuenta dedicada de operaciones de reclutamiento.
- Configure → Users y abra ese usuario.
- Lea el id numérico al final de la URL. Por ejemplo,
app.greenhouse.io/account/user/12345da12345.
3f. Clave de API Harvest¶
- Abra API Credential Management → Create new API credentials.
- Complete:
- API Type:
Harvest, no Harvest V3, que no es compatible - Partner:
Unlisted vendor, oCustom - Description:
Polyguard: Harvest
- API Type:
- Haga clic en Manage permissions y conceda solo estos:
| Alcance | Por qué PreScreen lo necesita |
|---|---|
| Job Stages → Get: Retrieve Job Stages for Job | Encontrar la etapa de control en el pipeline de un empleo |
| Applications → Patch: Edit Application | Escribir el token de verificación en el campo personalizado |
| Applications → Move: Move Application | Avanzar a un candidato verificado |
| Applications → Get: Retrieve / List Applications | Leer el estado y el origen de la solicitud |
| Candidates → Get: Retrieve / List Candidates | Leer el nombre y el correo del candidato |
| Sources → Get: List Sources | Determinar de dónde vino una solicitud |
- Guarde y luego copie la clave.
Edit Application es el permiso que suele olvidarse
Sin él, la escritura del token se rechaza con un 403 mientras el candidato sigue avanzando, así que el campo queda vacío en silencio y nada parece roto.
4. Configurar la app en Polyguard¶
4a. Crear la app de PreScreen (Polyguard)¶
Consola → Create App → tipo de app PreScreen.

Al crearla se reserva un nombre de host de la forma {account-slug}.prescreen.polyguard.ai. Un segundo inquilino en la misma cuenta recibe -2, -3, y así sucesivamente.
4b. Comprobar el nombre de host (Polyguard lo cambia)¶
Settings → Prescreen → Hostnames muestra el host desde el que se sirve este inquilino. Los administradores de la cuenta pueden leerlo; solo el personal de Polyguard puede cambiarlo.

Importa más allá de la barra de direcciones: la URL del web hook de la Sección 5 se construye a partir de él, y también la dirección a la que Polyguard entrega los resultados de verificación.
Nota
El nombre reservado no es un sitio activo hasta que Polyguard lo asocia al despliegue del inquilino. Esa es una tarea de Polyguard y no bloquea el resto de esta guía.
4c. Conexión con el ATS¶
Settings → Prescreen → ATS connection, proveedor Greenhouse.

| Campo | Valor | De |
|---|---|---|
| Job Board API key | la clave Job Board | 3a |
| Harvest API key | la clave Harvest | 3f |
| Harvest webhook secret | generado en la Sección 5 | |
| Board token | el identificador de su tablero | 3b |
| On-behalf-of user id | el id numérico del usuario | 3e |
| Gate stage name | Human Verification | 3d |
| Polyguard field key | p. ej. polyguard_verification_token | 3c |
| Manual source names | opcional, por defecto Internal Applicant | orígenes a los que nunca se envía una Trust Check |
| Trust Check expiry (days) | opcional, por defecto 3 | de 1 a 7 |
| Reject application on expiry | opcional | de lo contrario las solicitudes vencidas permanecen retenidas |
| Rejection reason id | opcional | se usa el valor por defecto de Greenhouse si está en blanco |
| Company name | opcional | nombre mostrado en los correos de Trust Check |
Haga clic en Save ATS configuration. Los secretos se borran del formulario al guardar y después muestran sus últimos 4 caracteres; dejar un secreto en blanco conserva el valor almacenado en lugar de borrarlo.
5. Registrar el web hook en Greenhouse¶
Greenhouse notifica a Polyguard cada vez que un candidato envía una solicitud. Esto es lo que condiciona las solicitudes directas y lo que avanza las alojadas.
5a. Obtener la URL y el secreto desde la Consola¶
En el formulario ATS connection, justo encima de Harvest webhook secret:

- Copie la URL del web hook.
- Haga clic en Generate junto a Harvest webhook secret y luego copie el valor.
- Haga clic en Save ATS configuration.
Copie el secreto antes de guardar
Solo es legible hasta ese momento; después la Consola muestra los últimos 4 caracteres y nada más. Si lo pierde, genere uno nuevo y actualice Greenhouse para que coincida.
5b. Crear el web hook¶
Abra Configure (⚙️) → Dev Center → Web Hooks → Create a new web hook:
| Ajuste | Valor |
|---|---|
| Name | Polyguard: Candidate submitted application |
| When | Candidate has submitted application |
| Endpoint URL | la URL copiada en 5a, exactamente como se muestra |
| Secret key | el secreto generado en 5a, idéntico en ambos lados |
| Error Recipient Email | [email protected], para que Polyguard reciba alertas si las entregas empiezan a fallar |
| Disabled? | No |
Haga clic en Create Web hook.

Use la URL que le da la Consola tal cual
Una URL con su token de tablero añadido lee su configuración de otro lugar completamente distinto y rechazará todas las entregas, aunque siga devolviendo éxito a Greenhouse.
6. Verificación¶
Ejecute las cuatro antes de salir a producción.
6.1 Listados¶
Abra el sitio de empleo en su nombre de host. Sus puestos activos de Greenhouse deberían aparecer, con su marca.
6.2 Solicitud alojada¶
- Postúlese a través del sitio de empleo y complete la Trust Check en un teléfono.
- En Greenhouse, confirme que el candidato aparece, está en Human Verification y tiene el campo Polyguard Verification Token completado.
6.3 Solicitud directa¶
- Postúlese a través de su tablero público de Greenhouse, usando una dirección de correo distinta a la de 6.2.
- Confirme que llega el correo de Trust Check.
- Complétela y confirme que la solicitud avanza a Human Verification.
Use un correo distinto
Reutilizar el de 6.2 coincide con la verificación ya almacenada en caché para ese empleo, por lo que la solicitud avanza de inmediato y la ruta por correo nunca se ejercita.
6.4 Anulación manual¶
Tools → Manual verify, con el id de enlace de un candidato que haya confirmado por otro medio, avanza esa solicitud. Un uso por enlace.
7. Uso de PreScreen¶
Día a día¶
Nada que hacer. Las solicitudes llegan, los candidatos se verifican y los verificados avanzan a Human Verification con el token registrado en la solicitud. Los candidatos que nunca se verifican permanecen en la primera etapa hasta que vence su Trust Check.
Herramientas del operador¶
| Ubicación en la Consola | Qué hace |
|---|---|
| Tools → Manual verify | Avanzar a un candidato verificado por otro medio |
| Tools → Send test email | Enviarse una Trust Check para confirmar la entrega |
| Analytics | Embudo de Trust Checks de la cuenta |
| Settings → Prescreen → Branding | Nombre de la empresa, colores, logotipo y tema |
Añadir un empleo más adelante¶
Los empleos nuevos necesitan la etapa Human Verification en segunda posición (3d). Todo lo demás es de toda la cuenta y ya está configurado.
8. Solución de problemas¶
Las solicitudes nunca avanzan y Greenhouse no informa errores¶
Ambos receptores responden HTTP 200 incluso cuando rechazan una entrega, porque una respuesta distinta de 2xx haría que Greenhouse desactivara el web hook. Por eso, desde Greenhouse, un secreto incorrecto se ve idéntico a uno que funciona. Revise las entregas recientes del web hook y luego confirme que el secreto coincide carácter por carácter en ambos lados.
El candidato avanza pero el campo del token queda vacío¶
A la clave Harvest le falta Applications → Patch: Edit Application (3f). La escritura se rechaza con un 403 mientras el cambio de etapa sí se realiza.
Nada llega a Polyguard¶
Confirme que el endpoint del web hook es exactamente la URL que muestra la Consola. Una URL con /<your-board-token> añadido resuelve su configuración desde el almacén propio del despliegue en lugar de la Consola, así que todas las entregas fallan la comprobación de firma.
Un cambio en la Consola no ha tenido efecto¶
La configuración se almacena en caché durante 60 segundos. Espere un minuto y vuelva a intentarlo. La marca es la excepción: vea más abajo.
Los cambios de marca no aparecen en el sitio de empleo¶
Dele hasta una hora. El índice de empleo y las páginas de puestos se renderizan por adelantado y se actualizan cada hora, así que un cambio de marca se recoge en la siguiente actualización y no en la siguiente carga de página.
Un campo dejado en blanco en la Consola recurre a la configuración propia del despliegue, y un valor que el sitio rechaza por inseguro (un logotipo o URL de sitio que no sea https://, un color que no sea un color CSS válido) recurre a lo mismo, así que revise el valor si un campo conserva la marca anterior mientras el resto se actualiza.
El correo de invitación a la Trust Check sigue tomando su nombre de empresa de la configuración del despliegue, no de estos campos.
El sitio de empleo no muestra puestos¶
O el token del tablero es incorrecto (3b), o el proveedor seleccionado en la Consola no coincide con el que ejecuta el despliegue. La discrepancia es silenciosa: la configuración de la Consola simplemente se ignora.
A un candidato nunca se le envió una Trust Check por correo¶
Las solicitudes sin origen, o con un origen listado en Manual source names, se tratan como entradas de reclutadores y deliberadamente nunca reciben correo. Un reclutador que añade un candidato a mano ya ha decidido que pertenece al pipeline.
9. Soporte¶
- Correo: [email protected]
- Consola: console.polyguard.ai
- Envío de correos de Trust Check desde su propio dominio: Envío desde su dominio
Documentación de Greenhouse¶
- Crear una clave de API de job board para una integración
- Crear credenciales de la API Harvest para una integración
- Administrar los permisos de las credenciales de la API Harvest
- Crear un nuevo campo personalizado de solicitud
- Descripción general del plan de entrevistas
- Editar etapas de empleo en bloque
- Encontrar su ID de usuario de Greenhouse Recruiting
- Crear un webhook
- Webhooks de Recruiting: firma y eventos
- Harvest API
- Job Board API
Para problemas de la plataforma Greenhouse no relacionados con Polyguard, contacte a su administrador de Greenhouse o al soporte de Greenhouse.