Collega BambooHR a Spark per sincronizzare anagrafiche, organigramma, sedi e (se previsto) PTO/assenze: obiettivi e valutazioni usano i dati HR ufficiali senza export manuali.
Cosa sincronizziamo
Dipendenti (BambooHR → Spark, notturno)
Organigramma / manager chain (BambooHR → Spark, notturno)
Sedi, dipartimenti, cost center (BambooHR → Spark, notturno)
Contratti, job title, employment type (BambooHR → Spark, notturno)
PTO/Assenze (se abilitati) (BambooHR → Spark, orario/notturno)
Campi custom (se esposti) (BambooHR → Spark, notturno)
A cosa serve
Onboarding/Offboarding automatico: creazione/sospensione utenti/ruoli da movimenti HR.
MBO con dati reali: strutture, sedi, PTO e cost center sempre aggiornati.
Governance: permessi in Spark basati su reparti/centri di costo BambooHR.
Reporting: avanzamento obiettivi e payout coerenti con la master data HR.
Come si configura (3 step)
Prerequisiti
Utente admin BambooHR con accesso ad API e campi richiesti.
API Key BambooHR attiva (o export CSV/SFTP pianificati).
(Opz.) IdP aziendale per SSO su Spark; IP allowlist se richiesta.
Lato BambooHR
Genera API Key e abilita i campi necessari (email, manager, department, location, cost center, PTO).
In alternativa configura Report o CSV/SFTP con schema concordato e job notturno.
Lato Spark
Inserisci dominio BambooHR, API key/endpoint, mappa i campi, esegui import pilota su un’OU di test.
Abilita sync notturno (core) e orario per PTO/assenze se necessario.
Sicurezza & controllo accessi
Autenticazione: API Key (BambooHR) / OAuth2 (non sempre disponibile; dipende dal piano).
SSO: SAML/OIDC su Spark tramite IdP (Google Workspace/Microsoft Entra/Okta) — sì, opzionale.
SCIM: (opzionale; tipicamente gestito via IdP per provisioning).
Cifratura in transito/a riposo, audit log, least privilege sugli scope API.
Mappature chiave
| Campo BambooHR (API/Report) | Campo Spark | Tipo | Note |
|---|---|---|---|
| workEmail | string | chiave primaria per login | |
| id / employeeNumber | employee_code | string | chiave tecnica secondaria |
| supervisorEmail / id | manager | reference | risolto su email/employee_code |
| department / division | org_unit | string | gerarchia (fino a 6 livelli) |
| location | site | string | normalizzare denominazioni |
| costCenter (custom field) | cost_center | string | permessi e reporting |
| employmentStatus/type | contract_type | enum | FT/PT/Fixed Term/Intern |
| hireDate | hire_date | date | ISO 8601 |
| terminationDate | termination_date | date | auto-deprovisioning |
| ptoHours / timeOff | attendance_hours | number | se incluso nei permessi/report |
Endpoints / API
BambooHR API: profili, organization, PTO (copertura dipende dal piano e dai permessi).
CSV/SFTP: export pianificati da BambooHR verso Spark (schema condiviso).
(Inserisci link/doc del tuo tenant; in assenza: “opzionale / non disponibile”.)
Direzione, frequenza, limiti
Direzione: Pull BambooHR → Spark (default). Push Spark → BambooHR (opzionale / non disponibile).
Frequenza: notturno (core HR), orario/15’ (PTO/assenze).
Rate limits/quote: rispettare i limiti API; usare paginazione, batch e retry/backoff su 429.
Limitazioni & note
Campi custom disponibili solo se esposti nelle API/report.
PTO/assenze dipendono da abilitazioni/piano e copertura dei report.
Alias email: normalizza il dominio (chiave primaria è l’email).
Gerarchie multi-sede supportate fino a 6 livelli in Spark.
Troubleshooting rapido
401/403: API key invalida o permessi insufficienti → rigenera la chiave, verifica scope e IP allowlist.
429 (rate limit): riduci dimensione batch, pianifica job fuori orario di punta, abilita retry esponenziale.
Manager non risolto: email mancante o ordine import errato → importa prima i manager/mappa via employeeNumber.
Record scartati: email duplicata o mancante → imposta chiave primaria su email, fallback employeeNumber.
Disallineamento PTO: timezone/cut-off diversi → uniforma periodi e fusi nei report.
FAQ
È bidirezionale? Default solo lettura da BambooHR a Spark.
Quanto impiega il primo sync? 10–60 min per 1–5k dipendenti (dipende da campi/report).
Come gestite i duplicati? Chiave email con fallback employeeNumber; regole di merge configurabili.









