{
 "categories": [
  "education",
  "public-sector",
  "school-administration"
 ],
 "deployment": "saas",
 "evidence": [
  {
   "date": "2026-09-10",
   "fact": "homepage",
   "note": "Wilma presents a Finnish school platform that brings together administrators, teachers, students, and guardians, with ISO 27001 named on the homepage. visma.fi/inschool redirected to the same Wilma site.",
   "source": "https://www.wilma.fi/",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "name",
   "note": "The Swedish overview brands the product Wilma and states that data entered in Wilma is stored in underlying databases such as Kurre and Primus.",
   "source": "https://www.wilma.fi/sv/vad-ar-wilma-systemet/",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "vendor",
   "note": "The page states that microservices are delivered by Visma or its partners, and lists Visma-sold add-ons including Wilma OpenID and PrimusQuery.",
   "source": "https://www.wilma.fi/sv/vad-ar-wilma-systemet/",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "deployment",
   "note": "Wilma is described as usable in common web browsers without installing anything on the computer, plus iOS and Android apps.",
   "source": "https://www.wilma.fi/sv/vad-ar-wilma-systemet/",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "platforms",
   "note": "The page names the Wilma web version, the Wilma app, and the Daycare app, and tells users to download Wilma for Android or iOS.",
   "source": "https://www.wilma.fi/sv/vad-ar-wilma-systemet/",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "license",
   "note": "Paid add-on modules are listed, including Wilma OpenID, Primus OpenID, Wilma MDB interface, digital signatures, and SMS. The core product is a commercial school platform.",
   "source": "https://www.wilma.fi/sv/vad-ar-wilma-systemet/",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "modalities.api.exists",
   "note": "Visma help documents a JSON interface at wilmaurl/browsecourses/index_json. Unlike other Wilma pages, the course calendar does not need a Visma-issued developer key or login credentials.",
   "source": "https://help.inschool.fi/AMMA/fi/Hallinto-ja-lukuvuosi/Koulutuskalenteri-ja-hakijat/Koulutuskalenterin-JSON-rajapinta.htm",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "modalities.api.kinds[0]",
   "note": "Primus Settings includes mobile-interface API keys for own applications or integrations that use data from the software, such as timetables. The official Wilma app does not require this field.",
   "source": "https://help.inschool.fi/AMMA/fi/Yllapito-ja-lisapalvelut/Yllapito/Rekisterit-ja-rekisterikortit/Asetukset-rekisteri.htm",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "modalities.api.kinds[1]",
   "note": "The course-calendar interface returns JSON objects for schools, categories, and courses, with query parameters including school-id, format=json, and langid. Last updated 21.3.2019.",
   "source": "https://help.inschool.fi/AMMA/fi/Hallinto-ja-lukuvuosi/Koulutuskalenteri-ja-hakijat/Koulutuskalenterin-JSON-rajapinta.htm",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "modalities.api.auth[0]",
   "note": "Mobile-interface API keys must be at least 15 characters. They are stored on the single Settings register card in Primus.",
   "source": "https://help.inschool.fi/AMMA/fi/Yllapito-ja-lisapalvelut/Yllapito/Rekisterit-ja-rekisterikortit/Asetukset-rekisteri.htm",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "modalities.api.coverage",
   "note": "The documented public JSON surface is the course calendar. The same page states that other Wilma pages require a Visma-issued developer key. Authenticated mobile endpoints are not catalogued on the opened help pages.",
   "source": "https://help.inschool.fi/AMMA/fi/Hallinto-ja-lukuvuosi/Koulutuskalenteri-ja-hakijat/Koulutuskalenterin-JSON-rajapinta.htm",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "modalities.api.docs",
   "note": "Opened as Visma's current course-calendar JSON interface article.",
   "source": "https://help.inschool.fi/AMMA/fi/Hallinto-ja-lukuvuosi/Koulutuskalenteri-ja-hakijat/Koulutuskalenterin-JSON-rajapinta.htm",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "modalities.cli.exists",
   "note": "PrimusQuery is Primus's helper program for automated queries. Transfers can be scheduled by the operating system once a day or hourly, or started from a desktop shortcut without logging into Primus.",
   "source": "https://help.inschool.fi/PK/fi/Tilastot-tiedonsiirrot-ja-jarjestelmayhteydet/PrimusQuery/PrimusQueryn-kayttoonotto.htm",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "modalities.extensibility.scripting[0]",
   "note": "Named uses include transfers to learning environments and AD tools, teacher data to HR/payroll, and after-school billing. The utility needs outbound HTTPS to primushub.service.inschool.fi:443.",
   "source": "https://help.inschool.fi/PK/fi/Tilastot-tiedonsiirrot-ja-jarjestelmayhteydet/PrimusQuery/PrimusQueryn-kayttoonotto.htm",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "modalities.extensibility.scripting[1]",
   "note": "Wilma OpenID is a paid add-on for signing into Wilma with Microsoft Entra ID using authorization code or authorization-code PKCE. It is inbound SSO, not a school-data write API.",
   "source": "https://help.inschool.fi/AMMA/fi/Yllapito-ja-lisapalvelut/Lisapalvelut-ja-integraatiot/Wilma-OpenID/Wilma-OpenID.htm",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "modalities.extensibility.scripting[2]",
   "note": "MPASS login can be enabled, and an MPASS search interface can fetch user data as JSON when switched on.",
   "source": "https://help.inschool.fi/AMMA/fi/Yllapito-ja-lisapalvelut/Yllapito/Rekisterit-ja-rekisterikortit/Asetukset-rekisteri.htm",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "modalities.data_access.export[0]",
   "note": "The course calendar returns a JSON listing of public course data chosen by each institution.",
   "source": "https://help.inschool.fi/AMMA/fi/Hallinto-ja-lukuvuosi/Koulutuskalenteri-ja-hakijat/Koulutuskalenterin-JSON-rajapinta.htm",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "modalities.data_access.export[1]",
   "note": "PrimusQuery can create CSV files or HTML pages from Primus data.",
   "source": "https://help.inschool.fi/PK/fi/Tilastot-tiedonsiirrot-ja-jarjestelmayhteydet/PrimusQuery/PrimusQueryn-kayttoonotto.htm",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "modalities.data_access.export[2]",
   "note": "HTML pages are a documented PrimusQuery export so current Primus data can be published as web pages.",
   "source": "https://help.inschool.fi/PK/fi/Tilastot-tiedonsiirrot-ja-jarjestelmayhteydet/PrimusQuery/PrimusQueryn-kayttoonotto.htm",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "modalities.data_access.import[0]",
   "note": "PrimusQuery can store XML-form information into Primus, including creating and deleting register cards and changing fields.",
   "source": "https://help.inschool.fi/PK/fi/Tilastot-tiedonsiirrot-ja-jarjestelmayhteydet/PrimusQuery/PrimusQueryn-kayttoonotto.htm",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "modalities.agent_docs.llms_txt",
   "note": "https://www.wilma.fi/llms.txt returned HTTP 404 on 2026-09-10. https://help.inschool.fi/llms.txt also returned 404.",
   "source": "https://www.wilma.fi/llms.txt",
   "tier": "scraped"
  },
  {
   "date": "2026-09-10",
   "fact": "verdict.scores.cli",
   "note": "Official scheduled PrimusQuery with CSV/HTML export and XML write is a usable production path. It needs a person-linked Primus user, firewall allow-list, and Windows or Linux helper binaries, which keeps it in the useful-with-limits band.",
   "source": "https://help.inschool.fi/PK/fi/Tilastot-tiedonsiirrot-ja-jarjestelmayhteydet/PrimusQuery/PrimusQueryn-kayttoonotto.htm",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "verdict.scores.api",
   "note": "A documented public JSON calendar plus tenant API keys without a published authenticated catalogue is the usable-but-narrow API band.",
   "source": "https://help.inschool.fi/AMMA/fi/Hallinto-ja-lukuvuosi/Koulutuskalenteri-ja-hakijat/Koulutuskalenterin-JSON-rajapinta.htm",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "freshness.watch[0].url",
   "note": "Opened and verified as the current course-calendar JSON interface article.",
   "source": "https://help.inschool.fi/AMMA/fi/Hallinto-ja-lukuvuosi/Koulutuskalenteri-ja-hakijat/Koulutuskalenterin-JSON-rajapinta.htm",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "freshness.watch[1].url",
   "note": "Opened and verified as the current PrimusQuery commissioning article, including primushub.service.inschool.fi:443.",
   "source": "https://help.inschool.fi/PK/fi/Tilastot-tiedonsiirrot-ja-jarjestelmayhteydet/PrimusQuery/PrimusQueryn-kayttoonotto.htm",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "freshness.watch[2].url",
   "note": "Opened and verified as the current Primus Settings register article, including mobile API keys and MPASS.",
   "source": "https://help.inschool.fi/AMMA/fi/Yllapito-ja-lisapalvelut/Yllapito/Rekisterit-ja-rekisterikortit/Asetukset-rekisteri.htm",
   "tier": "declared"
  },
  {
   "date": "2026-09-10",
   "fact": "freshness.watch[3].url",
   "note": "Opened and verified as the current Swedish Wilma overview, including Primus, Kurre, PrimusQuery, Suomi.fi, and MPASS.",
   "source": "https://www.wilma.fi/sv/vad-ar-wilma-systemet/",
   "tier": "declared"
  }
 ],
 "freshness": {
  "last_verified": "2026-09-10",
  "volatility": "medium",
  "watch": [
   {
    "type": "docs",
    "url": "https://help.inschool.fi/AMMA/fi/Hallinto-ja-lukuvuosi/Koulutuskalenteri-ja-hakijat/Koulutuskalenterin-JSON-rajapinta.htm"
   },
   {
    "type": "docs",
    "url": "https://help.inschool.fi/PK/fi/Tilastot-tiedonsiirrot-ja-jarjestelmayhteydet/PrimusQuery/PrimusQueryn-kayttoonotto.htm"
   },
   {
    "type": "docs",
    "url": "https://help.inschool.fi/AMMA/fi/Yllapito-ja-lisapalvelut/Yllapito/Rekisterit-ja-rekisterikortit/Asetukset-rekisteri.htm"
   },
   {
    "type": "docs",
    "url": "https://www.wilma.fi/sv/vad-ar-wilma-systemet/"
   }
  ]
 },
 "homepage": "https://www.wilma.fi/",
 "id": "wilma",
 "license": "commercial",
 "modalities": {
  "agent_docs": {
   "llms_txt": false
  },
  "api": {
   "auth": [
    "api-key"
   ],
   "coverage": "partial",
   "docs": "https://help.inschool.fi/AMMA/fi/Hallinto-ja-lukuvuosi/Koulutuskalenteri-ja-hakijat/Koulutuskalenterin-JSON-rajapinta.htm",
   "exists": true,
   "kinds": [
    "rest",
    "json"
   ]
  },
  "cli": {
   "exists": true
  },
  "computer_use": {
   "issues": [],
   "viability": "unknown"
  },
  "data_access": {
   "export": [
    "json-courses",
    "csv",
    "html"
   ],
   "import": [
    "xml"
   ]
  },
  "extensibility": {
   "scripting": [
    "primusquery",
    "wilma-openid",
    "mpass"
   ],
   "webhooks": "unknown"
  },
  "integrations": {
   "make": "unknown",
   "n8n": "unknown",
   "power_automate": "unknown",
   "zapier": "unknown"
  },
  "mcp": {
   "first_party": "unknown",
   "third_party": [],
   "verdict": "unknown"
  },
  "rpa": {
   "drivability": "unknown",
   "notes": "No repeatable UI probe was run. Wilma is a Finnish school web and mobile platform over Primus and Kurre. The documented machine paths are the public course-calendar JSON interface, tenant mobile API keys, and PrimusQuery. Browser control of guardian or teacher sessions is not a substitute for those interfaces. This record is not Norwegian Visma InSchool.\n",
   "ui_stack": [
    "web-dom",
    "mobile-app"
   ],
   "vendor_support": []
  },
  "sdk": {
   "exists": "unknown",
   "languages": [],
   "official": "unknown"
  }
 },
 "name": "Wilma",
 "platforms": [
  "web",
  "ios",
  "android"
 ],
 "related": {
  "alternatives": [
   "visma-inschool",
   "visma-flyt-skole",
   "ist-everyday"
  ],
  "our_products": []
 },
 "schema_version": 1,
 "score_version": 1,
 "status": "active",
 "vendor": "Visma",
 "verdict": {
  "best_path": "cli",
  "scores": {
   "api": 4,
   "cli": 5,
   "computer_use": null,
   "integrations": null,
   "mcp": null,
   "overall": 5,
   "rpa": null
  },
  "summary": "Wilma is automatable today through Visma's PrimusQuery helper and a narrow official JSON surface, not through a general public REST catalogue. This record is Visma's Finnish school communication and administration platform, including the Primus and Kurre databases named on wilma.fi. It is not Norwegian Visma InSchool, Visma Flyt Skole, or IST Everyday. PrimusQuery is an official Primus utility for scheduled or one-click transfers: CSV and HTML export, XML write including create, update and delete of register cards, using a Primus user linked to a staff card, against https://primushub.service.inschool.fi on port 443. The course-calendar JSON interface at wilmaurl/browsecourses/index_json is public and does not need a Visma developer key or login. Other Wilma pages are documented as requiring a Visma-issued developer key. Primus Settings holds mobile-interface API keys (at least 15 characters) for own apps or integrations such as timetables. Public help does not publish the authenticated mobile endpoint catalogue. Wilma OpenID is inbound Entra ID login, not an outbound school-data API. First-party MCP ownership is not established. Computer-use viability is unassessed. CLI scores 5 and is the best path; API scores 4.\n"
 }
}