Skip to main content

Blackboard LMS Destination

Nexla's bi-directional connectors allow data to flow both to and from any location, making it simple to create a FlexFlow data flow that sends data to a Blackboard LMS location.
blackboard_api.png

Blackboard LMS

Create a Blackboard LMS Destination

  1. Click the + icon on the Nexset that will be sent to the Blackboard LMS destination, and select the Send to Destination option from the menu.

  2. Select the Blackboard LMS connector from the list of available destination connectors. Then, select the credential that will be used to connect to the Blackboard Learn instance, and click Next; or, create a new Blackboard LMS credential for use in this flow.

  3. In Nexla, Blackboard LMS destinations can be created using pre-built endpoint templates, which expedite destination setup for common Blackboard Learn endpoints. Each template is designed specifically for the corresponding Blackboard Learn endpoint, making destination configuration easy and efficient.
    • To configure this destination using a template, follow the instructions in Configure Using a Template.

    Blackboard LMS destinations can also be configured manually, allowing you to send data to Blackboard Learn endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this destination manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Blackboard Learn endpoints. Each template is designed specifically for the corresponding Blackboard Learn endpoint, making destination setup easy and efficient.

  • To configure this destination using a template, select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

    Create or Update Grade

    This endpoint writes or updates a single student grade on a specific gradebook column using PATCH /learn/api/public/v2/courses/{courseId}/gradebook/columns/{columnId}/users/{userId}. Use it for AI-driven score passback from external assessment, proctoring, or auto-grading systems.

    • Enter the course identifier in the Course ID field. This field is required. Use the Learn internal course ID (for example, _123_1). To drive the destination dynamically from the upstream Nexset, map an upstream attribute into this field.
    • Enter the gradebook column identifier in the Column ID field. This field is required (for example, _456_1). Column IDs can be obtained from the Get Gradebook Columns source endpoint.
    • Enter the user identifier in the User ID field. This field is required (for example, _789_1). Map this from the upstream Nexset to write grades for different users per record.
    • Each upstream record is sent as the JSON body of the PATCH call. Shape the upstream attributes to match the Learn grade schema, typically score, text, notes, and feedback.

    Because this endpoint uses PATCH, only the fields included in the request body are modified; existing grade values on the column for the user are preserved.

    Create Course Enrollment

    This endpoint enrolls a user in a course with a specified role using PUT /learn/api/public/v1/courses/{courseId}/users/{userId}. Use it for SIS provisioning and automated onboarding workflows.

    • Enter the course identifier in the Course ID field. This field is required (for example, _123_1). Map this from the upstream Nexset to enroll into different courses per record.
    • Enter the user identifier in the User ID field. This field is required. Use the Learn internal user ID or the SIS-style externalId:NETID format.
    • Each upstream record is sent as the JSON body of the PUT call. Include the membership attributes expected by Learn, typically courseRoleId (such as Student, Instructor, TeachingAssistant), availability.available, and optionally childCourseId.

    Use the Get Course Roles source endpoint to retrieve the canonical list of courseRoleId values supported on your Learn instance.

    Create User

    This endpoint provisions a new user account in Blackboard Learn using POST /learn/api/public/v1/users. Use it to onboard learners and staff from upstream SIS and HR systems.

    • No endpoint-specific parameters are required beyond selecting this template. Each upstream record is sent as the JSON body of the POST call.
    • Shape the upstream record to match the Learn user schema, typically including userName, password (or single sign-on configuration), externalId, studentId, name.given, name.family, contact.email, institutionRoleIds, and availability.available.

    User provisioning typically requires the integration's Learn user to hold the System Administrator or equivalent entitlement. Confirm the entitlement assignment before activating this destination.

    Create Course

    This endpoint provisions a new course in Blackboard Learn using POST /learn/api/public/v3/courses. Use it for SIS-driven automated course creation each academic term.

    • No endpoint-specific parameters are required beyond selecting this template. Each upstream record is sent as the JSON body of the POST call.
    • Shape the upstream record to match the Learn course schema, typically including courseId (the institutional course code), externalId, name, description, termId, availability.available, and dataSourceId.

    Use the Get Terms and Get Data Sources source endpoints to retrieve the termId and dataSourceId values that this endpoint expects.

    Create Course Announcement

    This endpoint posts a new announcement to a specific course using POST /learn/api/public/v1/courses/{courseId}/announcements. Use it for AI-generated notifications, deadline reminders, and other automated learner communications.

    • Enter the course identifier in the Course ID field. This field is required (for example, _123_1). Map this from the upstream Nexset to post announcements into different courses per record.
    • Each upstream record is sent as the JSON body of the POST call. Shape the upstream record to match the Learn announcement schema, typically including title, body (HTML), availability.duration.start, and availability.duration.end.

    Announcement body values are stored as HTML. Wrap plain text from upstream sources in <p> tags so it renders correctly in the Blackboard Learn UI.

