Festive Offer upto 78% · 17 days left See offer prices

Windows desktop appWorkforceOS in its own window, with notificationsDesktop agentClock in from the computer; optional monitoringPassword vault extensionFill and save logins in Chrome and EdgePhonesAdd WorkforceOS to the home screen, no app store
Every feature, free for 30 days. No card needed.Start free
Log in
WorkforceOS
AgenciesClient projects, timesheets, chat and HR together.Factories and manufacturingShifts, overtime, leave and payroll, in Nepali for staff.IT companiesProjects, chat, password vault and payroll in one place.NGOs and INGOsStaff in many districts, project contracts and timesheets.SchoolsTeacher attendance, leave, payroll and the school calendar.
Every feature, free for 30 days. No card needed.Start free
PricingLive demo

Learn

BlogGuides for employers in NepalHelp centreHow to set up and use WorkforceOSWhat's newNew features and fixes

Free tools

Dashain allowance calculatorFestival allowance and the tax on it

Compare

vs separate HR, chat and project toolsOne app vs an HR tool, a chat tool and a project tool.vs spreadsheetsWhen spreadsheets stop working for attendance, leave and payroll.
Every feature, free for 30 days. No card needed.Start free
Book a demoStart free trial
Help centre

WorkforceOS API and webhooks

Read employees, attendance, leave and payslips from your own tools, and get webhooks when things change.

TPThe Purple Bytes2026-10-252 min read
Try WorkforceOS free
In this article⌄
  1. Keys
  2. Endpoints
  3. Errors
  4. Webhooks

See it with your own team

Attendance, leave and payroll with SSF and TDS, set up for Nepal. Ask for a walkthrough or try it free.

Book a walkthroughStart free
In this article⌄
  1. Keys
  2. Endpoints
  3. Errors
  4. Webhooks

The WorkforceOS API lets your accounting software, spreadsheets or your own tools read your company's data, and webhooks tell them the moment something changes. It's in packages that include Public API and webhooks.

Keys

A Super Admin makes keys on the Integrations page. A key is shown once: copy it into your tool. Send it with every request:

curl https://app.workforceos.info/api/v1/employees \
  -H "Authorization: Bearer wfos_your_key"

A key can read everything listed below for your company, so treat it like a password. Revoke it on the Integrations page if it's ever shared by mistake. Each key can make 120 requests a minute.

Endpoints

RequestReturns
GET /api/v1/employeesCurrent employees: id, code, name, email, role, job title, department, manager, joining date. No salaries.
GET /api/v1/attendance?from=2026-10-01&to=2026-10-31Clock-ins and clock-outs on those Nepal days (up to 31 days), with worked minutes.
GET /api/v1/leave?from=2026-10-01&to=2026-12-31&status=APPROVEDLeave overlapping those days (up to a year). Status is optional: PENDING, APPROVED or REJECTED.
GET /api/v1/payslips?month=2026-10The approved payslips of a payroll month: basic, overtime, bonuses, tax, SSF, CIT, loan repayment and net pay, in NPR.

Dates are YYYY-MM-DD; times are ISO 8601 in UTC. Lists return { "data": [...], "nextCursor": "..." }: ask again with &cursor= and that value for the next page, and use &limit= (up to 500) to change the page size.

Errors

Errors come back as { "error": "what went wrong" } with status 400 (a wrong value), 401 (missing or revoked key), 402 (your access has ended), 403 (not in your package) or 429 (too many requests; wait a minute).

Webhooks

Add a webhook on the Integrations page with your https address and the events you want: employee.created, leave.approved, leave.rejected and payroll.approved. We send a POST with a JSON body like { "event": "leave.approved", "createdAt": "...", "data": { ... } }, and a header X-WorkforceOS-Signature: sha256=.... Check it with the signing secret shown when you added the webhook:

import crypto from "node:crypto";

// body: the raw request body as a string; header: X-WorkforceOS-Signature
function isFromWorkforceOS(body, header, secret) {
  const expected = "sha256=" + crypto.createHmac("sha256", secret).update(body).digest("hex");
  return header.length === expected.length && crypto.timingSafeEqual(Buffer.from(header), Buffer.from(expected));
}

Answer with any 2xx status within 5 seconds. "Send a test" on the Integrations page sends a ping event.

Questions or a missing endpoint? Write to contact@workforceos.info.

Share this

FacebookXLinkedInWhatsApp Email
TP

Written by

The Purple Bytes

The Purple Bytes builds WorkforceOS in Lalitpur, Nepal, and writes these guides from the questions Nepali employers ask us every week.

HR and payroll tips for Nepal, once a month.

Deadlines, rule changes and short how-tos. Nothing else.

Once a month. Leave any time by replying "stop".

Keep reading

  • 2026-10-31 · 1 min read

    Invoice PDFs, your logo, stamp and signature, and paper invoices

  • 2026-10-30 · 1 min read

    Bill your clients: quotations, invoices and payments

  • 2026-10-28 · 1 min read

    Finding your way around the app

See all help centre posts

Try WorkforceOS with your own team

Free trial, no card needed. Set up in an afternoon.

Start free trialBook a demo
WorkforceOS

Attendance, leave, payroll, projects and chat. One app for the whole team.

HR and payroll tips for Nepal, once a month

Once a month. Leave any time by replying "stop".

Features

Attendance and clock-inCompliance CenterDesktop monitoringHiring and onboardingLeave managementPassword vaultPayroll with SSF and TDSProjects and tasksSalary advances and staff loansSalary certificates and HR lettersShift and roster plannerTeam chat and video calls

Who it's for

AgenciesFactories and manufacturingIT companiesNGOs and INGOsSchools

Resources

BlogHelp centreWhat's newDashain allowance calculatorPricingvs separate HR, chat and project toolsvs spreadsheets
contact@workforceos.info+977 974-5941535Lalitpur, Nepal

WorkforceOS

© 2026 WorkforceOS · Made with 💜 by The Purple Bytes

Sign inSecurityStatusPrivacy PolicyTermsSitemap Back to top