EDGE8 · PLAN AND PROTOTYPE · 12 NOVEMBER 2026

Learning path requests, answered in hours, not days

An AI agent watches the shared L&D inbox. When a learning path request arrives, it reads what the requester needs, matches it to the courses and learning paths already in TalentLMS, and drafts a reply with the recommendation and a completion timeline. A person on the L&D team reviews, edits and approves it. Nothing reaches the requester without that approval.

For the client's L&D team and Edge8 delivery Structure the five Ds, the prototype inside section 3 Answer to the first question yes, TalentLMS has an API we can read and write (section 2)

1Define the problem

Who feels it. Requesters across the business who ask L&D for a learning path for themselves or their team, and wait. The L&D team, who answer each request by hand between everything else they own.

What it costs. Each request takes one to two hours of someone's attention: read the email, work out the real need, search the TalentLMS catalogue, pick courses, estimate a completion timeline and write the reply. When nobody is free, the requester waits up to 24 hours. The work is the same shape every time, and it is the kind of work people do least consistently when they are busy.

Why now. The catalogue already lives in TalentLMS and the requests already land in one shared inbox. Both ends have an API, so the agent can sit between them without changing how requesters ask or how L&D runs TalentLMS.

2Discover the data

Yes, TalentLMS has an API. It is a REST API (version 2) on every paid plan, not on Free or the free trial. An Administrator creates the key under Account & Settings → Integrations → API. Each call sends the key in an X-API-Key header and a version date in X-API-Version to https://<your-domain>.talentlms.com/api/v2. The limit is 200 calls per 5 seconds, far more than this needs.

What the API gives us

NeedEndpointUsed for
The course catalogueGET /courses, GET /courses/:idName, description, category and status of every course: what the agent matches against.
Course custom fieldsGET /course-fieldsWhere an estimated duration, level or audience lives if the team records one (see open questions).
CategoriesGET /categoriesGrouping courses by skill area so a match can be explained.
Learning pathsGET /learning-paths, GET /learning-paths/:idExisting curated paths. The agent prefers an existing path to building one from loose courses. Needs the Grow plan or above.
Enrolment (phase 2)POST /enrollments, POST /learning-paths/enrollmentsAfter approval, optionally enrol the learners so the reply can say "you are already enrolled".

Two ways to get the catalogue to the agent

The agent only needs to read the catalogue to match a request. It does not need to talk to TalentLMS on every request, so there are two options.

Option A: one-time load into Supabase (recommended to start)Option B: live sync from the API
HowPull every course, category and learning path once, through the API or an export from TalentLMS. Load it into Supabase tables, with the embeddings beside it. The agent reads only Supabase.A nightly job calls the TalentLMS API and updates the same Supabase tables.
GoodThe simplest build. No standing API key or job to watch. L&D can fix descriptions and add estimated hours in Supabase without touching TalentLMS. Matching is fast and cheap.Always current. New or retired courses show up the next morning without anyone remembering to do it.
Watch outIt goes stale. A course added in TalentLMS is invisible to the agent until someone runs the load again. Reviewers will catch it, but they should not have to.One more moving part: a key, a job, and an alert if it fails.
Keeping it freshRe-run the same load whenever the catalogue changes, or monthly. It replaces the rows, so running it twice does no harm.Automatic.
EnrolmentEither way, enrolling learners on approval (phase 2) writes to TalentLMS and needs the API key. A recommend-only service can run on Option A with no live connection to TalentLMS at all.

Recommendation. Start with Option A. The catalogue changes slowly, and a one-time load proves the matching on real data with the least build. Because the load script and the nightly job write the same tables, moving to Option B later just means running that script on a schedule. Nothing else changes.

What else the agent needs

DataExists todayNew
The shared L&D inboxYes. Mail system to confirm.Read and reply-as access for the agent: Microsoft Graph (Microsoft 365) or the Gmail API (Google Workspace), scoped to that one mailbox.
A catalogue indexNo. TalentLMS search is by keyword.Courses, paths, descriptions and categories in Supabase (loaded once or synced nightly, see above), with a text embedding per item, so "help my team run better 1-1s" finds a course titled "Coaching conversations".
Course durationUnconfirmed in the API response.If TalentLMS does not return one, a custom course field ("estimated hours") filled once by L&D. The timeline is only as good as this number.
The request recordNo. Lives only in email threads.One row per request: requester, extracted needs, matches, draft, reviewer, decision, timestamps. This is also the audit trail and the ROI measure.
Reply templatesIn people's heads and sent mail.Ten past replies the team is proud of, used as examples for tone and structure.