Configure Manually

Blackboard LMS destinations can be manually configured to send data to any valid Blackboard Learn REST API endpoint.

Using manual configuration, you can also configure Nexla to automatically send the response received from the Blackboard Learn API after each call to a new Nexla webhook data source — this is useful for capturing the Learn id value returned on successful create calls so it can be joined back to upstream records.

API Method

  1. To manually configure this destination, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the Blackboard Learn API from the Method pulldown menu. The most common methods for Learn write endpoints are:

    • POST: For creating new resources (for example, users, courses, announcements).
    • PUT: For full upsert of a resource identified by a path parameter (for example, course enrollments).
    • PATCH: For partial updates of an existing resource (for example, gradebook grade values).
    • DELETE: For removing a resource.

Data Format

  1. Select the format in which the Nexset data will be sent to the Blackboard Learn API from the Content Format pulldown menu. Blackboard Learn accepts and returns application/json, which is the format expected by all of the endpoint templates listed above. Nexla will automatically convert the data to the selected format for each API call.

API Endpoint URL

  1. Enter the URL of the Blackboard Learn API endpoint to which you want to send the Nexset data in the URL field. Use the format https://<your-learn-instance>/learn/api/public/v<n>/<resource> — for example, https://yourinstitution.blackboard.com/learn/api/public/v1/courses/_123_1/announcements. For update or upsert operations, include the ID of the object to be updated at the end of the URL (for example, the user ID for a PUT enrollment call or the user ID for a PATCH grade update).

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this destination, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2).

    You do not need to include any headers already present in the credentials. The Blackboard Learn Authorization: Bearer ... and Content-Type: application/json headers are handled automatically by Nexla based on your credential and content-format configuration.

Exclude Attributes from the Call

Optional
  • If any record attributes in the Nexset should be omitted when sending data to this Blackboard LMS destination, select the attributes from the Exclude Attributes pulldown menu. This is useful for stripping internal join keys or audit columns that should not be sent to Learn.

  • Any number of attributes can be selected for exclusion, and all excluded attributes will be shown in the field. To remove an attribute from the list, click the X icon next to the attribute name.

Record Batching

Optional
  1. If records should be sent to this destination in batched API calls, check the box next to Would you like to batch your records together? to enable record batching.

  2. Enter the maximum number of records that should be batched together in a single API call in the Batch Size field. By default, this value is set to 100.

  3. Select the algorithm that will be used to group records into batches from the Grouping Algorithm pulldown menu. The sample request shown in the panel on the right will be updated to reflect the current batching settings.

Most Blackboard Learn write endpoints accept a single record per call. Leave record batching disabled when targeting endpoints such as Create or Update Grade, Create Course Enrollment, Create User, Create Course, or Create Course Announcement, unless you have wrapped them with a custom batching algorithm that the target endpoint understands.

Response Webhook

Optional

Nexla can automatically send the response received from the Blackboard Learn API after each call to a new Nexla webhook data source. This is the recommended way to capture the Learn-assigned id returned by create endpoints, link it back to the originating upstream record, and track success or error status per call.

  • To enable this option, check the box next to Would you like to process the API response as a Nexla Webhook source?.

Sample Request Payload

Sample request payloads containing a portion of the Nexset data that will be sent to the Blackboard Learn API endpoint based on the current settings are shown in the Sample Payload panel on the right. These samples can be referenced to ensure that the destination and request settings are correctly configured.

  • Click on a sample request payload to expand it and view the complete payload content.

  • Sample payloads are automatically updated with each setting change, making it easy to verify that changes achieve the desired effect.

Endpoint Testing (Manual Configuration)

After all endpoint settings have been configured, Nexla can send a test payload to the Blackboard Learn API to ensure that the destination is configured correctly.

  1. To send a test payload, select the Test button at the top of the Sample Payload panel, and click on a listed sample payload to expand it.

  2. If any modifications to the sample payload are needed, make the necessary changes directly within the sample window.

  3. Click the Send Test Data button at the top of a sample payload to send the test payload to the Blackboard Learn API using the current settings.

Important

Manual endpoint tests will create, update, or delete real records on the target Blackboard Learn instance. Test against a sandbox or staging Learn instance when possible, or use throwaway data that can be safely removed.

Save & Activate the Destination

  • Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To begin sending Nexset data to Blackboard Learn, open the destination resource menu, and select Activate.

    The Nexset data will not be sent to Blackboard Learn until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.