Schools, more than ever, are looking for products that can integrate with their learning management system. Depending on the needs of the school, this integration may be as simple as being able to sign into an app with LMS credentials or as advanced as allowing the app to pass grades back to the gradebook in the LMS.

Blackboard is a popular LMS in the US and Canada. Many of your clients may be using Blackboard and it's important for you to know how Blackboard integration works. Apps can integrate with Blackboard either through the Blackboard API or through the LTI® specification.

In this article, we'll focus specifically on integration through the Blackboard API and discuss what your app can do with the API.


Single Sign-On (SSO)

Blackboard allows developers to authenticate users into their third-party apps by having the user sign in with their Blackboard credentials. This process is called SSO - or single sign-on.

An app can either create an account for a new user who signs in with their Blackboard credentials or match the user with an existing account stored in the app's database. While many apps match users based on their email address listed in Blackboard, there are several reasons why you should choose a different identifier. Note that the authentication process will never expose the user's Blackboard password to the app.

Once a user is authenticated, the app can start to communicate with the user's Blackboard environment. This is where the API comes in.


Content Integration

Through the API, apps that authenticate a user through Blackboard can make requests back to authenticated users' Blackboard environment. This means that your app can generate resources that appear for the user in Blackboard. Content integration lets your app talk to Blackboard while maintaining the user's experience in the app.

For example, a teacher can log into your app with their Blackboard credentials and assign a lesson from your app. Your app then acts as the teacher and sends the necessary information to Blackboard to generate the lesson and post it to the teacher's specified course.

The Blackboard API allows apps to read, create, or modify a variety of resources in the user's Blackboard environment, including:

  • Attendance records
  • Assessments
  • Calendars
  • Messages
  • Courses

Click here for a full list of resources that can be accessed by the Blackboard API.


Grade Passback

In addition to updating resources, the Blackboard API can also let your app send and update scores in the user's gradebook. This reduces the amount of time teachers have to usually spend to get grades from an external source into their gradebooks.

This benefits the developer, as well. By relying on the API to sync grades between Blackboard gradebooks and your app, you won't have to spend time developing your own gradebook or other methods to export grades.


Rostering

The Blackboard API can be used to retrieve a lists of users, their courses, and their enrollments. This is helpful if you want to be able to create accounts for users before they login. In addition, rostering through the API lets you gather lists of enrollments in real time, reflecting changes when students leave or join courses during the school year.


What Else You Should Know About the Blackboard API

Note that large schools and universities may be running different versions of Blackboard on their own in-house servers. Others may use a cloud service, like Blackboard Learn Ultra. An API or LTI app that works for one district's Blackboard environment might appear or work differently in another's. As the organizations that adopt Blackboard tend to be larger, updates that IT admins push to their Blackboard environments tend to take longer to implement. For this reason, developers may frequently find that the Blackboard environment that they are trying to integrate with does not support all of the up-to-date functionality of the most recent releases of Blackboard.

Like many other LMS’s listed here, Blackboard uses OAuth 2.0 to authenticate users who are signing into an API-integrated third-party application with their Blackboard account. However, Blackboard's implementation of OAuth 2 is somewhat non-standard. While it still technically follows the OAuth 2 specification, Blackboard's implementation has quirks that aren't generally present in other platforms that use OAuth 2.


How to Get Started Using the Blackboard API

Blackboard requires edtech developers who are interested in implementing an integration to register for a Blackboard developer account. Registration is required if you are developing either a REST API application or LTI tool.

It is free to register for an account but there may be costs associated with deploying your integration once you reach a certain scale. For example, developers must pay Blackboard to set up their own development instance. This environment, which developers also have to set up themselves, lasts for three months at a time.


If you're interested in building out a Blackboard integration, you should check out the Edlink platform. We've already written the connections to Blackboard and other LMSs, so you can spend less time figuring out the API and more time developing your core product. If you'd like to learn more, we'd be more than happy to chat with you! We can be reached at accounts@ed.link and at our support page.

Learning Tools Interoperability® (LTI®) is a trademark of the IMS Global Learning Consortium, Inc. (www.imsglobal.org). Edlink LTI integrations are not certified by the IMS Global Learning Consortium, Inc.