Skip to content

Educator Signup Flow

Bryan Eli edited this page Sep 28, 2020 · 19 revisions

The educator sign up flow is generally divided into four steps.

Step 1

User types in this information:

  • First name
  • Last name
  • Phone number
  • Email
  • Password
  • User check these checkboxes:
  • Receive newsletter? (optional)
  • Agree to the Terms of Use and Privacy Policy

At this point, Accounts creates an “unverified” account for the user, and an email gets sent with a pin and a link that allows the user to verify their email address belongs to them.

Step 2

User types in this information (unless they decide to click on the link sent in the email instead, which results in the same outcome):

  • PIN

At this point, when the user enters the correct pin, their account gets activated/verified. No one will be able to take away this account’s email address. More importantly, a new Lead gets sent to salesforce with all of the user’s information that we have so far. That is:

  • first_name
  • last_name
  • phone: user.phone_number,
  • email
  • source: SALESFORCE_INSTRUCTOR_ROLE
  • application_source: referring_app_name
  • role
  • os_accounts_id: user.id
  • accounts_uuid: user.uuid
  • school
  • verification_status
  • finalize_educator_signup: user.is_profile_complete?
  • needs_cs_review
  • newsletter
  • newsletter_opt_in

Since we don’t know the user’s school yet, Accounts sends “unknown to Accounts” as the school name (because a school name is required by Salesforce, otherwise a Lead cannot be created). The verification status is pending_faculty. finalize_educator_signup is false because they haven’t completed all four steps of the sign up flow. The role is “instructor”.

Step 3

User is presented with a screen that comes from SheerID. We call this the SheerID iframe. The first name, last name, and email address are pre-populated using what information the user previously provided us with. The most important piece of information that users have the opportunity to provide us with in this screen is their school’s name from which they got their email address.

At this point, in the ideal scenario, the user gets instantly verified by SheerID. If so, SheerID sends us the user’s information in a web request. Most importantly, the user’s approval and their school name. And if the user changed their country or first name or last name, then we also update those fields in Accounts because we trust SheerID. Then we update the user’s Salesforce Lead with the new and the updated information. The user’s account is not yet “finalized” though, even if they are verified by SheerID because we do not yet know the books (aka. “subjects”) that they have adopted or are interested in adopting.

Step 4

The last and final step is to get the last pieces of information from the user, mainly the books they have adopted or are interested in adopting and their specific educator role (Instructor, Administrator, Other educational staff).

The information that the user has the opportunity to give us at this point is: Which of the following best describes your role? How are textbooks chosen at your institution? How are you using OpenStax? Total number of students you teach per semester Books you've used in your courses However, not all of this information comes in every time. For example, if the user selects “Other” as their role, then the only field that they have the opportunity to provide us with is their role name.

Then, when the user submits this form Accounts makes another update to the salesforce lead for the user, and the user is then “finalized”, at which point salesforce automation should create a Contact for the Lead.