Integrate your customer data with a your/your customers' HR software using the API v2 Feeds

Steps to integrate your training data with your HR software

 


Related Help Guide Pages

Learn how to use the API Feeds to integrate your training data with your HR System.

Please Note

The API V2 feeds are not yet available, this documentation is available now to support any preparation for future integrations using the feeds.

Integrating your accessplanit platform with your or your customers' HR software can significantly enhance workforce management and customer relationship capabilities. By synchronising your systems, you can ensure that customer data (including training records, certifications, and employee profiles) seamlessly integrates with HR software. This integration reduces duplicate data entry, and enhances data accuracy, which could save your team hours and greatly reduce the chance of human error.

Automating the transfer of customer training and certification data to HR systems streamlines employee onboarding, development, and compliance tracking processes. Real-time updates on employee training progress and qualifications enable HR teams to make informed decisions quickly, ensuring regulatory compliance and workforce readiness!

As your organisation or your customers' businesses grow, the scalability of this integration supports handling increasing volumes of customer data and employee records efficiently. This automation not only simplifies administrative tasks but also enhances customer satisfaction by providing comprehensive and integrated workforce management solutions.

hr.png

While there are a number of different ways to integrate your training data between your accessplanit platform and your HR software, this guide will focus on how to complete this integration using the accessplanit API v2 feeds. APIs give you real-time access to your data, they keep information consistent, and can grow with your needs, supporting custom data elements. Overall, APIs are a reliable and flexible way to link different systems and services together, making everything work together more easily.

Follow this page to learn the steps to integrate the training data in your accessplanit platform with your HR software using the accessplanit v2 API Feeds.


1. Prerequisites

Before you start planning the details your integration, we recommend that you make sure you have everything you need for an integration

The following steps should be followed:

  • Ensure your meeting software supports Integrations via an API

  • Explore your options for how your integration will be created (who will be developing it)

Ensure your connecting software supports Integrations via an API

Before you begin planning your integration, we recommend confirming that your HR software will support the integration.

To confirm that an integration is possible, you should work with an internal expert or product owner, or your key contact from your HR software. Here are several areas to confirm:

  • Check that the software is capable of supporting API integrations, this includes ensuring it can handle HTTP requests, and it supports data in a JSON data format.

  • Check if there are any additional licences/fees or permissions required to set up an integration using APIs

Explore your options for how your integration will be created (who will be developing it)

Review your options for who could develop this integration for you; you may have an internal development team, an external third party that you have worked with before, or your meeting software supplier may have developer recommendations or be able to complete the integration themselves.

Here are a few of the considerations when deciding who will work on your integration:

  • Experience
    Working with a developer who has worked with HR systems previously is a benefit, particularly if they have experience with your specific HR software and/or accessplanit. They should be proficient in JSON and REST.

  • Quote and pricing models
    While it is unlikely that you will be able to request a quote at this stage, understanding their pricing model is important to know, some developers will charge a fixed price for a project, whereas others will charge a daily rate. Ensure that you are aware of what this quote includes, as some quotes also factor in additional services and support.

  • Reputation/reviews
    If it is your first time working with a third party developer, you may wish to ask for their reviews and/or testimonials.

  • Development process
    Understanding what methodology the developer follows helps to ensure their approach will fit into your process, for example if you need to be able to re-evaluate approaches and iterate throughout the project a ‘waterfall’ approach would not be suitable.

  • Timeline
    Understanding the developers availability and lead times is the first step to knowing if they will be able to deliver within your project timeframes, once you have scoped the integration during the next phase in 'planning' you will be able to confirm this.

  • Support
    Understand what support will be available to you post-launch (this should include technical assistance and bug fixes), and whether there are any additional charges for these services.

 


2. Planning your integration

There are two key steps for planning your website integration:

  • Understand common set-ups and best practice

  • Define what and how data will be shared within your integration

Understand common set-ups and best practice

Depending on your requirements, there are up to [x] key processes that can be automated for [what] integrations:

  • User details integration
    When you have new employees (Users) or changes to your employees, such as change of contact details or job titles, these changes should be shared between your accessplanit platform and your HR system.

  • Delegate integration
    Details of the Delegates that register for their Courses in your accessplanit platform can be passed to your HR system, alongside the details of these Courses such as the date/time and location.

  • User Award integration
    User Award integration is often two-way between a TMS (such as accessplanit) and a HR system, details of targeted awards for Users can be sent from the HR system to your accessplanit platform, and as Delegates complete their Awards the details of these completions and expiry dates are provided back to the HR system for visibility.

  • Job Role integration
    Sharing Job Role details, including which Users have been assigned certain Job Roles between your HR system and your accessplanit platform.

