Integrate your customer data with your CRM using the API v2 Feeds

Integrate your customer data with your CRM using the API v2 Feeds

Learn how to use the API Feeds to integrate your customer details with your CRM platform.

There are many reasons you might want to integrate your accessplanit platform with a CRM to manage your customer data effectively. By synchronising your systems, you can ensure that customer information is always up-to-date in both platforms, reducing the need for manual data entry and minimising the risk of errors. This not only saves valuable time for your team but also helps maintain data accuracy.

Keeping your account managers informed with real-time data updates allows them to provide better service to your customers, and make informed decisions quickly, enhancing your overall customer relationship strategy! Additionally, automating data synchronisation between your accessplanit platform and your CRM can significantly reduce human error, leading to more reliable customer insights and improved relationship management.

As your business grows, the scalability of an integration with your CRM system enables you to manage an increasing volume of customer data and interactions efficiently.

crm.png

While there are a number of different ways to integrate your customer data between your accessplanit platform and your CRM 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 customer data in your accessplanit platform with your CRM 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 CRM 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 CRM. 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 CRMs previously is a benefit, particularly if they have experience with your specific CRM 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

In this step you will work with your developer to plan 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 3 key processes that can be automated for CRM integrations:

  • Account / Company Integration
    When your customer base changes; such as new customers (Accounts/Companies) being created, existing customers being updated or deleted, these changes should be shared between your accessplanit platform and your CRM

  • User Integration
    When your customers have changes to their employees (Users); such as new key contacts/Users being created, existing Users are updated or deleted, these changes should be shared between your accessplanit platform and your CRM

  • Booking / Activity Integration
    Account activity recorded in your accessplanit platform, such as bookings and notes, should be shared with your CRM

