FlowRunner
PricingContact
Theme
Start Free

FIT CTU KOS

Education & LMS

Connect AI agents to KOSapi, the study information system of the Czech Technical University in Prague. Agents list courses, parallels, exam terms, semesters, and programmes and look up rooms and teachers so academic catalog data flows into schedules and reports.

Verified 12 actions Custom auth available
A scheduled flow runs the morning timetable check
Agent calls Get Semester with the value current to resolve today's semester code
Agent calls List Course Parallels and List Course Exams for the tracked courses, scoped to that code
Agent compares capacity, occupied seats, room, and exam times against yesterday's snapshot
Agent confirms every reading it is about to act on was scoped to the resolved semester
The timetable coordinator confirms the semester scope and the changed rows before any notice goes to a cohort

What This Integration Enables

KOSapi is the REST interface to the study information system of the Czech Technical University in Prague, and this connector reads it. Twelve operations, all reads: courses and their credits and completion types, the parallels that make up lectures, tutorials, and laboratories, exam terms with rooms and examiners and enrollment counts, semesters, study programmes, organizational divisions, rooms, and teacher directory records. KOSapi returns Atom XML; the connector parses it into clean JSON so a flow can work with it without an XML step.

Two properties are worth stating plainly. The connector is read-only, so it cannot change anything in the university's system. And its scope is deliberately narrow on the people side: Get Teacher exposes staff directory information, not private student data. Authentication is application-scoped rather than per-user, using an OAuth2 client credentials grant against the CTU authorization server, which is why the catalog lists it as a custom auth shape rather than a standard user connection.

What that leaves is a source of authoritative academic reference data that other flows can build on: timetable automations, enrollment reports, room utilization dashboards, and course catalog syncs. Because the connector writes nothing, every consequence of using it happens somewhere else, and that is where the human-in-the-loop design has to sit.

Without FlowRunner

Catalog data copied by hand Course codes, credits, and room assignments are transcribed into a spreadsheet each term
Semester scope assumed A query written last spring keeps returning last spring's exam terms
Changes noticed late A room reassignment reaches students after somebody happens to look

With FlowRunner

Read from the authoritative source Course, parallel, and exam data comes from the study information system itself
Semester resolved explicitly Every query carries a semester code the flow resolved and can show
Differences surfaced daily Capacity and room changes are detected on a schedule and reviewed by the person who owns the timetable

Use Case Scenarios

Timetable and exam term sync

A department wants its course timetable mirrored where staff already work. The agent calls Get Semester with the value current, then calls List Course Parallels and List Course Exams for each tracked course code within that semester. It writes the resulting slots into Google Calendar as departmental events, including room, teacher, and capacity. On the next run it compares against the previous snapshot and reports only what moved.

Capacity monitoring during enrollment

During the enrollment window, parallels fill unevenly. The agent calls List Parallels for the semester with an RSQL filter, reads capacity against occupied seats, and posts a short summary to the department channel in Slack when a group is close to full or a laboratory has stayed empty. The study coordinator sees the pressure while there is still time to open a group, rather than after the window closes.

Course catalog reporting

An annual review needs course credits, completion types, and owning departments across a set of programs. The agent calls List Programmes and Get Programme to resolve the programs in scope, List Divisions to interpret each course's owning department, and List Courses with an RSQL filter and pagination to walk the catalog. The output lands in Google Sheets with the semester code and the retrieval timestamp attached to every row, so a reader can tell exactly which snapshot they are looking at.

Human-in-Loop Highlight

This connector cannot break anything in KOS, because it only reads. The risk it carries is that it can be quietly wrong, and a wrong answer here gets forwarded to students. Parallels and exam terms are semester-specific. When a semester is not supplied, the query still succeeds and still returns well-formed data; it is simply data for a semester nobody asked about. A flow written in the spring keeps returning spring exam terms in October, and the failure looks exactly like success.

So the gate goes on the downstream act, not on a write the connector does not have. When a flow is about to send a room or exam-time change to a cohort, the agent first shows its work. It posts to the timetable coordinator the semester code it resolved, whether that code came from Get Semester with the value current or from a parameter someone hardcoded, and the specific rows that changed since the last snapshot: "Detected 4 exam term changes for BI-PA1. Semester resolved as B241 from Get Semester current, retrieved 06:14 today. Two of the four moved room, one moved date, one changed examiner. Send the notice to the 118 enrolled students, send only the date change, or hold?" A person confirms the scope and the content once. Everything upstream of that, the polling, the diffing, and the formatting, runs without anyone watching.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

12 actions

Courses

5
  • List Courses Lists courses taught at the university with RSQL filtering, semester scoping, ordering, and pagination. Each item carries the course code, localized name, credits, completion type, and a self reference.
  • Get Course Retrieves one course by its code, returning the full record including annotation and owning department. Supplying a semester adds semester-specific instance data such as capacity where available.
  • List Course Parallels Lists the lecture, tutorial, and laboratory groups of a course for a semester, with number, type, capacity, occupied seats, teachers, and timetable slots. A semester is strongly recommended because parallels are semester-specific.
  • List Course Exams Lists exam terms for a course in a semester, with date and time, room, examiner, capacity, and enrolled student counts. As with parallels, the semester determines whether the answer is the one you meant.
  • List Parallels Lists parallels across courses for a semester with optional RSQL filtering. Used when a flow wants to query timetable groups directly rather than course by course, for example a capacity sweep across a department.

Semesters

2
  • List Semesters Lists the academic semesters defined in the system with code, season, and start and end dates.
  • Get Semester Retrieves one semester by code, and accepts the value current to resolve the semester that is active today. This is the first call in almost every well-built flow on this connector.

Programmes

2
  • List Programmes Lists study programmes with RSQL filtering and pagination, each with code, localized name, type, and study form.
  • Get Programme Retrieves one study programme by code, returning its localized name, type, study form, standard length, and faculty division.

Organization

2
  • List Divisions Lists organizational divisions, meaning departments and faculties, with code, localized name, and type. Used to interpret the owning department recorded on a course.
  • List Rooms Lists rooms including lecture halls, laboratories, and offices, with RSQL filtering and pagination. Each item carries the room code, type, and division.

People

1
  • Get Teacher Retrieves a teacher record by CTU username, returning name, titles, email, and owning division. This is staff directory information, not private student data.

Frequently Asked Questions

What can FlowRunner do with FIT CTU KOS?

FlowRunner agents can run List Courses, Get Course, and List Course Parallels in FIT CTU KOS, plus 9 more actions.

Does connecting FIT CTU KOS to FlowRunner require OAuth?

FIT CTU KOS uses a custom authentication method to connect to FlowRunner.

Can FIT CTU KOS trigger a FlowRunner workflow automatically?

FIT CTU KOS doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with FIT CTU KOS

$100 in credits. No card required. Connect in minutes.