image-20240625-075951.png

 

Here are recommendations for each of the above processes, including example filters and data to use with each. For your integration planning, please note these examples are not exhaustive and additional data is available in each of the available endpoints.

 

a. New User is created in accessplanit

Process triggered

Automatically (via web-hooks), as soon as a User has been created

Filter criteria

  • Only Users with a status of ‘Enabled’ or ‘New’

  • Example optional filter: Only Users allocated to a specific Companies

Data included

Use accessplanit API v2 endpoints:

  • User

Recommended data fields to include:

  • ID (Unique ID of the User e.g. jasmit)

  • Forenames (User’s first name e.g. James)

  • Surname (User’s last name e.g. Smith)

  • ExternalID (ID of the User as it is stored in another platform, this could be the ID used for the User in the HR system)

  • MainCompanyID (Unique ID of the User’s Main Employment Company e.g. DOEV908E)

  • MainCompanyName (Name of the User’s Main Employment Company e.g. Douglas Group)

  • MainRoleID (ID of the User’s main level of access in the accessplanit platform)

  • MainRoleLabel (Label of the User’s main level of access in the accessplanit platform)

  • JobTitle (free text label for the User’s job)

  • Status (Status of the User e.g. Enabled)

  • DateCreated (Date & Time the User was created e.g. 2025-02-22T11:01:38.17)

  • FullAddress (User’s main address e.g. 1 Main Street<br />Lancaster<br />Lancashire<br />United Kingdom<br />LA1 1AB)

  • Email (User’s main email address)

  • Phone (User’s phone number)

  • Mobile (User’s mobile number)

  • MarketingOptIn (If the user has opted into receive marketing communications e.g. true)

 

 

b. New User is created in the HR system

Process triggered

Automatically, as soon as a the User is created in the HR system

Filter criteria

n/a

Data included

Use accessplanit API v2 endpoints, make a POST request to:

  • User

Recommended data fields to include:

  • Forenames (User’s first name e.g. James)

  • Surname (User’s last name e.g. Smith)

  • ExternalID (ID of the User as it is stored in another platform, this could be the ID used for the User in the HR system)

  • MainCompanyID (Unique ID of the User’s Main Employment Company e.g. DOEV908E)

  • MainRoleID (ID of the User’s main level of access in the accessplanit platform)

  • JobTitle (free text label for the User’s job)

  • Status (Status of the User e.g. Enabled)

  • Address (User’s Main address e.g. 1 Main Street)

  • Town (User’s Main Town e.g. 1 Lancaster)

  • County (User’s Main County e.g. Lancashire)

  • Postcode (User’s Main Postal/Zip code e.g. LA1 1AB)

  • Country (User’s Main Country e.g. United Kingdom)

  • Email (User’s main email address)

  • Phone (User’s phone number)

  • Mobile (User’s mobile number)

  • MarketingOptIn (If the user has opted into receive marketing communications e.g. true)

 

 

c. Existing User is updated in accessplanit

Process triggered

Automatically (via web-hooks), as soon as a User has been updated

Filter criteria

  • Only Users with a status of ‘Enabled’ or ‘New’

  • Example optional filter: Only Users allocated to a specific Companies

Data included

Use accessplanit API v2 endpoints:

  • User

Recommended data fields to include:

  • ID (Unique ID of the User e.g. jasmit)

  • Forenames (User’s first name e.g. James)

  • Surname (User’s last name e.g. Smith)

  • ExternalID (ID of the User as it is stored in another platform, this could be the ID used for the User in the HR system)

  • MainCompanyID (Unique ID of the User’s Main Employment Company e.g. DOEV908E)

  • MainCompanyName (Name of the User’s Main Employment Company e.g. Douglas Group)

  • MainRoleLabel (Label of the User’s main level of access in the accessplanit platform)

  • Status (Status of the User e.g. Enabled)

  • JobTitle (free text label for the User’s job)

  • DateUpdated (Date & Time the User was updated e.g. 2025-02-22T11:01:38.17)

  • FullAddress (User’s main address e.g. 1 Main Street<br />Lancaster<br />Lancashire<br />United Kingdom<br />LA1 1AB)

  • Email (User’s main email address)

  • Phone (User’s phone number)

  • Mobile (User’s mobile number)

  • MarketingOptIn (If the user has opted into receive marketing communications e.g. true)

 

d. Existing User is updated in the HR system

Process triggered

Automatically, as soon as a the User is updated in the HR system

Filter criteria

n/a

Data included

Use accessplanit API v2 endpoints, make a PUT request to:

  • User (using the Unique ID of the User e.g. jasmit)

