Share via


Khalibre LMS (Preview)

With the Khalibre LMS Connector, you can extend LMS capabilities by integrating with the system of your choice through the APIs. This connector allows you to manage course published in Khalibre platform for your organization. You can book learner into the course that your organization has published and query their progress. You can also see available courses published in the platform and detail course information.

This connector is available in the following products and regions:

Service Class Regions
Copilot Studio Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Logic Apps Standard All Logic Apps regions except the following:
     -   Azure Government regions
     -   Azure China regions
     -   US Department of Defense (DoD)
Power Apps Premium All Power Apps regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Power Automate Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Contact
Name Khalibre Support
URL https://www.khalibre.com/contact-us
Email contact@khalibre.com
Connector Metadata
Publisher Khalibre
Website https://www.khalibre.com/
Privacy policy https://www.khalibre.com/privacy-policy
Categories Productivity;Collaboration

Khalibre LMS connector

Khalibre is the provider of the Khalibre Platform, used by Crosswired and other collaboration and capacity building portals. We are a social enterprise, formed in 2010 in Singapore and Cambodia to deliver business technology solutions, capacity building and learning platform for medium and large organizations globally. With the Khalibre LMS Connector, you can extend LMS capabilities by integrating with the system of your choice through the APIs.

Prerequisites

You will need the following to proceed:

  1. Khalibre platform account
  2. Your organization enables API Integrations for learning management system
  3. OAuth 2.0 credentials generated for secure API Integrations

How to get OAuth 2.0 credentials

Login as an organization admin and navigate to organization Settings > API Integrations. Under OAuth 2.0 credentials section, you can obtain the client ID & secret. You can also delete the credentials or generate new credentials.

Supported triggers

With When an HTTP request is received as a trigger, you can provide the endpoint where Khalibre platform will send trigger action for the following operations:

  1. Course created (event type: course.created)
    • Course status is changed from draft to public.
  2. Course updated (event type: course.updated)
    • Course information is updated.
  3. Course deleted (event type: course.deleted)
    • Course status changes from public to draft.
    • Course status is changed from public to archive.
    • Course is deleted.
  4. Community updated (event type: community.updated)
    • Community name is updated.
  5. Course share (event type: course.shared)
    • Community admin added shared course into the community.
  6. Course unshared (event type: course.unshared)
    • Shared course is removed from the community.
  7. Course progress status (event type: course.status)
    • Learner made progress and course status is changed.
  8. Course progress activity (event type: course.activity)
    • Learner made progress and completed new course activity.

You can register your endpoint to Khalibre platform through organization Settings > API Integrations. Under Webhooks section, enable the webhooks and provide your endpoint to Webhook URL field. Khalibre platform will make an HTTP post to this URL when there is any event related to the course.

Supported Actions

  • Read courses: Returns all organization courses with visibility set to API.
  • Read course detail: Returns course detail information for a given course ID.
  • Progress by course ID: Returns all learner progresses for a given course ID.
  • Progress by email: Returns all learner progresses for a given learner email address.
  • Book course: Book a learner to a given course ID.

Note - Course ID here is equivalent to class ID in Khalibre platform.

You can also obtain a link to API developer doc through organization Settings > API Integrations > API developer doc.

Creating a connection

The connector supports the following authentication types:

Default Parameters for creating connection. All regions Not shareable

Default

Applicable: All regions

Parameters for creating connection.

This is not shareable connection. If the power app is shared with another user, another user will be prompted to create new connection explicitly.

Name Type Description Required
Host name string Host name without http/https (Example: khalibre.com). True
Client ID string Client ID for OAuth2 credentials. True
Client secret securestring Client secret for OAuth2 credentials. True

Throttling Limits

Name Calls Renewal Period
API calls per connection 100 60 seconds

Actions

Book course

Book course for learner by email address

Progress by course ID

Show learner progress by course ID.

Progress by email

Show learner progress by learner email.

Read course detail

Read course detail by course ID.

Read courses

Read list of courses exposed from your organization.

Book course

Book course for learner by email address

Parameters

Name Key Required Type Description
communityId
communityId True integer

Community ID that learner will join to access the course.

courseId
courseId True integer

Course ID that learner will book.

email
learnerEmail True string

Learner email address.

firstname
learnerFirstname string

Learner firstname.

lastname
learnerLastname string

Learner lastname.

Progress by course ID

Show learner progress by course ID.

Parameters

Name Key Required Type Description
Course ID
courseId True integer

Course ID that organization has published.

Pagination
page integer

Current pagination

Page size
pageSize integer

Number of items to be fetched per request.

Returns

Name Path Type Description
facets
facets array of

facets

items
items array of object

items

activityOverdue
items.activityOverdue boolean

