SAMpeople and Arbor integration

This article will show you how to set up our 'write-back' integration between Arbor and SAMpeople (a Staff HR management system). Employee details, contracts and salaries, and absences entered into SAMpeople will flow back to Arbor, making SAMpeople the single source of truth for HR data.


  • School: User Accounts: Administer - Approve the API connection
  • Integrations: Administer All Integrations - Access the Integrations Administration page to set up the integration in Arbor

If you don't have the permission, you'll need to ask your admin team to give you permission using these instructions.


What is included in the integration?

The integration includes the following areas of Staff HR data:

  • Staff/Employee Profile
  • Staff/Employee Contract
  • Staff/Employee Contract Salary
  • Staff/Employee Absence

Data is synced to Arbor immediately after a change is made to one of the above areas in SAMpeople.

Field mapping

In each table, the column on the left shows the SAMpeople entity, and on the right is the Arbor entity.

Employee Staff or Person
Firstname LegalFirstName 
Surname LegalLastName  
PreferredFirstName Preferred FirstName
PreferredSurname PreferredLastName
SexId Gender
Title Title
Ethnicity Ethnicity
Religion Religion
Email address
WorkEmail WorkEmail (Set EmailAddressType to WORK) 
HomeEmail HomeEmail (Set EmailAddressType to PERSONAL)
Telephone number
HomeTel Home Telephone (Set TelephoneNumberTypeto HOME)
WorkTel Work Telephone (Set TelephoneNumberTypeto WORK)
HomeMobile Home Mobile (Set TelephoneNumberTypeto MOBILE)

Work Mobile (Set TelephoneNumberTypeto WORK_MOBILE)

Postal address
PostalAddress + PostAddressOccupancy
AddressLine1 Address1 
AddressLine2 Address2 
Town PostalTown 
County County 
Postcode PostalCode 
N/A PostalAddressType (Set PostalAddressType to HOME)
Staff contract
Position -> PositionName ContractName
Position -> PositionName ContractReference 
EmployeeContractType -> Description EmployeeType
EmployeeContract -> ContractStartDate Issued Date 
EmployeeContract -> ContractStartDate Issued Date 
EmployeeContract -> ContractStartDate Start Date 
EmployeeContract -> ContractEndDate End Date 
EmployeeContract -> ContractEndDate Expected End Date 
Employee -> Payroll Number Payroll Number 
Staff contract post
StaffContractPost + Position
Position -> PositionName JobTitle 
EmployeeContract -> ContractStartDate OfferedDate (contract start date)
EmployeeContract -> ContractStartDate AcceptedDate (contract start date)
EmployeeContract -> ContractStartDate StartDate
EmployeeContract -> ContractEndDate EndDate
Business role
EmployeeContract -> ContractStartDate StartDate
EmployeeContractSalary -> StartDate StartDate 
EmployeeContractSalary -> EndDate EndDate
Calculated field GrossSalary 
EmployeeContractSalary -> HoursPerWeek FTEHoursPerWeek 
EmployeeContractSalary -> WeeksPerYear FTEWeeksPerYear 
EmployeeContractSalary -> PayScaleCode PayScale

EmployeeContractSalary -> PayScalePointCode


EmployeeContractSalary -> CustomValue




Staff absence
StartDate StartDateTime
EndDate EndDateTime
AbsenceType -> ExternalId AbsenceCategory
IllnessCategory -> ExternalId SicknessCategory
Sum of AbsenceDays -> ContractDayPart WorkingDays
Sum of AbsenceDays -> ContractDayHours WorkingHours


Before setting up the integration

  • Check email addresses - Arbor stores email address once per address. If the SP employee in SAMpeople has the same email address for both Work and Home, only the Work email would be added.
  • Check Positions - Ensure the Employee Positions in SAMpeople are matched to the Position list in Arbor. If they don't match, data won't be written from SAMpeople into Arbor. See how to manage Positions here : Setting Positions, Position Categories and Census Business Roles for the Workforce Census.
  • Check business roles:Ensure the Business Role in Arbor links to the Position so staff are assigned a Business Role. If they are not, write back sync will succeed, but the staff member won’t be visible in the current staff list in Arbor.  Staff Positions in Arbor can be linked to Business Roles from the same positions page as detailed in the article linked above.
    • If you want the SAMpeople integration to automatically assign a business role to staff profiles created by the sync, Staff Positions in Arbor can be linked to Business Roles from the same positions page as detailed in the article linked above.
    • If you want to manually assign business roles or permissions in Arbor, new staff won't appear in current staff lists and won't be able to log in until they are given a business role: Adding a Business Role to a member of staff.
  • Consider restricting permissionsAs Staff profile data and Absence data will be controlled in SAMpeople when the integration is enabled, consider restricting user’s permissions to edit these areas in Arbor. You can do this by removing the permissions associated with a Business Role.


Setting up the integration

  1. First, ensure you have purchased the integration for use with Arbor. You can purchase this or check this by contacting your Arbor Account manager.
  2. Request that the integration is enabled by the FEPS support team, via or by creating a ticket in the FEPS support system.
  3. FEPS will send the request to your Arbor site. You can approve the integration from System > Partner Apps (API Users): Setting up and managing 3rd Party API Integrations

Checking for a Successful Write Back

In Arbor, you can check for a successful write back by looking at the Staff Profile and checking that the employee data from SAMpeople has either been added or updated in Arbor.

  • To see all staff absence data in Arbor, follow this article: Staff Absences
  • Absence data sent to Arbor can then be used to manage staff cover. Follow this article: Manage cover


Using the integration in Arbor

Once enabled in SAMpeople, all existing employees will be linked to the corresponding staff record in Arbor. This creates the Arbor ID in the background which is used as the unique identifier on subsequent edits to this data in SAMpeople.

  • Update staff details in SAMpeople and it will automatically pull through to Arbor.
  • Absences entered into SAMpeople will be immediately available in Arbor for cover purposes.

Top Tip: The Absence type of Sickness in SAMpeople will write back into the Arbor absence category Sickness Certification Unknown.

It is possible to record staff details in Arbor directly. It isn't possible to disable this, so please advise your staff to update in SAMpeople to ensure data is synced across both systems.


Further Support

Please contact the SAMpeople support team via or via

The SAMpeople team will contact Arbor’s API Support Team directly if needed.



What is a 'write-back' integration?

With this new write-back integration, SAMpeople is treated as the controlling system for Staff/HR/Salary/Absence data.  

Can staff absences be recorded in Arbor and synced back to SAMpeople?

No, when configured in write back mode, SAMpeople should be the source of truth for staff absence data. Staff absences recorded in SAMpeople will be synced back to Arbor. Arbor will then automatically generate Staff Cover requests. Alternatively, SAMpeople offers a read integration that reads data from Arbor and into SAMpeople, where Arbor is the source of truth for staff & absence. 

Which system (Arbor or SAMpeople) should the School Workforce Census be completed in??

The School Workforce Census can be completed in either Arbor or SAMpeople. 

How are Pay Scales updated in each system?

Pay Scales need to be updated in both Arbor and SAMpeople.

How frequently does data sync from SAMpeople to Arbor?

Data is synced to Arbor immediately after a change is made in SAMpeople.

Was this article helpful?
0 out of 0 found this helpful
I'm still stuck!



Article is closed for comments.