3a. Library Certification Guide

How Long Does it Take?

The time it takes to build an integration with Clever varies depending on your business needs, data model, and technical constraints.

Once you have built a Clever integration, you may submit to become certified. After you submit your certification, our Partner Engineering team will review your integration in accordance with our certification requirements. Once we've finished reviewing your submission, you’ll receive an email with your certification results and recommended next steps. If needed, we will schedule a call to go over the integration in greater detail.

How Do I Get Started?

Create a developer account at apps.clever.com/signup. You can then refer to our Library integration documentation here:

Getting Started in the Library


You will need to ensure the following items are complete before submitting for certification.

  • Visit Clever Academy to make sure you understand how Clever works.
  • As part of the Library Certification process, you will also need to sign our Universal DSA. Please reach out to [email protected] to receive this form. Here is an example: Universal DSA
  • Upload marketing collateral in your dashboard.
  • Test your integration thoroughly. A testing guide for Library integrations can be found here: Testing Your Integration.
  • Meet the integration requirements listed below

Integration Requirements

Your app must:

  • Use the authorization grant flow to support SSO
  • Provision accounts on-demand for all teachers and students (if you have a student experience)
  • Provide a free trial or demo
  • Utilize all relevant data from Clever API
  • Support a student experience if there is one in application
  • Match users on Clever ID when they log in
  • Allow teachers to merge Clever account with existing account upon first login
  • Support students with multiple teachers
  • Support teachers with zero sections
  • Allow users to log in on the primary redirect URI, even if application is multi-tenant. Redirect URI must be secured with https
  • Show a friendly error screen when logins fail
  • Update all data upon each subsequent login or provide a method for users to sync data
  • Provide clear indication to user that they are logged in to the correct account
  • Provide a "Log Out" button


  • Add a "Log in with Clever" button to log-in page
  • For required fields that you can't get from the API, prompt users to provide this information on first login
  • Indicate that class rosters are automatically imported from Clever (if your application supports the concepts of classes/sections)
  • Minimize onboarding steps and questions upon signup using available fields in Clever API
  • Leverage data available from Clever (e.g.name, email, role, grade level, subject)
  • Allow teachers to re-sync their data from Clever on demand
  • Allow teachers to select and customize which classes are surfaced and synced via Clever
  • Associate students with teachers via the Clever API data, i.e. do not require entry of class codes to be associated with a classroom
  • Support sections with multiple co-teachers
  • Support teachers with 10+ sections
  • Support sections with 100+ students
  • Support students, teachers, and sections with names that contain utf-8 characters, such as ñ or é
  • Override any existing session in your application in order to support students on shared devices

Important questions to answer

  • Does your integration work in:
    • Chrome
    • Firefox
    • Internet Explorer
    • Safari
    • Mobile Safari
    • Mobile Chrome
  • What is the setup process when a teacher decides to sign up for your app?
  • Do you require roster information?
  • Do you have any specific rostering requirements (e.g. syncing only Math sections, etc.)? If so, will you build a UI that allows teachers to only see relevant sections/classes?
  • Will you update the data upon each login or will users have an option to sync new data within your application?
  • Do you support co-teachers? How will you handle this if so?
  • Do you require any other fields than the ones provided (e.g. school, district info)? If so, do you prompt the user for these during onboarding?
  • Is there an amount of inactivity after which you log someone out?
  • What screen are users directed to when they're logged out? Does the window close?