Paylocity > Paylocity technical integration
BambooHR technical integration
BambooHR provides REST APIs with webhook support. Their API uses simple API key authentication and supports SHA-256 HMAC webhook signatures.
Use BambooHR’s REST API to fetch employee data and trigger Tallyfy workflows:
const handleBambooHREmployee = async (employeeId) => { const employee = await fetch( `https://api.bamboohr.com/api/gateway.php/${subdomain}/v1/employees/${employeeId}`, { headers: { 'Authorization': `Basic ${Buffer.from(apiKey + ':x').toString('base64')}`, 'Accept': 'application/json' } } ).then(res => res.json());
const workflow = await fetch('https://api.tallyfy.com/v1/workflows', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_TALLYFY_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ template_id: 'employee_onboarding', name: `Onboarding - ${employee.firstName} ${employee.lastName}`, data: { employee_id: employee.id, full_name: `${employee.firstName} ${employee.lastName}`, email: employee.workEmail, department: employee.department, location: employee.location, job_title: employee.jobTitle, manager: employee.supervisor, start_date: employee.hireDate } }) });
return workflow.json();};BambooHR webhooks use SHA-256 HMAC signatures for verification:
const express = require('express');const crypto = require('crypto');
const app = express();
app.post('/bamboohr-webhook', express.raw({ type: '*/*' }), async (req, res) => { // Verify webhook signature using SHA-256 HMAC const signature = req.headers['x-bamboohr-signature']; const expectedSignature = crypto .createHmac('sha256', process.env.BAMBOOHR_WEBHOOK_SECRET) .update(req.body) .digest('hex');
if (signature !== expectedSignature) { return res.status(401).send('Invalid signature'); }
const payload = JSON.parse(req.body); const { type, employees } = payload;
for (const employeeId of employees) { switch (type) { case 'employee': await launchOnboardingWorkflow(employeeId); break; case 'job_information': await launchRoleChangeWorkflow(employeeId); break; case 'employment_status': await handleStatusChange(employeeId); break; } }
res.status(200).send('OK');});BambooHR also supports change reports for systems that cannot receive webhooks:
const pollBambooHRChanges = async () => { const since = new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
const changes = await fetch( `https://api.bamboohr.com/api/gateway.php/${subdomain}/v1/employees/changed?since=${since}`, { headers: { 'Authorization': `Basic ${Buffer.from(apiKey + ':x').toString('base64')}`, 'Accept': 'application/json' } } ).then(res => res.json());
for (const employee of changes.employees) { await processEmployeeChange(employee.id, employee.action); }};Common BambooHR fields to map to Tallyfy workflow variables:
| BambooHR Field | Tallyfy Variable | Description |
|---|---|---|
id | employee_id | Employee record ID |
firstName + lastName | full_name | Employee name |
workEmail | email | Work email address |
department | department | Department name |
division | division | Division name |
location | location | Work location |
jobTitle | job_title | Job title |
supervisor | manager | Direct supervisor name |
supervisorEmail | manager_email | Supervisor email |
hireDate | start_date | Hire date |
employmentHistoryStatus | status | Current employment status |
BambooHR uses API key authentication with HTTP Basic auth. The API key is the username and ‘x’ is the password.
const getBambooHRHeaders = () => ({ 'Authorization': `Basic ${Buffer.from(process.env.BAMBOOHR_API_KEY + ':x').toString('base64')}`, 'Accept': 'application/json'});BambooHR webhooks can trigger on various field changes:
- Employee created - New employee added
- Job information - Title, department, or location changed
- Employment status - Status changed (active, terminated, on leave)
- Compensation - Salary or pay rate changed
- Time off - Time off requests or balances changed
If direct API development is not available:
- Merge API: Unified HRIS API with BambooHR support
- Finch: Employment system API
- Zapier: Pre-built BambooHR triggers and actions
- Make: Visual workflow builder with BambooHR connector
Technical implementation details for connecting Paylocity with Tallyfy including REST API examples, webhook handling, data mapping, and authentication configuration for HR workflows.
Connect BambooHR with Tallyfy to orchestrate cross-department workflows like onboarding, offboarding, and role changes that BambooHR cannot coordinate on its own - spanning IT, Facilities, and Finance teams.
Netsuite > NetSuite technical integration
Technical implementation details for connecting NetSuite with Tallyfy including REST API examples, SuiteScript integration, data mapping, and authentication configuration for ERP deployments.
Workday > Workday technical integration
Technical implementation details for connecting Workday with Tallyfy including API integration examples, webhook handling, data mapping, and authentication configuration for enterprise deployments.
Was this helpful?
About Tallyfy
- 2025 Tallyfy, Inc.
- Privacy Policy
- Terms of Use
- Report Issue
- Trademarks