Recommended data fields to include:

  • ID (Unique ID of the User e.g. jasmit)

  • Forenames (User’s first name e.g. James)

  • Surname (User’s last name e.g. Smith)

  • ExternalID (ID of the User as it is stored in another platform, this could be the ID used for the User in the HR system)

  • MainCompanyID (Unique ID of the User’s Main Employment Company e.g. DOEV908E)

  • MainRoleID (ID of the User’s main level of access in the accessplanit platform)

  • Status (Status of the User e.g. Enabled)

  • JobTitle (free text label for the User’s job)

  • Address (User’s Main address e.g. 1 Main Street)

  • Town (User’s Main Town e.g. 1 Lancaster)

  • County (User’s Main County e.g. Lancashire)

  • Postcode (User’s Main Postal/Zip code e.g. LA1 1AB)

  • Country (User’s Main Country e.g. United Kingdom)

  • Email (User’s main email address)

  • Phone (User’s phone number)

  • Mobile (User’s mobile number)

  • MarketingOptIn (If the user has opted into receive marketing communications e.g. true)

 

e. User makes a Course request in accessplanit

Process triggered

Automatically (via web-hooks), as soon as…. meets the filter criteria

Filter criteria

Only Delegates with a status of Provisional

Only Delegates registered onto Courses with a start date in the future

Data included

Use accessplanit API v2 endpoints:

  • UserCourseDate

  • ManagerUserCourseDateAuthorisation (provides an overview of Delegates requiring authentication)

Recommended UserCourseDate data fields to include:

  • CourseDateID (Unique ID of the Course Date e.g. 12368)

  • CourseDateDetailsLabel (Label/name and date of the Course e.g. First Aid at Work: 31/01/2025 09:00 - 19:55)

  • CourseDateStartDate (Start date & time of the Course e.g. 31/01/2025 09:00 - 19:55)

  • ID (Unique ID of the Delegate e.g. pebrid~12368)

  • UserID (Unique ID of the User e.g. pebrid)

  • UserFullName (Full name of the User/Delegate e.g. Peter Bridge)

  • CandidateEmailAddress (Email address of the User/Delegate e.g. pd1987@email.com)

  • Status (Delegate status on the Course e.g. ‘Completed’)

  • CompanyID (Unique ID of the Company/Account the User has booked with)

  • CompanyName (Name of the Company/Account the User has booked with)

  • ManagersEmailAddresses (Email address of the User’s manager(s))

  • DateCreated (Date & Time the Delegate was created, e.g. 2025-02-22T11:01:38.17)

  • Description (Name of the Delegate, Course, and Course Date, e.g. James Smith- First Aid at Work: 06/12/2025 09:00 - 07/12/2025 13:15)

Recommended ManagerUserCourseDateAuthorisation data fields to include:

  • UserID (Unique ID of the User e.g. pebrid)

  • UserForenames (First name of the User/Delegate e.g. Peter)

  • UserSurname (Last name of the User/Delegate e.g. Bridge)

  • CourseName

  • CourseDateStartDate

  • CourseDateEndDate

  • VenueName

 

f. Course request is approved in the HR system

Process triggered

Automatically, as soon as a the request is approved or rejected in the HR system

Filter criteria

n/a

Data included

Use accessplanit API v2 endpoints, make a PUT request to:

  • UserCourseDate

Recommended UserCourseDate data fields to set:

  • Status (set to ‘Booked’)

 

g. Delegate is registered onto a Course in accessplanit

Process triggered

Automatically (via web-hooks), as soon as a Delegate has been registered

Filter criteria

Recommended criteria:

  • Only Delegates with a status of ‘Booked', ‘Provisional’, ‘In Progress’, and 'Completed’

  • Example optional filter: Only Delegates allocated to a specific Companies

  • Example optional filter: Only Delegates allocated to a specific Training Providers

  • Example optional filter: Only Delegates allocated to a specific Courses

Data included

Use accessplanit API v2 endpoints:

  • UserCourseDate

Recommended data fields to include:

  • CourseDateID (Unique ID of the Course Date e.g. 12368)

  • CourseDateDetailsLabel (Label/name and date of the Course e.g. First Aid at Work: 31/01/2025 09:00 - 19:55)

  • CourseDateStartDate (Start date & time of the Course e.g. 31/01/2025 09:00 - 19:55)

  • ID (Unique ID of the Delegate e.g. pebrid~12368)

  • UserID (Unique ID of the User e.g. pebrid)

  • UserFullName (Full name of the User/Delegate e.g. Peter Bridge)

  • CandidateEmailAddress (Email address of the User/Delegate e.g. pd1987@email.com)

  • Status (Delegate status on the Course e.g. ‘Completed’)

  • DateCreated (Date & Time the Delegate was created, e.g. 2025-02-22T11:01:38.17)

  • Description (Name of the Delegate, Course, and Course Date, e.g. James Smith- First Aid at Work: 06/12/2025 09:00 - 07/12/2025 13:15)

 

 

