All connectors
Implemented
HR, recruitment & payroll

SeamlessHR

Read SeamlessHR (Nigeria, Africa) employees, direct reports, departments, job roles, contract types, leave and recruitment job postings. Read-only; sensitive HR fields are never mapped.

Feed Nigerian HR records, org structure, leave and open job requisitions from SeamlessHR into screening, access, workforce-planning and reporting flows without exposing pay, bank or personal data.

Source actions

17

Destination actions

0

Data types

14

Validation status

Implemented · fixture tested.

Implementation is checked against provider-shaped fixtures for every action, authentication failures, rate limits, pagination and duplicate safety. Provider sandbox and authorised account validation are recorded separately when credential-backed runs are completed.

What you can map

contract types
  • Get contract type
    Source

    Get a contract type by its name.

    contract_types.get
  • List contract types
    Source

    List employment contract types such as Full Time, Contract Staff or NYSC.

    contract_types.list
countries
  • List countries
    Source

    List countries used for job posting locations.

    countries.list
departments
  • List departments and org units
    Source

    List the company's departments, or directorates, divisions or units by org unit type.

    departments.list
direct reports
  • List direct reports
    Source

    List an employee's direct reports by employee code (never by email).

    direct_reports.list
employees on leave
  • List employees on leave
    Source

    List approved leave for a period (today by default), optionally for one department or org unit.

    employees_on_leave.list
employees
  • Get employee
    Source

    Get one employee's minimal work profile by staff ID (employee code).

    employees.get
  • List employees
    Source

    List employees with a minimal work profile, filtered by status, creation date, employment or exit date range, or a name or employee-code search.

    employees.list
job companies
  • List recruitment companies
    Source

    List the companies that publish jobs in the recruitment system.

    job_companies.list
job roles
  • List job roles
    Source

    List the company's job roles.

    job_roles.list
job specializations
  • List job specialisations
    Source

    List the specialisations used to categorise job postings.

    job_specializations.list
jobs
  • Get job posting
    Source

    Get one recruitment job posting by ID.

    jobs.get
  • List job postings
    Source

    List recruitment job postings (requisitions) by status, search text, work style, location or job type.

    jobs.list
leave balances
  • Get leave balance
    Source

    Get an employee's balance for one leave type, for the current or a given year.

    leave_balances.get
leave policies
  • List leave policies
    Source

    List leave policies (leave types) and their rules.

    leave_policies.list
leave requests
  • List leave requests
    Source

    List leave requests for the company or one employee, optionally only pending, current or upcoming leave.

    leave_requests.list
states
  • List states
    Source

    List the states of a country, used for job posting locations.

    states.list

Authentication

Client ID and client secret (x-client-id / x-client-secret headers)

Plans and access

SeamlessHR customers (Africa, primarily Nigeria) with API access enabled for their company. Client ID and client secret are issued by SeamlessHR on request (support@seamlesshr.com) and grant company-wide access to the modules enabled for them.

Test environment

SeamlessHR documents a test environment at api-sandbox.seamlesshr.app; request sandbox credentials from support@seamlesshr.com.

Rate limits

SeamlessHR does not publish numeric limits. Its docs say rate limiting is usually returned as HTTP 503 with a Retry-After header; Nexra treats that as a rate limit and backs off. HTTP 429 is documented as the employee-limit error when adding employees, which this connector never does.

Pagination

Employees use page and limit (default 10). Job postings return 10 per page with meta.current_page and meta.last_page. Leave requests, employees on leave and leave policies return a meta paginator; Nexra sends page while meta reports more pages. Org, contract type and reference lists are single pages.

Provider events

SeamlessHR webhooks for employee created, updated and deactivated, birthdays, work anniversaries and leave request events, signed with HMAC SHA-512 in x-seamlesshr-signature. The webhook URL is configured by SeamlessHR. Nexra event triggers are not yet available; flows run on demand or on a schedule.

Before you build a flow

  • Read-only. Adding, updating, activating, deactivating or exiting employees, creating or updating departments, job roles and contract types, loans, payments, attendance sync and performance (KPIs, objectives) writes are intentionally not implemented. Deletes are never implemented.
  • The public recruitment (RMS) API covers job postings, companies, specialisations, countries and states only. Candidates, applicants, applications, stages, notes, offers and hires are not in the public API, so they cannot be read or written; no rejection, stage move, offer or hire is automated.
  • Sensitive fields are never mapped: salary, net pay, pay group and grade, bank and account numbers, pension and tax PINs, loans, date of birth, age, sex, marital status, religion, state of origin, personal email, phone numbers, addresses, next of kin, qualifications, experience, photos, exit reasons and remarks, and leave reasons or proof documents. Birthdays, pay groups, payroll, ledger and pay-item endpoints are not used.
  • Email addresses and phone numbers are never sent in URLs: direct reports are looked up by employee code only, and employee search refuses values that contain @ or look like phone numbers.
  • No updated-since filter is documented. Employees can be filtered by creation date (date) and by employment or exit date ranges.
  • Departments, job roles and contract types have no numeric ID in the API; Nexra uses the department or job role code when set, otherwise the name, and the contract type title.
  • Date-range filters are sent as indexed array parameters (employment_date[0], employment_date[1]); SeamlessHR documents the employment_date[] form, which PHP parses identically. Not yet verified on a live account.
  • The page parameter for leave requests, employees on leave and leave policies is inferred from the meta paginator the docs show; it is not listed as a parameter. Without meta, these lists return a single page.
  • Get employee puts the staff ID in the URL path, so staff IDs containing a slash (for example ADV/FTE/22/09) are refused; find them with List employees and search.
  • The employee page-size maximum is not documented; Nexra caps limit at 100.
  • Locations: there is no locations or branches endpoint. Employee records include branch, region and deployed state, and RMS countries and states give job-posting locations. Whether other org unit tags (for example branch) are accepted is not documented.
  • RMS endpoints are documented for career pages; whether a client credential sees every job state (DRAFT, SUSPENDED) depends on SeamlessHR's configuration.

Developer reference

  1. Create the SeamlessHR credentials described above with the narrowest permissions your flows need.
  2. In Nexra, open Connect, then Connections, then New connection, choose SeamlessHR, enter its settings and credentials, and tick only the write actions you need. Connection guide
  3. Test the connection, then use its actions as flow sources and destinations. Flow guide

Machine-readable detail: GET /api/public/connect/connectors/seamlesshr and the Connections API.