Flows and Activities

Flows and activities form the structure and content of your courses.

They're visible through the sidebar and Eduflow's URL structure.

https://app.eduflow.com/courses/<course_id>/flows/<flow_id>/activities/<activity_id>

Tip: Viewing the URL is a quick way to get the ID of a course, flow, activity, submission, or review.

Flows

Flows are containers for activities.

Flows contain activities. Activities always have exactly one flow.

Gotcha: Activities at the root-level of the sidebar belong to an invisible flow, "class-level activities".

Activities

There are a growing list of activities for Eduflow. Activities accessible to your institution's course can be seen through the "Create Activity" button on the bottom right of the sidebar.

Activity types

Activity

Description

Content

Displays a read-only content to user

Video

Similar to Content, but allows for a Video upload or embedding Vimeo / YouTube

Submission

Student submits content (Rich text, video recording/screencast, file upload, google drive upload)

Self review

Review of one's own Submission

Instructor review

Instructor's review of Submission

Peer review

Student's are assigned to review each other's submissions

Score

Calculate custom, composite scores based on activity completion, review scores

HapYak

Integration video courses from HapYak

Zoom

Integrate zoom calls

Grade passback

Select a tag

Lets students assign themselves to a tag in a course

Discussion

Lets participants create topics and submit comments and replies

Querying

Since there are many activity types, activities make use of GraphQL Interfaces.

Common fields, such as id and title can be represented through ActivityInterface, via an inline fragment. Interfaces and inline fragments are what allow structured, typed access to generic and specialized information in GraphQL.

Listing (inside course)

{
  course(id: "00000000-5945-95c7-65fc-a9747b300320") {
    flows {
      title
      activities {
        ... on ActivityInterface {
          id
          title
          __typename
        }
      }
    }
  }
}

via ID

Specialty fields, such as countStudentsCompleted on SubmissionActivity can be reached by adding an inline fragment.

{
  activity(id: "c5426418-0772-46b1-a84c-3f6f1e9d2925") {
    ... on ActivityInterface {
      id
      title
      __typename
    }
    ... on SubmissionActivity {
      countStudentsCompleted
    }
  }
}

Mutations

Mark activities as complete

markActivityComplete

mutation {
  markActivityComplete(
    activityId: "5b1f1253-68ea-4583-bfff-0ae5938fcd64", 
    studentEmail: "student@example.edu"
  ) {
    activity {
      ... on ActivityInterface {
        title
      }
    }
  }
}

Scores and calculations

To learn more about querying the scores of Reviews, see the Outputs summary section:

Last updated