Skip to content

How the systems fit together

This page shows the recommended integration end to end, drawn as the systems in a real estate and the data that flows between them. It is the technical companion to How Cognassist is used in practice, which covers the same lifecycle from the people-and-practice side. Read this to build the mental model of which system calls what, then follow the integration checklist to build it in the right order.

The example estate is a OneAdvanced stack, a common further-education shape that makes the hand-offs concrete:

  • ProSolution: the MIS and enrolment system, your system of record.
  • ProMonitor: progress tracking, where tutors work day to day.
  • Smart Assessor: the e-portfolio.
  • Power BI: reporting.

Your estate will run different products, but it maps the same way: a system of record, the tools your staff work in, and a reporting stack. Cognassist sits alongside them as the source of truth for inclusion, and never reaches into your network. Every call is outbound from your systems, with results returned to an endpoint you register.

The whole picture

flowchart LR
  subgraph EST["Your estate (example: OneAdvanced stack)"]
    PS["ProSolution<br/>MIS, system of record"]
    PM["ProMonitor<br/>progress tracking"]
    SA["Smart Assessor<br/>e-portfolio"]
    BI["Power BI<br/>reporting"]
  end
  COG["Cognassist<br/>source of truth for inclusion"]
  PS -->|"1. Create learner + assign tutor"| COG
  COG -->|"2. Profile and results"| PM
  COG -->|"2. Profile and results"| SA
  COG -->|"3. Bulk evidence export"| BI

The integration is the same three phases used throughout these docs, and each phase is one hand-off:

  1. Get learners in: your system of record creates each learner in Cognassist and triggers the assessment.
  2. Put the data where it's needed: the profile and results flow back into the tools your staff already use.
  3. Pull data out: a bulk export feeds your reporting.

Everything runs against one credential set for your whole organisation. The sections below take each phase in turn: the systems involved, the data that moves, and the API hand-off, each linking to the guide that covers it in depth.

Stage 1: get learners in

A learner is enrolled in ProSolution, which stays the system of record. To be assessed, that learner also needs to exist in Cognassist, so the first hand-off creates them and sends the assessment invite. Nothing flows back yet; this stage is only about getting learners in and assessed.

flowchart LR
  PS["ProSolution<br/>system of record"] -->|"New enrolments"| INT["Your integration"]
  INT -->|"Create learner<br/>POST /v1/learners"| COG["Cognassist"]
  INT -->|"Invite to assessment<br/>POST .../assessment/invite"| COG
  COG -->|"Assessment invite"| LN["Learner"]
  • Create each learner with POST /v1/learners, setting clientReference to the ProSolution learner id (your stable join key) and primaryTutorEmail to a tutor who already exists in Cognassist.
  • Store the returned learnerId against the ProSolution record, so the later stages can write results back to the right learner.
  • Invite the learner with POST /v1/learners/{learnerId}/assessment/invite, or embed the assessment in your own journey.

The full create-and-reconcile loop, and why the routine match is on email, are in Create and manage learners. Delivery options are in Send the assessment.

Stage 2: put the data where it's needed

When a learner finishes, the result needs to reach the people who act on it: the tutors in ProMonitor and the evidence trail in Smart Assessor. This hand-off is event-driven, so your staff never wait on a poll.

flowchart LR
  COG["Cognassist"] -->|"100 Assessment Completed<br/>webhook"| INT["Your integration"]
  INT -->|"GET .../assessment"| COG
  INT -->|"Profile + results"| PM["ProMonitor<br/>tutors act here"]
  INT -->|"Profile + results"| SA["Smart Assessor<br/>e-portfolio"]
  • Subscribe to the 100 Assessment Completed webhook once, up front, with POST /v1/webhooks. Do this before you invite anyone in stage 1, so the event has somewhere to land.
  • On delivery, fetch the result with GET /v1/learners/{learnerId}/assessment and write the profile and classification into ProMonitor and Smart Assessor.
  • Render it responsibly: a cognitive profile is a signal, not a diagnosis. Lead with strengths, and treat support as offered, not imposed.

Receiving that webhook when you cannot open an inbound port, shown in Power Automate, is the subject of the Power Automate worked example. Reading and decoding the result is in Retrieve and render results; the webhooks-versus-polling choice is in Keep in sync.

Stage 3: pull data out

For reporting, you pull the evidence out in bulk rather than learner by learner, and load it into Power BI, or whatever your reporting stack is. Each record preserves the golden thread from support delivered back to the assessed barrier, which is what makes it evidence you can stand behind in your own funding and audit processes.

flowchart LR
  INT["Your integration"] -->|"POST /v1/learnerexports"| COG["Cognassist"]
  COG -->|"700 Learner Export Completed<br/>webhook (evidence)"| INT
  INT -->|"Load for reporting"| BI["Power BI<br/>reporting"]
  • Subscribe to 700 Learner Export Completed first, then call POST /v1/learnerexports over a date range.
  • The per-learner evidence payload arrives on that webhook; load it into your reporting stack.
  • What you record, and how you recover the cost of the support you provide, stays your decision under your own policy. See Export evidence and data.

Cohort and reporting-shaped endpoints, and structured plan data, are on the roadmap, not live today. Leadership dashboards also exist in-platform as Cognassist Insights, which is a dashboard rather than an API; for cohort views in your own tools, use the bulk export.

Where to go next