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).
EventsName |
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
- 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.