image-20240615-105824.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 Account is created in accessplanit Process triggered Automatically (via web-hooks - coming soon), as soon as an Account has been created Filter criteria Only Companies with a status of ‘Enabled’ or ‘New’ Example optional filter: Only Companies allocated to a specific Company Group Data included Use accessplanit API v2 endpoints: Company Recommended data fields to include: ID (Unique ID of the Company e.g. DOEV908E) Name (Name of the Company e.g. Douglas Group) ExternalID (ID of the Company as it is stored in another platform, this could be the ID used for the Company in the CRM) CompanyGroupNames (Groups this Company is allocated to e.g. Enterprise, Key Accounts) DateCreated (Date & Time the Company was created e.g. 2025-02-22T11:01:38.17) Status (Status of the Company e.g. Enabled) Phone (Company’s phone number) Email (Company’s main email address) FullAddress (Company’s main address e.g. 1 Main Street<br />Lancaster<br />Lancashire<br />United Kingdom<br />LA1 1AB) BillingAddress, BillingTown, BillingCounty, BillingCountry, BillingPostcode, BillingEmail, BillingPhone (Company’s billing address fields) ShippingAddress, ShippingTown, ShippingCounty, ShippingCountry, ShippingPostcode, ShippingPhone (Company’s shipping address fields) MainContactUserLabel (Name of the main contact for the customer) AccountManagerName (Name of the internal contact looking after the customer) Account Custom Fields For powerful and customised integrations, in addition to the above recommended fields, you can also access all of your Account-based Custom Fields directly using the above feed. b. New Account is created in the CRM Process triggered Automatically, as soon as an Account has been created in the CRM Filter criteria n/a Data included Use accessplanit API v2 endpoints, make a POST request to: Company Recommended data fields to include: Name (Name of the Company e.g. Douglas Group) ExternalID (ID of the Company as it is stored in another platform, this could be the ID used for the Company in the CRM) CompanyGroupIDs (Groups this Company is allocated to e.g. HEADGROUP) Status (Status of the Company e.g. Enabled) Phone (Company’s phone number) Email (Company’s main email address) Address (Company’s Main address e.g. 1 Main Street) Town (Company’s Main Town e.g. 1 Lancaster) County (Company’s Main County e.g. Lancashire) Postcode (Company’s Main Postal/Zip code e.g. LA1 1AB) Country (Company’s Main Country e.g. United Kingdom) BillingAddress, BillingTown, BillingCounty, BillingCountry, BillingPostcode, BillingEmail, BillingPhone (Company’s billing address fields) ShippingAddress, ShippingTown, ShippingCounty, ShippingCountry, ShippingPostcode, ShippingPhone (Company’s shipping address fields) MainContactUserID (ID of the main contact for the customer) AccountManagerID (ID of the internal contact looking after the customer) Account Custom Fields For powerful and customised integrations, in addition to the above recommended fields, you can also access all of your Account-based Custom Fields directly using the above feed. c. Existing Account is updated in accessplanit Process triggered Automatically (via web-hooks - coming soon), as soon as an Account has been updated Filter criteria Only Companies with a status of ‘Enabled’ or ‘New’ Example optional filter: Only Companies allocated to a specific Company Group Data included Use accessplanit API v2 endpoints: Company Recommended data fields to include: ID (Unique ID of the Company e.g. DOEV908E) Name (Name of the Company e.g. Douglas Group) ExternalID (ID of the Company as it is stored in another platform, this could be the ID used for the Company in the CRM) CompanyGroupNames (Groups this Company is allocated to e.g. Enterprise, Key Accounts) DateUpdated (Date & Time the Company was last updated e.g. 2025-02-26T11:01:38.17) Status (Status of the Company e.g. Enabled) Phone (Company’s phone number) Email (Company’s main email address) FullAddress (Company’s main address e.g. 1 Main Street<br />Lancaster<br />Lancashire<br />United Kingdom<br />LA1 1AB) BillingAddress, BillingTown, BillingCounty, BillingCountry, BillingPostcode, BillingEmail, BillingPhone (Company’s billing address fields) ShippingAddress, ShippingTown, ShippingCounty, ShippingCountry, ShippingPostcode, ShippingPhone (Company’s shipping address fields) MainContactUserLabel (Name of the main contact for the customer) AccountManagerName (Name of the internal contact looking after the customer) d. Existing Account is updated in the CRM Process triggered Automatically, as soon as an Account has been updated in the CRM Filter criteria n/a Data included Use accessplanit API v2 endpoints, make a PUT request to: Company (using the Unique ID of the Company e.g. DOEV908E) Recommended data fields to include: ID (Unique ID of the Company e.g. DOEV908E) Name (Name of the Company e.g. Douglas Group) ExternalID (ID of the Company as it is stored in another platform, this could be the ID used for the Company in the CRM) CompanyGroupIDs (Groups this Company is allocated to e.g. HEADGROUP) Status (Status of the Company e.g. Enabled) Phone (Company’s phone number) Email (Company’s main email address) Address (Company’s Main address e.g. 1 Main Street) Town (Company’s Main Town e.g. 1 Lancaster) County (Company’s Main County e.g. Lancashire) Postcode (Company’s Main Postal/Zip code e.g. LA1 1AB) Country (Company’s Main Country e.g. United Kingdom) BillingAddress, BillingTown, BillingCounty, BillingCountry, BillingPostcode, BillingEmail, BillingPhone (Company’s billing address fields) ShippingAddress, ShippingTown, ShippingCounty, ShippingCountry, ShippingPostcode, ShippingPhone (Company’s shipping address fields) MainContactUserID (ID of the main contact for the customer) AccountManagerID (ID of the internal contact looking after the customer) e. Existing Account is deleted in accessplanit Process triggered Automatically (via web-hooks - coming soon), as soon as an Account has been deleted Filter criteria Company has been deleted Data included Use accessplanit API v2 endpoints: Company Recommended data fields to include: ID (Unique ID of the Company e.g. DOEV908E) f. Existing Account is deleted in the CRM Process triggered Automatically, as soon as an Account has been deleted in the CRM Filter criteria n/a Data included Use accessplanit API v2 endpoints, make a DELETE request to: Company (using the Unique ID of the Company e.g. DOEV908E) Recommended data fields to include: ID (Unique ID of the Company e.g. DOEV908E) g. New User is created in accessplanit Process triggered Automatically (via web-hooks - coming soon), 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 CRM) 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) 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) BillingAddress, BillingTown, BillingCounty, BillingCountry, BillingPostcode, BillingEmail, BillingPhone (User’s billing address fields) ShippingAddress, ShippingTown, ShippingCounty, ShippingCountry, ShippingPostcode, ShippingPhone (User’s shipping address fields) User Custom Fields For powerful and customised integrations, in addition to the above recommended fields, you can also access all of your User-based Custom Fields directly using the above feed. h. New User is created in the CRM Process triggered Automatically, as soon as a User has been created in the CRM 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 CRM) 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) 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) BillingAddress, BillingTown, BillingCounty, BillingCountry, BillingPostcode, BillingEmail, BillingPhone (User’s billing address fields) ShippingAddress, ShippingTown, ShippingCounty, ShippingCountry, ShippingPostcode, ShippingPhone (User’s shipping address fields) User Custom Fields For powerful and customised integrations, in addition to the above recommended fields, you can also access all of your User-based Custom Fields directly using the above feed. i. Existing User is updated in accessplanit Process triggered Automatically (via web-hooks - coming soon), 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 CRM) 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) 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) BillingAddress, BillingTown, BillingCounty, BillingCountry, BillingPostcode, BillingEmail, BillingPhone (User’s billing address fields) ShippingAddress, ShippingTown, ShippingCounty, ShippingCountry, ShippingPostcode, ShippingPhone (User’s shipping address fields) j. Existing User is updated in the CRM Process triggered Automatically, as soon as a User has been updated in the CRM 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 CRM) 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) 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) BillingAddress, BillingTown, BillingCounty, BillingCountry, BillingPostcode, BillingEmail, BillingPhone (User’s billing address fields) ShippingAddress, ShippingTown, ShippingCounty, ShippingCountry, ShippingPostcode, ShippingPhone (User’s shipping address fields) k. Existing User is deleted in accessplanit Process triggered Automatically (via web-hooks - coming soon), as soon as a User has been deleted Filter criteria User has been deleted Data included Use accessplanit API v2 endpoints: User Recommended data fields to include: ID (Unique ID of the User e.g. jasmit) l. Existing User is deleted in the CRM Process triggered Automatically, as soon as a User has been deleted in the CRM Filter criteria n/a Data included Use accessplanit API v2 endpoints, make a DELETE 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) Please Note When deleting User data, the first DELETE request will change the User’s status to ‘Deleted’, a second DELETE request will delete the User record from the database. m. Booking recorded in accessplanit Process triggered Automatically (via web-hooks - coming soon), as soon as a Booking has been completed Filter criteria Only Bookings that do not have a temporary ID Example optional filter: Only Bookings allocated to a specific Companies Data included Use accessplanit API v2 endpoints: CourseDateBooking Recommended data fields to include: ID (Unique ID of the Booking e.g. 56) BookingSummary (HTML description of the items purchased) BookingUserID (ID of the User selected as the booking contact, e.g. jasmit) BookingUserName (Name of the User selected as the booking contact, e.g. James Smith) BookingCompanyID (ID of the customer Company linked to the booking, e.g. DOEV908E) BookingCompanyName (Name of the customer Company linked to the booking e.g. Douglas Group) DateCreated (Date & Time the Booking was created, e.g. 2025-02-22T11:01:38.17) PONumber (PO Number supplied when the booking was made, e.g. 1234) UserID (ID of the User who processed the booking, e.g. tradmi) UserFullName (ID of the User who processed the booking, e.g. Tracy Adminson) TotalCost (total cost of the booking, e.g. 120.0) TotalDiscount (total value of discount used on the booking, e.g. 20.0) InvoiceIDs (IDs of Invoices relating to this booking, e.g. 123) InvoiceReferences (References of Invoices relating to this booking, e.g. INV000089) Booking Custom Fields For powerful and customised integrations, in addition to the above recommended fields, you can also access all of your Booking-based Custom Fields directly using the above feed. n. Delegate registered for a Course in accessplanit Process triggered Automatically (via web-hooks - coming soon), 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) 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) Delegate Custom Fields For powerful and customised integrations, in addition to the above recommended fields, you can also access all of your Delegate-based Custom Fields directly using the above feed. o. Note added to an Account in accessplanit Process triggered Automatically (via web-hooks - coming soon), as soon as a Note for an Account/Company has been logged Filter criteria Only Notes that are mapped to Accounts/Companies (filter on MappedIDType = company) Example optional filter: Only Notes allocated to a specific Companies Data included Use accessplanit API v2 endpoints: Note Recommended data fields to include: ID (Unique ID of the Note, e.g. 75) Note (The Note content) UserID (ID of the User who recorded the Note, e.g. TrAdmi) UserName (Name of the User who recorded the Note, e.g. Tracy Adminson) MappedID (ID of the item/Company the Note is mapped to, e.g. DOEV908E) MappedLabel (Label of the item/Company the Note is mapped to, e.g. Douglas Group) DateCreated (Date & Time the Note was created, e.g. 2025-02-22T11:01:38.17) CustomNoteTypeLabel (The category/type of Note recorded)

 

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 a new User or Account is created? Or will it be triggered periodically, such as once a day or once an hour? Should any filters be applied? Decide if you would only like to share the data of Users and Accounts from specific groups, or only those who are linked to specific Account Managers, or if you would like to share all customer details between your accessplanit platform and your CRM. 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

In this step, your developer will create the integration between the two systems

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

Here are some common questions that we receive about the APIs and their answers

  • 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

If you need any further support with building an integration with your finance system using the API Feeds, here are the steps to get in touch with us

 

 

 

 


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!

Follow Us

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

Copyright © 2025 accessplanit.

Social media icons by icons8.com