3Design the workflow

Six steps. The agent does the first four and the last one. A person owns step five.

1 WATCHNew emailThe agent checks the shared inbox every few minutes and picks up new threads.
2 SORTIs it a request?Learning path request, something else, or unclear. Anything else is left alone for the team.
3 READExtract the needWho the learners are, their role, skills wanted, level, deadline, how many people.
4 MATCHTalentLMS catalogueExisting paths first, then courses, each with a reason and a score. Builds a week-by-week timeline.
5 REVIEWHuman approvesL&D sees the request, the matches and the draft. Swap courses, edit the text, approve or reject.
6 SENDReply in threadSent from the shared inbox in the original thread. Optional: enrol the learners.

Prototype: the review screen

Click a request on the left. Tick or untick courses and the timeline and draft update. The data is made up; the catalogue tab shows what the agent reads from TalentLMS.

L&D request desk
SHARED L&D INBOX

4Determine the ROI

FAST goal. Every learning path request gets a reviewed, approved reply within 2 business hours of arriving, and a reviewer spends under 10 minutes on it.
MeasureTodayTargetRead from
Time from request to reply1 to 24 hoursUnder 2 business hours, 9 in 10 requestsRequest record: received and sent timestamps
Team time per request1 to 2 hoursUnder 10 minutes of reviewRequest record: review opened to approved
Drafts approved with light or no editsn/a8 in 10Edit distance between draft and sent reply
Requests the agent misses or misfilesn/aUnder 1 in 20Weekly spot check of the inbox against the queue
Catalogue gaps foundNot trackedEvery unmatched need listedGap list, reviewed monthly by L&D

The return. Most of one to two hours per request goes back to the L&D team, requesters get answers the same morning, and recommendations become consistent because they come from the whole catalogue rather than what one person remembers. The gap list is a by-product: a record of what the business asks for that TalentLMS does not yet have.

5Definition of Done

Build, in order

PieceWhat it doesDone when
1. Catalogue loadLoads courses, categories, custom fields and learning paths from TalentLMS into Supabase once (Option A) and indexes them. Running it again refreshes the tables. A schedule turns it into Option B.The Supabase row count matches the catalogue in TalentLMS, and a plain-English search returns sensible courses.
2. Inbox readerReads new threads in the shared inbox, sorts requests from everything else, extracts the need.Run against the last 30 real requests, it sorts at least 19 in 20 correctly.
3. Matcher and drafterMatches needs to paths and courses, builds the timeline, writes the draft in the team's voice.L&D rates drafts for those 30 past requests and would send 8 in 10 with light edits.
4. Review screen and sendThe screen in the prototype. Approve sends in thread from the shared inbox; everything is logged.A reviewer approves a live request end to end, and the requester gets it in the original thread.
5. Enrolment (optional)On approval, enrols the named learners through the TalentLMS API.The learner sees the path in TalentLMS straight after approval.

Finished means

Open questions for the L&D team

  1. Which mail system hosts the shared inbox: Microsoft 365 or Google Workspace? This decides the inbox connector.
  2. Which TalentLMS plan are you on? Learning paths through the API need Grow or above.
  3. Do courses carry an estimated duration? If not, are you willing to add an "estimated hours" custom field? The timeline depends on it.
  4. Who reviews? One named owner, or anyone on the team, first come first served?
  5. Enrol on approval, or recommend only? Recommend only can run on a one-time catalogue load with no live TalentLMS connection.
  6. How often does the catalogue change? This decides when a one-time load needs a re-run, or whether to go straight to a nightly sync.
  7. Ten good past replies we can use as the voice and structure for drafts.

Before building, an Administrator creates the API key and we confirm the exact response fields of /courses against your account. The endpoint list above comes from TalentLMS's help centre and public mirrors of its API specification; field-level detail has not yet been checked against a live account.

Sources