h. Delegate is updated in accessplanit

Process triggered

Automatically (via web-hooks), as soon as the Delegate meets the filter criteria

Filter criteria

  • The Delegate’s ‘date updated’ has changed

  • Example optional filter: Only Delegates allocated to a specific Companies

  • Example optional filter: Only Delegates allocated to a specific Training Providers

  • Example optional filter: Only Delegates allocated to a specific Courses

Data included

Use accessplanit API v2 endpoints:

  • UserCourseDate

Recommended data fields to include:

  • CourseDateID (Unique ID of the Course Date e.g. 12368)

  • ID (Unique ID of the Delegate e.g. pebrid~12368)

  • UserID (Unique ID of the User e.g. pebrid)

  • UserFullName (Full name of the User/Delegate e.g. Peter Bridge)

  • CandidateEmailAddress (Email address of the User/Delegate e.g. pd1987@email.com)

  • Status (Delegate status on the Course e.g. ‘Cancelled’)

  • DateCreated (Date & Time the Delegate was created, e.g. 2025-02-22T11:01:38.17)

  • Description (Name of the Delegate, Course, and Course Date, e.g. James Smith- First Aid at Work: 06/12/2025 09:00 - 07/12/2025 13:15)

 

i. User is Targeted to complete an Award

Process triggered

Automatically via web-hooks, as soon as the User is allocated the User Award Target

Filter criteria

  • UserAwards with a status of ‘Target’ only

  • Example optional filter: Only UserAwards with a target date in the future

Data included

Use accessplanit API v2 endpoints:

  • UserAward

Recommended data fields to include:

  • AwardID (Unique ID of the Award e.g. HOWTOILEoB)

  • AwardLabel (Label of the Award, e.g. Safety at Heights Level 1)

  • TargetDate (Date the user is targeted to achieve the Award by e.g. 2026-06-25T00:00:00)

  • UserID (Unique ID of the User targeted to achieve the Award e.g. jasmit)

  • UserFullname (Full name of the User targeted to achieve the Award e.g. Jack Smith)

 

j. User Achieves an Award

Process triggered

Automatically (via web-hooks), as soon as the User Award meets the filter criteria

Filter criteria

  • UserAwards with a status of ‘Completed’ only

  • Example optional filter: Only UserAwards with a expiry date in the future

Data included

Use accessplanit API v2 endpoints:

  • UserAward

Recommended data fields to include:

  • AwardID (Unique ID of the Award e.g. HOWTOILEoB)

  • AwardLabel (Label of the Award, e.g. Safety at Heights Level 1)

  • UserID (Unique ID of the User targeted to achieve the Award e.g. jasmit)

  • UserFullname (Full name of the User targeted to achieve the Award e.g. Jack Smith)

  • CompletedDate (Date the user is achieved the Award by e.g. 2026-06-25T00:00:00)

  • ExpiryDate (Date the user’s award will expire e.g. 2026-12-25T00:00:00)

 

k. Users Award Expires

Process triggered

Automatically (via web-hooks), as soon as the User Award meets the filter criteria

Filter criteria

  • UserAwards with a status of ‘Completed’ only

  • UserAwards with an expiry date in the past

  • Example optional filter: Only UserAwards that have not been renewed

Data included

Use accessplanit API v2 endpoints:

  • UserAward

Recommended data fields to include:

  • AwardID (Unique ID of the Award e.g. HOWTOILEoB)

  • AwardLabel (Label of the Award, e.g. Safety at Heights Level 1)

  • UserID (Unique ID of the User targeted to achieve the Award e.g. jasmit)

  • UserFullname (Full name of the User targeted to achieve the Award e.g. Jack Smith)

  • CompletedDate (Date the user is achieved the Award by e.g. 2026-06-25T00:00:00)

  • ExpiryDate (Date the user’s award will expire e.g. 2026-12-25T00:00:00)

  • Renewed (If the User has since renewed / achieved the award again)

  • Renewing (If the User is booked onto a Course to renew / achieve the award again)

 

l. New Job Role is created in accessplanit

Process triggered

Every hour via a GET request

Filter criteria

n/a

Data included

Use accessplanit API v2 endpoints:

  • UserType

