Available B.I. Connector Events & Descriptions

The following are the known available events emitted by Open edX that we have confirmed are functional on Tahoe. These are the events that can be captured by our BI Connector tool to be sent to third party systems. If you need help setting up your BI Connection, check out this doc.

Not all events have descriptions in the official edX documentation (see: Alphabetical Event List & Events in the Tracking Logs), and those that do are not always accurate in that documentation. Where there are gaps, we have filled in our own. This list will be regularly updated and evolving, so if you see gaps, know that we are aware of those and are regularly working to correct them!

Download a ZIP archive of event schemas in JSON format (last updated 2022-03-02).


Events

Name
Description
book The browser emits book events when a user navigates within the PDF Viewer or the PNG Viewer.
For textbooks in PDF format, the URL in the common page field contains ‘/pdfbook/’.
For textbooks in PNG format, the URL in the common page field contains ‘/book/’.
edx.bi.institution.login.form.toggled  
edx.bi.login.form.toggled  
edx.bi.password.reset.form.viewed  
edx.bi.register.form.toggled  
edx.bi.undefined.form.toggled  
edx.bi.completion.user.course.started Emitted when a user has completed one completable component within the course.  Completions and events calculated on an every 10 minute (:00, :10, after the hour, etc.) interval.
edx.bi.completion.user.course.completed Emitted when a user has completed all completable components within the course.  Completions and events calculated on an every 10 minute (:00, :10, after the hour, etc.) interval.
edx.bi.completion.user.chapter.started Emitted when a user has completed one completable component within the chapter (aka Section).  Completions and events calculated on an every 10 minute (:00, :10, after the hour, etc.) interval.
edx.bi.completion.user.chapter.completed Emitted when a user has completed all completable components within the chapter (aka Section).  Completions and events calculated on an every 10 minute (:00, :10, after the hour, etc.) interval.
edx.bi.completion.user.sequential.started Emitted when a user has completed one completable component within the sequential (aka Subsection).  Completions and events calculated on an every 10 minute (:00, :10, after the hour, etc.) interval.
edx.bi.completion.user.sequential.completed Emitted when a user has completed all completable components within the sequential (aka Subsection).  Completions and events calculated on an every 10 minute (:00, :10, after the hour, etc.) interval.
edx.bi.credentials.user.badge.awarded
edx.bi.user.account.authenticated  
edx.bi.user.account.linked  
edx.bi.user.account.registered Will be emitted when an account is registered on the site.
edx.bi.user.certificate.generate Will be emitted when a certificate is generated (i.e. when a user has achieved a passing grade and requests their certificate).
edx.bi.user.org.email.opted.out  
edx.bi.user.register.optional.fields.selected  
edx.bookmark.accessed The browser emits this event when a user accesses a bookmark by selecting a link on the My Bookmarks page in the LMS.
edx.bookmark.added The browser emits this event when a user bookmarks a page.
edx.bookmark.listed The browser emits this event when a user selects My Bookmarks in the LMS to list previously bookmarked pages. If the number of bookmarked events exceeds the defined page length, the browser emits an additional edx.course.bookmark.listed event each time the user navigates to a different page of results.
edx.bookmark.removed The browser emits this event when a user removes a bookmark from a page.
edx.certificate.created When a certificate is generated, a record is created in the certificates_generated certificate table, triggering an edx.certificate.created event.
edx.certificate.evidence_visited When a learner shares her certificates on social network sites such as LinkedIn, and the link back to the certificate is followed by some visitor to that social network site, the server emits an edx.certificate.evidence_visited event.
edx.certificate.evidence.visited When a course team member changes the cohort assignment of a user on the Instructor Dashboard, the server emits an edx.cohort.user_removed event.
edx.certificate.shared When a learner shares the URL for her certificate on a social media web site, the server emits an edx.certificate.shared event. (Not sure if this event is fully implemented currently or not)
edx.cohort.created When a course team or the system creates a cohort, the server emits an edx.cohort.created event.
edx.cohort.creation_requested When a course team member manually creates a cohort on the Instructor Dashboard, the server emits an edx.cohort.creation_requested event.
edx.cohort.user_add_requested When a course team member adds a student to a cohort on the Instructor Dashboard, the server emits an edx.cohort.user_add_requested event.
edx.cohort.user_added When a user is added to a cohort, the server emits an edx.cohort.user_added event.
edx.cohort.user_removed  
edx.course.enrollment.activated When a student enrolls in a course, the server emits an edx.course.enrollment.activated event. For example, when a student clicks Enroll for a course on the site, the server emits this event.
edx.course.enrollment.deactivated When a student unenrolls from a course, the server emits an edx.course.enrollment.deactivated event. For example, when a student clicks Unenroll for a course on the site, the server emits this event.
edx.course.enrollment.mode_changed The server emits an edx.course.enrollment.mode_changed event when the process of changing a student’s student_courseenrollment.mode to a different mode is complete. (Currently, we only have one enrollment mode, but that may change in the future)
edx.course.tool.accessed  
edx.done.toggled Both the browser and the server emit the edx.done.toggled event when the control added by the Completion XBlock is toggled.
edx.drag_and_drop_v2.feedback.closed The server emits this event when a pop up feedback message closes in a drag and drop problem.
edx.drag_and_drop_v2.feedback.opened The server emits this event when a pop up feedback message opens in a drag and drop problem.
edx.drag_and_drop_v2.item.dropped The server emits this event when a learner releases a draggable item into a target zone in a drag and drop problem. For problems that also require a number input, this event is also emitted after the learner submits the number input.
edx.drag_and_drop_v2.item.picked_up The server emits this event when a learner selects a draggable item in a drag and drop problem.
edx.drag_and_drop_v2.loaded The server emits this event after a drag and drop problem is shown in the LMS.
edx.forum.comment.created When a user adds a comment to a response, such as a course team member adding a clarification to the student answer, the server emits an edx.forum.comment.created event.
edx.forum.response.created When a user responds to a thread, such as another student answering the question, the server emits an edx.forum.response.created event.
edx.forum.response.voted Users can indicate interest in a response by selecting a “Vote” icon. The “Vote” icon is a toggle, so users can also clear a vote made previously. When either of these actions is complete, the server emits an edx.forum.response.voted event. In these events, the user who voted for the response is identified in the username and context.user_id fields, and the user who originally posted the thread is identified in the event.target_username field.
edx.forum.searched After a user executes a text search in the navigation sidebar of the course Discussion page, the server emits an edx.forum.searched event.
edx.forum.thread.created When a user creates a new thread, such as a student asking a question, the server emits an edx.forum.thread.created event.
edx.forum.thread.viewed Emitted when a thread is opened by a user
edx.forum.thread.voted Users can indicate interest in a thread by selecting a “Vote” icon. The “Vote” icon is a toggle, so users can also clear a vote made previously. When either of these actions is complete, the server emits an edx.forum.thread.voted event. In these events, the user who voted for the thread is identified in the username and context.user_id fields, and the user who originally posted the thread is identified in the event.target_username field.
edx.googlecomponent.calendar.displayed The server emits an edx.googlecomponent.calendar.displayed event when a Google Calendar component is shown in the LMS.
edx.googlecomponent.document.displayed The server emits an edx.googlecomponent.document.displayed event when a Google Drive file, such as a document, spreadsheet, or image, is shown in the LMS.
edx.grades.problem.rescored When a user re-attempts a problem after their initial submission, or a new grade is given to them by staff (unconfirmed), the server emits an edx.grades.problem.rescored event.
edx.grades.problem.state_deleted Emitted when a staff member deletes the answer state for a user to allow them to re-attempt a problem after their attempts have been exhausted.
edx.grades.problem.submitted When a learner’s response to a problem is submitted and successfully saved, the server emits an edx.grades.problem.submitted event.
(edx.grades.subsection.grade_calculated) This event is not currently available on Tahoe.
(After a learner has submitted a response to a problem (which triggers the edx.grades.problem.submitted event), the score for the subsection that contains the problem is recalculated. When the updated subsection score is successfully saved to the database, the server emits an edx.grades.subsection.grade_calculated event.) 
edx.instructor.report.downloaded The browser emits an edx.instructor.report.downloaded event when the user selects a report link on the instructor dashboard to download a report.
edx.librarycontentblock.content.assigned The server emits an edx.librarycontentblock.content.assigned event the first time that content from a randomized content block is delivered to a user. The edx.librarycontentblock.content.assigned event identifies the components delivered from the library to a user.
edx.librarycontentblock.content.removed The server emits an edx.librarycontentblock.content.removed event when a user revisits a randomized content block and one or more of the components that were previously delivered to that user can no longer be delivered.
edx.problem.hint.demandhint_displayed Course teams can design problems to include one or more hints. For problems that include hints, the server emits an edx.problem.hint.demandhint_displayed event each time a user requests a hint.
edx.problem.hint.feedback_displayed Course teams can design problems to include feedback messages that appear after a user submits an answer. For problems that include feedback messages, the server emits an edx.problem.hint.feedback_displayed event each time a user selects Check.
edx.special_exam.timed.allowance.created The server emits this event when a course team grants an exception to the standard exam rules for an individual learner.
edx.special_exam.timed.allowance.deleted The server emits this event when a course team removes an exception to the standard exam rules that was previously granted to an individual learner.
edx.special_exam.timed.attempt.created The server emits this event when a learner chooses to take a special exam.
edx.special_exam.timed.attempt.deleted  The server emits this event when a course team or edX platform administrator removes an exam attempt record for an individual learner.
edx.special_exam.timed.attempt.ready_to_submit The server emits this event when a learner has completed a special exam and is prompted to submit the exam
edx.special_exam.timed.attempt.started The server emits this event when a learner begins taking a special exam.
edx.special_exam.timed.attempt.submitted The server emits this event when a learner completes a special exam and submits it for grading and review.
edx.team.activity_updated When team discussion activity has occurred on a team, including a team member posting, editing posts, commenting, responding, endorsing, and so on), the server emits an edx.team.activity_updated event.The definition of activity that would trigger this event does not include changes in team membership.
edx.team.changed When a team’s information is edited, the server emits one edx.team.team_changed event for each modified field. 
edx.team.created When a team is created, either by a course team member or by a learner, the server emits an edx.team.created event.
edx.team.deleted When a team is deleted, the server emits an edx.team.deleted event. Course team members who have any of the Staff, Admin, Discussion Admin, Discussion Moderator, or Community TA roles can delete teams.
edx.team.learner_added When a user joins a team or is added by someone else, the server emits an edx.team.learner_added event.
edx.team.learner_removed When a user leaves a team or is removed by someone else, the server emits an edx.team.learner_deleted event. This event is also triggered when a team is deleted, because all members are removed when a team is deleted. Course team members who have any of the Staff, Admin, Discussion Admin, Discussion Moderator, or Community TA roles can remove learners from teams.
edx.team.searched When a user performs a search for teams from the topic view under the Teams page of the courseware, the server emits an edx.team.searched event.
edx.ui.lms.link_clicked Emitted when the user clicks a link in the LMS.
edx.ui.lms.outline.selected  
edx.ui.lms.sequence.next_selected Emitted when the user clicks the "Next" button at the bottom or top of the LMS
edx.ui.lms.sequence.previous_selected Emitted when the user clicks the "Previous" button at the bottom or top of the LMS
edx.ui.lms.sequence.tab_selected Emitted when the user clicks on a tab in the top horizontal navigation at the top of the LMS
edx.video.closed_captions.hidden Emitted when the user hides closed captions on the video player
edx.video.closed_captions.shown Emitted when the user shows closed captions on the video player
edx.video.language_menu.hidden Emitted when a user closes the Language Menu for a video that has transcripts in multiple languages
edx.video.language_menu.shown Emitted when a user opens the Language Menu for a video that has transcripts in multiple languages
edx.video.loaded, load_video When the video is fully rendered and ready to play, the browser or mobile app emits a load_video event. In addition to the identifying event_type of load_video, the events that the edX mobile app emits also include a name field with a value of edx.video.loaded.
edx.video.paused, pause_video When a user selects the video player’s pause control, the player emits a pause_video event. For videos that are streamed in a browser, when the player reaches the end of the video file and play automatically stops it emits both this event and a stop_video event (as of June 2014).
edx.video.played, play_video When a user selects the video player’s play control, the player emits a play_video event.
edx.video.transcript.hidden, hide_transcript When a user toggles Show Transcript to suppress display of the video transcript, the browser or mobile app emits a hide_transcript event.
embedly.video.play  
identifies  
openassessment.student_training_assess_example The server emits this event when a learner submits an assessment for an example response within a training step. To assess the example, the learner uses a scoring rubric provided by the course team. These events record the options that the learner selected to assess the example, and identify any criteria that the learner scored differently than the course team.

 
openassessment.upload_file The browser emits this event when a learner successfully uploads an image, .pdf, or other file as part of a response. Learners complete the upload process before they submit the response.
openassessmentblock.create_submission The server emits this event when a learner submits a response. The same event is emitted when a learner submits a response for peer assessment or for self assessment.
openassessmentblock.create_submission The server emits this event when a learner submits a response. The same event is emitted when a learner submits a response for peer assessment or for self assessment.
openassessmentblock.get_peer_submission After learners submit their own responses for evaluation, they use the scoring rubric to evaluate the responses of other course participants. The server emits this event when a response is delivered to a learner for evaluation.
openassessmentblock.get_submission_for_staff_grading If a staff assessment step exists in the open response assessment, a member of the course staff evaluates a learner’s response using the same rubric that is used for self and peer assessments. When a course team member retrieves a learner’s response for grading in the staff assessment step, the server emits an openassessmentblock.get_submission_for_staff_grading event.
openassessmentblock.peer_assess The server emits this event when a learner submits an assessment of a peer’s response.
openassessmentblock.save_submission The server emits this event when a learner saves a response. Learners can save responses before they submit them for assessment.
openassessmentblock.save_submission The server emits this event when a learner saves a response. Learners can save responses before they submit them for assessment.
openassessmentblock.self_assess The server emits this event when a learner submits a self-assessment of her own response.
openassessmentblock.staff_assess The server emits this event when a course team member submits an assessment of a learner’s response.
openassessmentblock.submit_feedback_on_assessments The server emits this event when a learner submits a suggestion, opinion, or other feedback about the assessment process.
oppia.exploration.loaded The server emits an oppia.exploration.loaded event when an Oppia exploration component is shown in the LMS.
page_close The page_close event originates from within the JavaScript Logger itself when the user closes the page.
pages  
play_video When a user selects the video player’s play control, the player emits a play_video event. Note that course teams can specify a Video Start Time for video files. If the user streams a video file in a browser and a Video Start Time is present for the video, the player starts at the specified time and emits the play_video event. If the user plays a streaming or downloaded video in the edX mobile app, the app ignores the Video Start Time and emits the play_video event when it plays the file from the beginning. In addition to the identifying event_type of play_video, events that the edX mobile app emits also include a name field with a value of edx.video.played.
problem_check Both browser interactions and server requests produce problem_check events. The browser emits problem_check events when a user checks a problem. The server emits problem_check events when a problem is successfully checked.
problem_check_fail The server emits problem_check_fail events when a problem cannot be checked successfully.
problem_graded The server emits a problem_graded event each time a user clicks Check for a problem and it is graded successfully.
problem_rescore The server emits problem_rescore events when a problem is successfully rescored.
problem_rescore_fail The server emits problem_rescore_fail events when a problem cannot be successfully rescored.
problem_reset The browser emits problem_reset events when a user clicks Reset to reset the answer to a problem.
problem_save The browser emits problem_save events when a user saves a problem.
problem_show The browser emits problem_show events when the answer to a problem is shown; that is, the user selected Show Answer. Note: This event does not indicate when a problem was shown to a user.
reset_problem The server emits reset_problem events when a problem has been reset successfully.
reset_problem_fail The server emits reset_problem_fail events when a problem cannot be reset successfully.
save_problem_fail The server emits save_problem_fail events when a problem cannot be saved successfully.
save_problem_success The server emits save_problem_success events when a problem is saved successfully.
seek_video A browser emits seek_video events when a user selects a user interface control to go to a different point in the video file. On a desktop computer, users can click and drag in the playback bar or click in a transcript to change position. In the edX mobile app, users can click and drag in the playback bar or tap the “back 30 seconds” button to change position. When using a browser on a mobile device, users can click and drag in the playback bar to change position. In addition to the value seek_video in the event_type field, the events that the edX mobile app emits include the value edx.video.position.changed in the name field.
seq_goto seq_goto is emitted when a user jumps between units in a sequence (Subsection)
show_transcript When a user selects CC to display the video transcript, the browser or mobile app emits a show_transcript event. In addition to the identifying event_type of show_transcript, events that the edX mobile app emits also include a name field with a value of edx.video.transcript.shown
showanswer The server emits showanswer events when the answer to a problem is shown.
speed_change_video A browser emits speed_change_video events when a user selects a different playing speed for the video.
stop_video When the video player reaches the end of the video file and play automatically stops, the player emits a stop_video event. Note that course teams can specify a Video Stop Time for video files. If the user streams a video file in a browser and a Video Stop Time is present for the video, the player stops at the specified time and emits the pause_video and stop_video events. If the user plays a streaming or downloaded video in edX mobile app, the app ignores the Video Stop Time and plays the file to its end. The app then emits the stop_video event.
textbook.pdf.chapter.navigated The browser emits textbook.pdf.chapter.navigated events when a user clicks on a link in the outline to navigate to a chapter.
textbook.pdf.display.scaled The browser emits textbook.pdf.display.scaled events when the display magnification changes. These changes occur after a student selects a magnification setting from the zoom menu or resizes the browser window.
textbook.pdf.outline.toggled The browser emits textbook.pdf.outline.toggled events when a user clicks the outline icon to show or hide a list of the book’s chapters.
textbook.pdf.page.navigated The browser emits textbook.pdf.page.navigated events when a user manually enters a page number.
textbook.pdf.page.scrolled The browser emits textbook.pdf.page.scrolled events each time the displayed page changes while a user scrolls up or down.
textbook.pdf.search.executed The browser emits textbook.pdf.search.executed events when a user searches for a text value in the file. To reduce the number of events produced, instead of producing one event per entered character this event defines a search string as the set of characters that is consecutively entered in the search field within 500ms of each other.
textbook.pdf.search.highlight.toggled The browser emits textbook.pdf.search.highlight.toggled events when a user selects or clears the Highlight All option for a search.
textbook.pdf.search.navigatednext The browser emits textbook.pdf.search.navigatednext events when a user clicks on the Find Next or Find Previous icons for an entered search string.
textbook.pdf.searchcasesensitivity.toggled The browser emits textbook.pdf.searchcasesensitivity.toggled events when a user selects or clears the Match Case option for a search.
textbook.pdf.thumbnail.navigated The browser emits textbook.pdf.thumbnail.navigated events when a user clicks on a thumbnail image to navigate to a page.   
textbook.pdf.thumbnails.toggled The browser emits textbook.pdf.thumbnails.toggled events when a user clicks on the icon to show or hide page thumbnails.
textbook.pdf.zoom.buttons.changed The browser emits textbook.pdf.zoom.buttons.changed events when a user clicks either the Zoom In or Zoom Out icon.
textbook.pdf.zoom.menu.changed The browser emits textbook.pdf.zoom.menu.changed events when a user selects a magnification setting.
tracks
ubc.peer_instruction.accessed The server emits this event when a peer instruction question and its set of answer choices is shown to a learner.
ubc.peer_instruction.original_submitted The server emits this event when a peer instruction question and its set of answer choices is shown to a learner.
ubc.peer_instruction.revised_submitted The server emits this event when learners submit their revised responses. These events record the answer choice selected by the learner and the explanation for why that selection was made.
users  
xblock.poll.submitted The server emits an xblock.poll.submitted event each time a user submits a response to a poll.
xblock.poll.view_results The server emits an xblock.poll.view_results event when a tally of the responses to a poll is displayed to a user. For a poll that has the Private Results option set to False, the tally appears after a user submits a response.
xblock.survey.submitted The server emits an xblock.survey.submitted event each time a user submits responses to a survey.
xblock.survey.view_results The server emits an xblock.survey.view_results event when a matrix of survey response percentages is displayed to a user. For surveys that have the Private Results option set to False only, the matrix appears after a user submits survey responses.
xmodule.partitions.assigned_user_to_partition When a student views a module that is set up to test different child modules, the server checks the  user_api_usercoursetag table for the student’s assignment to the relevant partition, and to a group for that partition.

The partition ID is the  user_api_usercoursetag.key
The group ID is the  user_api_usercoursetag.value.

If the student does not yet have an assignment, the server emits an  xmodule.partitions.assigned_user_to_partition event and adds a row to the user_api_usercoursetag table for the student.

Completable Components

The following components are completable; i.e., student activity as detailed below will contribute toward the completion percentage of the containing Section (aka 'chapter') and Course.  Completion of a component does not require a correct response and does not correlate with scores and grades.
  • Text/HTML component: student must scroll to bottom of text and remain on page for 5 seconds
  • Video: student must watch or scrub to the 95% time elapsed mark
  • Problem/Problem Builder: student must submit an answer to any Problem or Problem Builder component
  • LTI Consumer components: student must launch the LTI module and LTI provider must return a score
  • Open Response Assessments:  student must submit a response and all configured assessments must be completed (including staff assessment if enabled)
  • Staff Graded Assignments: student must submit an assignment
  • Peer Instruction components: student must submit an assignment
  • Completion ("done") component:  student must check the "complete" checkbox

Note: the following components are not currently completable as of October 2021:

  • Virtual Labs ("container launcher" component)

If you need to track lab completion, we suggest a workaround of adding a problem component or a Completion X Block to allow the learner to check off their lab as complete.