Ori is the chat assistant in TimeIt360 (the chat icon in the bottom-right corner). Beyond answering how-to questions, Ori can also do work for you — bulk-import data from Excel and create records directly from a conversation. Creating a record happens through a small fill-in form right inside the chat: Ori prefills it from what you said, you adjust the selectors, and type save.
At a glance
Ori can do thirteen things that touch your school data:
Bulk Excel imports (any column layout):
- Add teachers from any Excel file
- Add grades / classes / sections from any Excel file
- Add subjects from any Excel file
Bulk Excel imports (our default templates): 4. Set class teachers per grade 5. Wire teachers to subjects + grades 6. Set periods-per-week (grade × subject matrix)
Create records by chat (no file needed) — Ori shows a fill-in form, you adjust and type save: 7. Create a pre-assignment rule 8. Create a subject group 9. Mark a teacher as visiting (set their availability) 10. Add a subject 11. Add a teacher 12. Add a grade / section 13. Add a bell-times schedule
For Excel imports, Ori shows a preview table with Confirm and Cancel buttons — nothing is saved until you click Confirm. For the create-by-chat forms, you fill in the form and type save — Ori creates (or, for the edit forms, updates) the record on your behalf. Ori cannot delete records — see Safety and limits.
Separately from changing your data, Ori can also hand a problem it can't solve to our support team by filing a ticket for you. That has its own preview step, and you confirm it by replying yes — see Escalate to the support team.
How attachments work
To bulk-import, attach an Excel file to the chat using the paperclip icon next to the message input, then tell Ori what you want done. Ori reads the sheet on the server, builds a preview, and waits for you to confirm.
Supported file: .xlsx. Maximum 500 rows. The file stays on our server for 2 hours, then is auto-deleted.
1-3. Foreign-template imports (teachers / grades / subjects)
These three accept any column layout. Ori uses an AI extractor to find the data wherever it lives in the sheet, even if your column headers don't match our templates. Great for importing from a sheet your school already maintains in its own format.
How to use
- Click the paperclip icon next to the chat input and pick your
.xlsxfile. - Tell Ori what you want: "add these teachers", "import these grades", "add subjects".
- Ori shows a preview table with each row marked add or skip (with reason — duplicate, no name, etc.).
- Click Confirm to save, or Cancel to discard.
Auto-fills you'll see
| Field | Auto-fill behavior |
|---|---|
| Teacher email (missing) | Generates a placeholder like priya@s2.local — edit later in the Teachers page |
| Teacher initials (missing) | Derived from name (Priya Sharma → PS); collisions resolved by appending a digit |
| Grade section (missing) | Defaulted to "A" |
| Subject code (missing) | Derived from name (Mathematics → MATH) |
Auto-filled values show inline in the preview with a small (auto) or placeholder badge so you can spot them before confirming.
Cross-school email conflicts (teachers only)
Teacher emails are globally unique across all TimeIt360 schools. If an email in your sheet already belongs to a teacher at a different school, that row will be skipped and you'll see a red badge — you'll need a different email for that teacher.
4. Class teachers (homeroom) import
This one uses our default template — download it from the Class Teachers page (Excel button). Columns: Grade Name, Section, Initials, Teacher.
How to use
- Download the template from
/class-teachers(Excel Import Export button). - Fill in the Teacher column for each grade (use the teacher's full name as it appears in your Teachers list).
- Attach the sheet to Ori chat and say "set class teachers from this sheet".
- Confirm in the preview.
Notes
- Empty teacher cell = unassign that grade's class teacher
- Each row needs an existing Grade and Teacher — unmatched names are skipped with a reason in the preview
- Requires a subject with code "HR" to exist in your school (used internally as the homeroom marker)
5. Teacher ↔ subject assignment import
Default template — download from the Teacher Subject Assignments page. Columns: TeacherEmail, SubjectId, SubjectName, GradeId, GradeName, GradeSection, IsAssigned.
How to use
- Download the template from
/teachers/subject-assignments. - The template comes pre-populated with your current data; edit the IsAssigned column (true/false) on rows you want to change.
- Attach the sheet to Ori chat and say "update teacher subject assignments".
- Confirm in the preview.
Notes
- IsAssigned accepts true/false, 1/0, yes/no, y/n
- Ori only applies real changes — rows where IsAssigned already matches the current state are skipped as "no change"
- Teacher resolution: email is preferred, but full name works as fallback
6. Grade ↔ subject matrix import (periods per week)
Default template — download from the Grade Subject Assignments page. The matrix has subjects in rows (with Subject, Subject Code, Type columns) and grade names as the column headers; each cell is periods-per-week.
How to use
- Download the template from
/grades/subject-assignments. - Edit cells with the new periods-per-week values. Empty a cell to clear that subject from that grade.
- Attach the sheet to Ori chat and say "update the period matrix".
- Confirm in the preview.
Notes
- Numeric cell → add or update periods_per_week
- Empty cell → clear existing assignment (this is the only "deletion" Ori performs, and only when you change a cell from a number to blank in your sheet)
- Subject groups: set Type column to
Groupand use the group display format (e.g.ENG/ARA) in the Subject Code column - Preview is capped at 100 visible cell changes; if your sheet has more, the remainder still applies on Confirm
Create records by chat (in-chat forms)
No file needed. When you ask Ori to create something, it opens a small fill-in form right in the chat — a list of fields with the right kind of picker for each (a dropdown for a teacher, a multi-select for grades, a time-slot grid for periods). You only ever select; you never type IDs or exact spellings.
How the form works
- Ask in plain words. "Create a dispersal pre-assignment with the class teachers for grades 2 to 12."
- Ori prefills the form. It reads your message and pre-selects everything it can — the grades, the subject, the type. Anything it's unsure about is left blank for you.
- Adjust the selectors. Change a dropdown, tick a few grades, pick the time slots. The options come straight from your school's existing data, so there's no guessing at names.
- Type
save. Ori creates the record on your behalf and confirms it. (You can also type "save it", "create it", or "done".)
If something needs fixing
- If a required field is empty or a name is already taken, Ori tells you and leaves the form open so you can fix just that field and type save again — you don't start over.
- Names are never overwritten. If "Dispersal" already exists, Ori asks you to pick a different name rather than replacing the existing rule.
Because the options are pulled from your own data, the form sidesteps the spelling/typo problems of free-text — pick "Grade 9 A" from the list instead of hoping Ori guessed the right section.
Create a pre-assignment rule
Pins a subject (or subject group) and teacher(s) to specific grades and time slots — used for dispersal, assembly, fixed periods, or class-teacher periods.
Example
You: "Create a class-teacher dispersal for grades 2 to 12"
Ori: (opens a form with the type set to Class teacher, grades 2–12 pre-ticked) "Here you go — set the fields below, then type save and I'll create it."
Fields in the form
| Field | Required | Notes |
|---|---|---|
| Name | Yes | Must be unique in your school |
| Type | Yes | Team teaching, Fixed schedule, or Class teacher |
| Subject (or subject group) | Yes | One combined picker — choose a subject or a group |
| Grades | Yes | Multi-select |
| Teachers | Yes, except Class teacher | Hidden for Class teacher type (each grade's homeroom teacher is used automatically) |
| Schedule | Yes | Which bell-times schedule the slots come from |
| Time slots | Yes | Pick the day × period cells on the grid; the number of slots becomes the periods-per-week |
| Priority | Optional | 1–10, default 5 |
Notes
- The number of time-slot cells you pick is the periods-per-week — there's no separate periods field.
- For the Class teacher type, leave teachers alone — Ori uses each grade's homeroom teacher.
Create a subject group
A subject group lets two or more subjects share the same timetable slot (e.g., an Arabic/English elective block).
Example
You: "Create a subject group called Languages with English, Hindi, Arabic"
Ori: (opens a form with the name and the three subjects pre-selected) "Set the fields below, then type save."
Fields in the form
| Field | Required | Notes |
|---|---|---|
| Group name | Yes | Must be unique in your school |
| Subjects | Yes | 2 to 8 subjects, picked from your subjects list |
| Description | Optional | Free text |
Notes
- Existing group names are protected — Ori asks for a different name rather than overwriting.
- Today's limit is 8 subjects per group.
Mark a teacher as visiting (set availability)
Visiting teachers are part-time staff who are only available on specific days and periods. In chat, Ori marks an existing teacher as visiting and records when they're available.
Example
You: "Mark Mr. Patel as a visiting teacher"
Ori: (opens a form with Mr. Patel selected) "Pick his schedule and the slots he's available, then type save."
Fields in the form
| Field | Required | Notes |
|---|---|---|
| Teacher | Yes | Pick from your existing teachers list |
| Schedule | Yes | Which bell-times schedule the slots come from |
| Available slots | Yes | Pick the day × period cells the teacher can work |
| Max hours | Not a field | A teacher's max hours is not a setting. A visiting teacher's limits come from the slots you pick |
Notes
- The person must already be in your Teachers list. If they're not, create the teacher first (Ori can do that — see below), then mark them visiting.
- Setting availability replaces the teacher's current visiting slots with what you pick in the form.
- Ori can't change a teacher's max hours (per day or per week): it is not an editable setting. Adjust the availability slots instead.
- To turn a visiting teacher back into a regular teacher, open them on the Teachers page → Visiting Teacher editor → Convert to regular teacher (this clears their availability and removes visiting status).
Create a subject, teacher, grade, or schedule
Ori can also create a single record of these basic types, using the same fill-in form. Handy when you just need to add one without opening the page.
| Ask Ori to… | Fields | Notes |
|---|---|---|
| Add a subject | Name, Code (both required), Description (optional) | Code must be unique in your school |
| Add a teacher | Name (required), Email, Specialization (optional) | Email, if given, is globally unique |
| Add a grade / section | Grade name + Section (both required) | E.g. "Grade VI", section "A" |
| Add a bell-times schedule | Name (required), Description (optional) | Creates the schedule shell; your first schedule becomes the default |
Notes
- After creating a schedule, add its period times on the Bell Times page (
/bell-times) — Ori creates the schedule container, not the individual bell times yet. - If a code, email, or name is already in use, Ori keeps the form open and asks you to change it — fix the value and type save again.
Escalate to the support team
When Ori can't fix a problem in the chat, it can file a support ticket with our team on your behalf. Nothing is sent until you say so — Ori first shows you exactly what it would send.
When Ori offers a ticket
- After two fixes haven't worked. When Ori is working through a failed timetable generation with you and its suggested fix, and then a second angle, haven't solved it, Ori says it may need an engineer to look at your specific data and asks whether you'd like it to bring someone in. It builds the ticket preview only if you agree.
- When there's nothing useful to go on. If Ori's look at a generation run turns up no clear pattern, it says so and offers to bring an engineer in.
- When you ask for one. Say something like "raise a ticket", "file a ticket", "open a support ticket", "escalate this", or "talk to your team", and Ori sets it up.
Being frustrated on its own doesn't file anything. If you're venting or asking for a phone number, Ori acknowledges it and tries to help in the chat first; a ticket is offered as a last resort, as an option. (TimeIt360 support is by email — there is no phone support.)
The two steps
- Preview. Ori shows what it would send in the chat: a subject line and what the ticket includes — the generation diagnostic (if Ori ran one), the fixes you already tried together, and the chat so far. It ends with "Reply 'yes' to send, or tell me what to change."
- Your go-ahead. Reply yes (or "send it" / "go ahead") and Ori files the ticket. If you'd rather change something or not send it, say so instead — nothing is filed. Ori never files a ticket in the same reply as the preview, because you haven't seen it yet.
Confirming a ticket is a chat reply, not a Confirm button — it works differently from the Excel-import preview.
What the ticket contains
The ticket is marked as filed by Ori on your behalf and carries: your original question or problem, any generation diagnostic Ori ran, each fix Ori suggested together with your response to it, the most recent lines of your conversation, and the page you were on when you escalated.
After it's filed
Ori tells you the ticket number and that you'll get an email reply within 24 hours.
If something goes wrong
- The preview expires after 30 minutes. If you reply yes after that, Ori tells you it has been a while and builds a fresh preview for you to confirm. No ticket is filed from an expired preview.
- If filing fails, Ori tells you plainly that nothing was filed rather than pretending it went through, and offers to try again. If it still fails, email support@kvalabs.com directly.
Safety and limits
Ori cannot delete, and only edits what you confirm
Create forms never overwrite: if a record with the same name, code, or email already exists, Ori tells you and keeps the form open so you can pick a different value. Separate edit forms change an existing record, and only the fields you fill in (blank fields are left unchanged): a teacher's name, email or specialization; a subject's name, code or description; a grade's name or section; a bell time's name, times or break flag; and the visiting-teacher form updates a teacher's availability. Ori cannot delete anything; to remove a record, use the regular page UI (Subjects, Pre-Assignments, Teachers, Grades).
For Excel imports, Ori applies what the sheet says. The grade↔subject matrix is the only import that can clear values (empty cell in the sheet → clears that periods-per-week assignment). All other imports either add new records or apply yes/no toggles you set in the sheet.
How saving works
- Excel imports: a preview bubble with Confirm / Cancel. Nothing is written until you click Confirm. If you close the chat without clicking either, the preview expires after 30 minutes and is automatically cancelled.
- Create-by-chat forms: you fill in the form and type save. Ori validates and creates the record. If a field is missing or a name is taken, the form stays editable so you can fix it and save again.
What if I make a mistake after saving?
Ori doesn't have an undo button. If you create something by mistake, use the regular UI to fix it — the Teachers, Grades, Subjects, Pre-Assignments, and Class Teachers pages all let you edit or delete individual records.
How long a conversation can run
One chat with Ori runs to 40 messages — that's roughly 20 questions from you and Ori's 20 replies. (Raised from 20 messages on 2 August 2026, because the conversations that ran longest were the troubleshooting ones, and those are the ones worth finishing.)
- At 32 messages a small note appears above the box letting you know the chat is getting long. Nothing stops working — it's just a heads-up so the end isn't a surprise.
- At 40 the message box is disabled and reads "Conversation limit reached — clear chat to continue". Click the 🗑️ delete button to start a fresh chat and carry on.
- Starting fresh doesn't lose your work. Anything Ori already saved for you is in your school's data; only the chat history is cleared.
Clearing the chat while Ori is replying
The 🗑️ delete button is greyed out while Ori is still working on a reply. This is deliberate: clearing mid-reply discards the answer Ori is in the middle of writing, including anything it was about to file or save on your behalf. Wait for the reply to finish — usually a second or two — and the button becomes available again.
Limits
| Setting | Limit |
|---|---|
| Messages per conversation | 40 (about 20 questions and replies) |
| Excel file size | Up to 500 rows |
| Attachment retention | 2 hours then auto-deleted |
| Import preview retention | 30 minutes, then auto-cancelled |
| Support-ticket preview retention | 30 minutes, then Ori builds a fresh preview |
| Subject group size | 2 to 8 subjects |
| Pre-assignment periods per week | 1 to 10 (set by the number of time slots you pick) |
| Pre-assignment teachers per rule | 1 to 20 |
| Pre-assignment grades per rule | 1 to 20 |
Tips for working with Ori
- Say the details in your first message — "dispersal for grades 2 to 12 with the class teachers" lets Ori prefill most of the form, so you just check it and type save.
- You don't have to spell names exactly — the form's pickers are fed from your data, so you select the right teacher/subject/grade from a list instead of typing it.
- Type
saveto confirm a create form, "Confirm" to confirm an Excel import, and reply yes to confirm a support ticket — they're three different flows. - Mention column meanings if an import gets it wrong — for foreign-template imports, say "the Code column is actually the employee ID, not initials" and Ori will redo the preview.
- Need a brand-new visiting teacher? Create the teacher first, then mark them visiting.
Related pages
- Timetable Generation (
/timetable) — when a generation run fails, ask Ori "why did my generation fail" (or just press Send when the chat sidebar opens automatically) for a cross-run diagnosis grounded in that run's own records: it tells a persistent data problem from seed luck, names the sole qualified teacher when one teacher is the bottleneck, and points Grade 11/12 schools at pre-assigning their group blocks — see Timetable Generation - Teachers (
/teachers) — to edit individual teachers, remove records, or convert a visiting teacher back to regular - Subjects (
/subjects) — to edit individual subjects or subject groups - Grades (
/grades) — to edit individual grades - Bell Times (
/bell-times) — to add the period times to a schedule - Class Teachers (
/class-teachers) — to set or remove individual class teacher assignments - Pre-Assignments (
/pre-assignments) — to edit or remove individual pre-assignment rules - Teacher Subject Assignments (
/teachers/subject-assignments) — to toggle individual assignments - Grade Subject Assignments (
/grades/subject-assignments) — to edit individual period counts