Recommended data fields to include:

  • ID (Unique ID of the Job Role e.g. LIFEG)

  • Label (Name of the Job Role e.g. Lifeguard)

  • Description (Free text description of the Job Role)

 

m. New Job Role is created in the HR system

Process triggered

Automatically, as soon as a the Job Role is created in the HR system

Filter criteria

n/a

Data included

Use accessplanit API v2 endpoints, make a POST request to:

  • UserType

Recommended UserCourseDate data fields to set:

  • Label (Name of the Job Role e.g. Lifeguard)

  • Description (Free text description of the Job Role)

 

n. User is assigned to a Job Role in accessplanit

Process triggered

Every hour via a GET request

Filter criteria

n/a

Data included

Use accessplanit API v2 endpoints:

  • UserUserType

Recommended data fields to include:

  • ID (ID of the User having this Job Role e.g. 2)

  • UserTypeID (Unique ID of the Job Role, e.g. LIFEG)

  • UserTypeLabel (Label of the Job Role, e.g. Lifeguard)

  • StartDate (Date the User starts in this role, e.g. "2024-06-26T12:45:00")

  • EndDate (Date the User ends in this role, e.g. "2027-06-30T12:45:00")

  • UserID (Unique ID of the User, e.g. pebrid)

  • UserName (Name of the User, e.g. Peter Bridge)

  • MainUserType (If this is the User’s main Job Role, e.g. true)

  • CompanyID (Unique ID of the Company/Account that the User is doing this job with)

  • CompanyName (Name of the Company/Account that the User is doing this job with)

 

o. User is assigned to a Job Role in the HR system

Process triggered

Automatically, as soon as a the User is allocated to the Job Role in the HR system

Filter criteria

n/a

Data included

Use accessplanit API v2 endpoints:

  • UserUserType

Recommended data fields to include:

  • UserTypeID (Unique ID of the Job Role, e.g. LIFEG)

  • StartDate (Date the User starts in this role, e.g. "2024-06-26T12:45:00")

  • EndDate (Date the User ends in this role, e.g. "2027-06-30T12:45:00")

  • UserID (Unique ID of the User, e.g. pebrid)

  • MainUserType (If this is the User’s main Job Role, e.g. true)

  • CompanyID (Unique ID of the Company/Account that the User is doing this job with)

 

 

 

Define what and how data will be shared within your integration

Once you have reviewed the common set-ups and best practice for [what] integrations above, you should define the inputs and output for integrating your courses into your website.

Work with your [development] team to define your integration! Here are the steps to follow for each process you want to integrate:

  • How will your integration for this process be triggered?
    Will it be triggered based on something being created or updated, e.g. when an [what] is marked as ‘Advertised’? Or will it be triggered periodically, such as once a day or once an hour?

  • Should any filters be applied?
    Decide ….

  • What specific data should be shared and in what format?
    What information about your [what] would you like to push to your [what software]?

 

 


3. Developing & testing your integration

Development

Please see our dedicated developer guide to access information and guidance for working with the API v2 feeds: API v2 - Developer Resources

Testing

Depending on your development methodology, we recommend to start testing early and continue to test during the development phase, rather than leaving testing to the very end of the project. Incorporating a combination of testing types; including Unit Tests, Integration Tests, and Functionality/UAT testing is important to ensure everything is working as expected.

During your Functional testing phase, you will test your integration against it's specific functionality requirements, this testing can be combined with User Acceptance Testing (UAT) which is where your users will complete tests using real-world data to test the integration. Within this tests you should include both valid and invalid data, to ensure correct information is successful, and incorrect information fails.


FAQs

  • Is the data provided by the API v2 feeds in real-time?
    Yes, each API GET request you make will return real time data for that moment.

  • Can I access historical data in the API v2 feeds?
    Yes, you can adjust your filters of your request to include or exclude historical data.

  • What data formats are supported by the API v2?
    JSON

  • How is the data transmitted via the API to keep it secure?
    The APIs can only be accessed by users with API permissions, additionally the range of access is them limited by roles, this means that not every API User can access all endpoints.

  • How do I get access to the API v2 feeds?
    Your initial API Access will be granted alongside the module purchase.
    For any additional API Users please speak to your Optimise CSM and they will ensure your access is set up promptly.

 


Support

 

 

 

 


Contact Our Team

If you can't find what you're looking for, access our Support Portal, and our team of experts will be happy to help!

Is it your first time contacting the team? Learn how to raise a support ticket.

Follow Us

Facebook|height=20 LinkedIn|height=20 Instagram|height=20 Twitter|height=20

Copyright © 2024 accessplanit.

Social medial icons by icons8.com