activityOverdue

bookingDate
items.bookingDate string

bookingDate

classTitle
items.classTitle string

classTitle

id
items.community.id integer

id

name
items.community.name string

name

completedActivity
items.completedActivity integer

completedActivity

courseId
items.courseId integer

courseId

courseOverdue
items.courseOverdue boolean

courseOverdue

emailAddress
items.emailAddress string

emailAddress

firstName
items.firstName string

firstName

lastName
items.lastName string

lastName

recentUpdateDate
items.recentUpdateDate string

recentUpdateDate

status
items.status integer

status

statusDescription
items.statusDescription string

statusDescription

title
items.title string

title

totalActivity
items.totalActivity integer

totalActivity

lastPage
lastPage integer

lastPage

page
page integer

page

pageSize
pageSize integer

pageSize

totalCount
totalCount integer

totalCount

Progress by email

Show learner progress by learner email.

Parameters

Name Key Required Type Description
Learner email
learnerEmail True string

Learner email address.

Pagination
page integer

Current pagination

Page size
pageSize integer

Number of items to be fetched per request.

Returns

Name Path Type Description
facets
facets array of

facets

items
items array of object

items

activityOverdue
items.activityOverdue boolean

activityOverdue

bookingDate
items.bookingDate string

bookingDate

classTitle
items.classTitle string

classTitle

id
items.community.id integer

id

name
items.community.name string

name

completedActivity
items.completedActivity integer

completedActivity

courseId
items.courseId integer

courseId

courseOverdue
items.courseOverdue boolean

courseOverdue

emailAddress
items.emailAddress string

emailAddress

firstName
items.firstName string

firstName

lastName
items.lastName string

lastName

recentUpdateDate
items.recentUpdateDate string

recentUpdateDate

status
items.status integer

status

statusDescription
items.statusDescription string

statusDescription

title
items.title string

title

totalActivity
items.totalActivity integer

totalActivity

lastPage
lastPage integer

lastPage

page
page integer

page

pageSize
pageSize integer

pageSize

totalCount
totalCount integer

totalCount

Read course detail

Read course detail by course ID.

Parameters

Name Key Required Type Description
Course ID
courseId True integer

Course ID that organization has published.

Returns

Name Path Type Description
additionalBookingNote
additionalBookingNote string

additionalBookingNote

bannerUrl
bannerUrl string

bannerUrl

classTitle
classTitle string

classTitle

communities
communities array of object

communities

id
communities.id integer

id

name
communities.name string

name

courseExpiryPeriod
courseExpiryPeriod integer

courseExpiryPeriod

courseId
courseId integer

courseId

createdDate
createdDate string

createdDate

currency
currency string

currency

dayBeforeBook
dayBeforeBook integer

dayBeforeBook

dayBeforeCancel
dayBeforeCancel integer

dayBeforeCancel

key
deliveryMethod.key string

key

value
deliveryMethod.value string

value

description
description string

description

endDate
endDate string

endDate

expectedDuration
expectedDuration integer

expectedDuration

languages
languages array of string

languages

modifiedDate
modifiedDate string

modifiedDate

price
price double

price

startDate
startDate string

startDate

timezone
timezone string

timezone

title
title string

title

totalActivity
totalActivity integer

totalActivity

Read courses

Read list of courses exposed from your organization.

Parameters

Name Key Required Type Description
Page size
pageSize integer

Number of items to be fetched per request.

Pagination
page integer

Current pagination

Keyword
keywords string

Search keyword to filer course.

Returns

Name Path Type Description
facets
facets array of string

facets

items
items array of object

items

additionalBookingNote
items.additionalBookingNote string

additionalBookingNote

bannerUrl
items.bannerUrl string

bannerUrl

classTitle
items.classTitle string

classTitle

communities
items.communities array of object

communities

id
items.communities.id integer

id

name
items.communities.name string

name

items.courseExpiryPeriod integer

courseExpiryPeriod

items.courseId integer

courseId

createdDate
items.createdDate string

createdDate

currency
items.currency string

currency

items.dayBeforeBook integer

dayBeforeBook

items.dayBeforeCancel integer

dayBeforeCancel

key
items.deliveryMethod.key string

key

value
items.deliveryMethod.value string

value

description
items.description string

description

items.expectedDuration integer

expectedDuration

languages
items.languages array of string

languages

modifiedDate
items.modifiedDate string

modifiedDate

items.price double

price

timezone
items.timezone string

timezone

title
items.title string

title

items.totalActivity integer

totalActivity

endDate
items.endDate string

endDate

startDate
items.startDate string

startDate

lastPage integer

lastPage

page integer

page

pageSize integer

pageSize

totalCount integer

totalCount