Managing Students
Enroll, organize, and monitor student accounts across classes and sections in Testify.
Overview
Students are the primary users of Testify's exam and learning features. As an Org Admin, you manage the student lifecycle from enrollment through class assignment to performance monitoring. Testify supports individual student creation, bulk import via Excel/CSV files, and self-service signup through invite links.
Adding Students
Adding a Single Student
- Navigate to "Users" > "Add User"
- Fill in the student's information:
- "Email" (required) -- the student's email address
- "Password" (required) -- a temporary password for the account
- "First Name" (required) -- the student's first name
- "Last Name" -- the student's last name
- "Phone" -- contact phone number (optional)
- "Role" -- select "Student"
- Optionally assign to a class:
- "Class" -- select the class to enroll the student in
- "Section" -- select the section within the class
- Click "Create User"
The student is created and immediately enrolled in the specified class and section if provided.
Tip: If you do not assign a class during creation, you can assign the student to a class later through the class management interface.
Adding Students via Invite Link
Generate a self-service signup link for students.
- Go to "Users" > "Invite Links"
- Click "Generate Invite"
- Configure the invite:
- "Role" -- select "Student"
- "Class" -- select the class for auto-enrollment
- "Section" -- select the section (optional)
- "Expires In (Days)" -- set an expiration (optional)
- "Max Uses" -- limit the number of signups (optional)
- Click "Generate" and copy the link
- Share the link with students
When a student uses the invite link:
- They see the organization name, role, class, and section
- They create their account with email, password, and name
- They are automatically enrolled in the specified class and section
- Email verification is skipped for invite-based signups
Tip: Share class-specific invite links via QR codes displayed in the classroom. Students can scan and sign up instantly.
Bulk Importing Students
Import hundreds of students at once using an Excel or CSV file.
Downloading the Template
- Navigate to "Users" > "Bulk Import"
- Click "Download Template"
- The template includes the following columns:
- First Name (required)
- Last Name (required)
- Email (required)
- Phone (optional)
- Class/Section (optional, e.g., "10-A")
- Roll No (optional)
Preparing the Import File
Fill in the template with student data. Each row represents one student.
First Name | Last Name | Email | Phone | Class/Section | Roll No
-----------|-----------|--------------------|-----------:|---------------|--------
John | Doe | john@example.com | 9876543210 | 10-A | 001
Jane | Smith | jane@example.com | 9876543211 | 10-B | 002
Uploading and Previewing
- Click "Upload File" and select your Excel or CSV file (max 10 MB)
- The system parses the file and shows a preview:
- Valid rows highlighted in green
- Invalid rows highlighted in red with error descriptions
- Duplicate emails flagged
- Review the preview carefully before proceeding
Running the Import
- Click "Import" after reviewing the preview
- The system processes each row:
- Creates the user account with a generated temporary password
- Assigns the Student role
- Creates the class if it does not exist (matched by name and current academic year)
- Creates the section if it does not exist
- Adds the student to
class_memberswith their roll number - Sends a welcome email with login credentials and a verification link
- The results page shows success and failure counts with detailed error messages
Import Results
| Field | Description |
|---|---|
| Total | Number of rows processed |
| Success | Number of students created |
| Failed | Number of rows that failed |
| Errors | Per-row error details (e.g., duplicate email, missing required field) |
Tip: For large imports (500+ students), the process may take a few minutes. Do not close the browser tab during the import.
Bulk Import via Organization API
For organizations with existing student information systems, the bulk import API endpoint accepts a JSON array of users.
- Send a POST request to
/organizations/v1/:orgId/users/bulk-import - Include the role (
student) and an array of user objects - Each user object can include: name, email, phone, class, section, roll_number
- The system processes each user and returns success/failure counts
Viewing the Student List
- Navigate to "Users"
- Filter by "Role" > "Student"
- Each student entry shows:
- Full name
- Email address
- Phone number
- Class and section assignment
- Confirmation status (active or pending)
- Last login date
Searching for Students
Search by first name, last name, or email in the search bar. Results filter in real-time.
Filtering by Class
- Use the "Class" filter dropdown to see students in a specific class
- Use the "Section" filter to narrow further
Assigning Students to Classes
During Creation
When creating a student or using bulk import, specify the class and section to auto-enroll the student.
Manual Assignment
- Go to "Classes" > select a class
- Click "Add Student"
- Select the student from the dropdown
- Assign a section and roll number
- Click "Add"
Re-Assigning to a Different Class
- Remove the student from their current class
- Add them to the new class with the appropriate section
Tip: When promoting students to the next grade at the start of a new academic year, create new classes for the new year and re-assign students.
Editing Student Information
- Navigate to "Users"
- Find the student and click "Edit"
- Update:
- "First Name" and "Last Name"
- "Phone"
- "Email" (requires re-verification)
- Click "Save"
Removing Students
- Navigate to "Users"
- Find the student and click "Remove"
- Confirm the removal
What happens:
- The account is soft-deleted (deactivated, not permanently removed)
- The student is removed from all class memberships
- Exam attempts and results are preserved for records
- The student can no longer log in
Tip: Use soft delete for students who leave mid-year. Their exam history is preserved for reporting purposes.
Student Progress Overview
At-a-Glance Metrics
For each student in the user list, you can see:
- Total exams taken
- Average performance percentage
- Last activity date
Detailed Student Analytics
- Click on a student to view their profile
- Navigate to the "Analytics" tab
- View:
- Exam history with scores and rankings
- Subject-wise performance breakdown
- Performance trend over time
- Comparison with class average
See Organization Analytics for organization-wide student performance data.
Managing Student Accounts
Password Issues
Students who forget their password can use the "Forgot Password" link on the login page. As an admin, you cannot view or reset student passwords directly -- they must go through the email-based reset flow.
Email Verification
Students who have not verified their email cannot log in. Check the confirmation status in the user list:
- Active (confirmed = 1) -- email verified, can log in
- Pending (confirmed = 0) -- email not yet verified
For students who did not receive the verification email:
- Ask them to check spam/junk folders
- Have them use the "Resend Verification" option on the login page
- Alternatively, create a new invite link for the student to re-register
Parent Linking
Students can generate a link code to connect their account to a parent's account.
- The student goes to "Settings" > "Parent Link"
- They click "Generate Link Code"
- A 6-character code is generated
- The student shares the code with their parent
- The parent enters the code in their Parent Portal to link accounts
Tip: Remind students to generate and share parent link codes at the start of the term so parents can track performance from day one.
Class and Section Organization
Creating Classes
- Go to "Classes" > "Create Class"
- Enter the "Class Name" (e.g., "Grade 10")
- Set the "Academic Year" (defaults to the current year)
- Click "Create"
Creating Sections
- Select a class
- Click "Add Section"
- Enter the "Section Name" (e.g., "A", "B", "Science", "Commerce")
- Click "Create"
Viewing Class Membership
- Select a class to see all enrolled students and teachers
- Filter by section
- View roll numbers and roles
Best Practices
Enrollment Planning
- Set up classes and sections before the academic term begins
- Generate class-specific invite links for self-service enrollment
- Prepare bulk import files from your student information system
- Validate email addresses before import to minimize failures
Ongoing Management
- Review the student list monthly for inactive accounts
- Check confirmation status to identify students who have not completed signup
- Monitor class sizes to ensure balanced distribution
- Update class assignments promptly when students transfer sections
Data Quality
- Use consistent email formats (avoid personal vs. institutional email mixing)
- Assign roll numbers during import for easy identification
- Keep phone numbers up to date for communication
- Remove students promptly when they leave the organization
Troubleshooting
Student Cannot Join via Invite Link
- Verify the link has not expired (check expiration date)
- Check if the link has reached its maximum use count
- Ensure the link has not been deactivated
- Try generating a new invite link
Bulk Import Errors
- "User with this email already exists" -- the email is already registered in the system
- "Name and email are required" -- check that required columns are filled
- File format error -- ensure the file is .xlsx, .xls, or .csv
- File too large -- keep files under 10 MB
Student Not Appearing in Class
- Verify the student was assigned to the class during creation or import
- Check the class and section names match (case-sensitive)
- If the student signed up via invite link, verify the invite had the correct class selected
- Manually add the student to the class if needed
Student Cannot See Assigned Exams
- Verify the student is enrolled in the class the exam was assigned to
- Check that the exam is published (not in draft status)
- Ensure the exam's scheduled time has not passed
- Verify the student's account is confirmed and active