
Service desk
Lugh, an AI engineer with his own login
His own Jira account and email, working real support tickets under his own name.
How Lugh works →AI at InneallIn production, not a demo
An AI engineer on our service desk, an agent watching 31
production services, and connectors that let AI use our
Moodle, CRM, student records and this website. All of it in
production, all of it governed, none of it a demo.
Ops Agent06:31 UTC
Daily fleet sweep. Checked 31 ECS services, 13 hosts, 46 log groups. 3 issues, 1 critical.
Read-only sweep. Nothing was changed.
Ops AgentAction needed
moodle.inneall.net. What we saw: zone SSL changed to Flexible, so the CDN originates over HTTP and the HTTPS redirect loops. Suggested action: point the HTTP listener at the healthy blue target group.
Needs a human Approve. This will not run on its own.
ApproveSuggest another actionDecline
Ops AgentRecovered
Pingdom DOWN, www.inneall.ie. Findings and evidence are in the thread. No model was called: the 75-second re-check found the site back.
What is running today
Colleges ask us whether AI can work safely with the systems they already run. Rather than answer with slides, we built it for ourselves. Everything below is live in our own operation.

Service desk
His own Jira account and email, working real support tickets under his own name.
How Lugh works →
Operations
It can only run commands a person has read and approved.
How the Ops Agent works →
Connectors
Model Context Protocol connectors: named tools instead of a login.
See the connectors →
Engineering
They write, test and ship a growing share of our code, reviewed like everyone else's.
How we build with AI →
Website
Through our own Sitefinity connector, with a person approving every step.
Read how →
For your college
The same connectors, approvals and deny lists, pointed at your systems.
Start with an assessment →Every Irish and UK institution is being sold AI. Very few suppliers can
show it running against live systems with real permissions, real audit
trails and real limits. We can, because we did it to ourselves first.
Service desk
Lugh is a Python application on one small server in our AWS account. He has a Jira account, an email address and a hard list of things he cannot do. When his shift is on, he claims the oldest unassigned ticket, checks the live site and the code, and replies to the customer under his own name.
Customers can email him. He reads email but replies through the ticket, so every answer is on the record. Colleagues can message him on Slack.
Read the Lugh case study →
He works the queue the way an engineer would, and checks the system rather than trusting the ticket text.
85
The model returns a diagnosis, a draft reply and a certainty score from 0 to 100. Our Python harness decides what happens next.
A manager types "shift on 4" in Slack and he works for four hours, then stops. Ticket work can be halted without uninstalling anything.
Enforced by IAM, not by prompt
His AWS role carries an explicit deny list. Even if a run ignored every instruction, the account would not let it:
A real ticket, answered by Lugh
A college reported a Moodle user locked out after a long module reuse. Lugh went into the live system, found the stuck session, cleared it and replied. Names changed; nothing else.
"Hi Aoife, a lecturer was stuck after a long module reuse on a test course, which left her Moodle session locked so she could not get back in. I have cleared that stuck session and checked that her account is active and the login page is working. Can you give that another try now?"
Lugh, Service Desk, Inneall. Lugh is an AI-powered member of our support team.
His internal note on the same ticket: cause, certainty 92%, verification that the login page returned 200 and single sign-on redirected, what was changed, and the three ISO procedures he checked first. On a different ticket he recognised a request for new automated emails as a change, said so to the customer, and sent the account manager four lines:
Change, not a fault. Size: days.
No work until the client approves.
We will publish resolution and hand-over figures once there are three months of them.

Operations
We run dozens of client sites on a shared container platform. Outages look identical from the outside and need a different safe fix every time. The first twenty minutes of every incident used to be the same work: is it really down, which container, which command, is a pipeline running.
The Ops Agent does that work in seconds, so an engineer wakes up to a diagnosis and a plan, not a blank page. It investigates freely and changes only what a person has read.
Pingdom says a site is down. Within seconds the agent acknowledges it in Slack.
Waits 75 seconds to see whether it was a blip, and checks whether a deployment is already rolling.
Reads the containers, load balancers, hosts and logs for the named site, then explains what it found in plain language.
If a fix is justified, writes a frozen plan: up to 16 exact commands and 8 success checks, validated and preflighted against the live system.
A second model pass, with no tools, must return PASS before an Approve button appears.
A person presses Approve. The executor runs the stored commands, stops at the first failure and checks the result.
The design rule
The Approve button is bound to the incident, the proposal round and a hash of the plan. Execution is a plain bash runner over the stored list. There is no step where the AI reinterprets "yes".
One narrow exception
A person can approve immediately in Slack. If nobody answers within ten minutes, the frozen plan runs, but only when the site is still down, the plan is low risk, it uses only Systems Manager commands, and both the review and the live preflight passed.
Every morning a read-only sweep of the whole fleet posts one exception report: service availability, host capacity and log volume. It never repairs. It ends the same way every day: "Read-only sweep. Nothing was changed."
Tested like any production system, across approval policy, the executor, queue routing, plan review, deploy watch and recovery. The worker costs tens of dollars a month; model spend is capped by the plan and fails closed, never silently.
A first responder with hard gates, not a replacement for on-call. It is bound to a service map and our own operational skills, not a general assistant over the account. Approve means "run this exact script", never "use your judgement".
Connectors: how AI reaches our systems
An AI model is only useful to a college if it can safely use the systems the college runs. We build that access as Model Context Protocol (MCP) servers: small, named tools with their own keys and audit logs.
A containerised service on AWS giving an assistant governed access to courses, users and enrolments on a Moodle site, one tenant per key.
Four services on AWS Fargate: a portal orchestrator plus connectors for Salesforce, a student information system and an early-alert system, so one question can be answered across all three.
Our internal dashboard (resourcing, pipeline, management actions, timesheets) exposed to Claude, so a director can ask questions and record decisions in plain language.
A plugin inside this Sitefinity site that lets an AI list, edit and publish pages, with named keys and a server-side audit log. The pages you are reading were drafted through it.


Case study: Moodle connector
The connector sits in front of Moodle's own web services. If a tool is not on the list, the assistant cannot do it.
Writes, with the brakes on
Every write tool is built so that a mistake is hard to make and easy to see.
Moodle stays in charge
Moodle remains the source of truth for permissions and data.
Programme administrator asks
"Which of my second-year students have not submitted anything in three weeks?"
Programme administrator asks
"Show me the grading queue for the diploma module."
Every answer
Names the tool calls it made, so the person can see where every number came from.
AI-assisted engineering
Our engineers work with AI coding agents every day. Nothing they write skips a step: it goes through the same pipelines, with the same approvals, as code a person wrote.

Case study
In October 2026 we handed an AI agent the keys to inneall.ie through a connector we wrote ourselves. In one working day it reviewed every page, fixed bugs we had missed, built eleven new pages and put a new home page live, with a person approving each step. This page was written and published the same way.
Read how →
Guard rails
A person stayed in the loop
For a college website
Audit the whole site, propose fixes as drafts and leave a person to approve them, without anyone handing over a CMS login. Client names were removed from every example unless the client had agreed, and the review took minutes per page, not days.
Governance
The audit trail has to be designed in on day one. These are the controls we run on ourselves and propose for you.
Named tools, a key per person or per college, and least-privilege access. A user sees through the assistant only what they could already see in the underlying system. Agents carry IAM deny lists that hold even if a prompt is ignored.
Every connector call is logged on the server against the key that made it. Writes produce structured audit lines with secrets removed, and logs record function names and durations, never tokens. Incident evidence stays on the incident record.
Production changes run from a frozen plan a person has approved. Writes are dry runs by default. Website edits are drafts until published. A change request is never built before the client approves it.
Systems we host run in AWS in Ireland, or inside your own AWS or Azure account. Tools read from the system of record at the moment they are asked; nothing is copied into the assistant. We sign a data processing agreement with every client and are working towards ISO/IEC 27001.
What this means for your college
A chatbot with a knowledge base can explain the fee policy. It cannot tell a student what they owe, when their next class is, or whether yesterday's request has been picked up. What we propose for your Moodle, student record system, CRM and service desk is what we already run on our own.

Fixed price
A few days with IT and student services.
On Moodle, a read-only tenant against a copy of your site takes days, not months, and shows whether staff use it, which questions it answers well and which tools you would switch on next.
Works with the platforms you are already buying: OpenAI, Anthropic, Microsoft and Salesforce Agentforce.
In practice
A student asks what they need to do this week and gets one answer drawn from four systems:
The same model works for academics and support staff.
"Inneall are very solutions driven. They find better ways of doing things.
I can throw an idea at them and they'll find a way to do it."
No. Lugh is an AI agent: a Python application on one small server in our AWS account, with his own Jira login and email address. Every reply he sends says plainly that he is an AI-powered member of our support team, and a colleague can take any ticket back by reassigning it.
Only in one narrow case. It investigates freely, but changes run only from a frozen plan a person has approved in Slack, and Approve never goes back to the model. The exception is a class of low-risk Systems Manager repairs on a site that is still down, which run after ten minutes if nobody objects. Nothing touching git, pipelines, databases, DNS, IAM, secrets or server lifecycle qualifies.
No. Our connectors give an assistant a short list of named tools, each with its own key and audit log. On Moodle, the connector uses a normal web-service user with only the functions your college enables, never a site administrator, and a tool that is not on the allow-list is refused.
Systems we host run in AWS in Ireland, or inside your own AWS or Azure account. Tools read from the system of record at the moment they are asked; nothing is copied into the assistant. We sign a data processing agreement with every client and are working towards ISO/IEC 27001.
The ones you are already buying: OpenAI, Anthropic, Microsoft and Salesforce Agentforce. The integration layer, the approvals and the deny lists stay the same whichever model is behind them.
We will publish measured results as we have them, not before.
Start with an AI Readiness Assessment: a few days with IT and student services, ten use cases ranked and one costed pilot, at a fixed price.
For your college
Start with an AI Readiness Assessment: ten use cases ranked and
one costed pilot, at a fixed price.
Integrators for specialised education and CRM platforms
Built for ourselves first,
which is how we know it works

A college reported a Moodle user locked out after a long module reuse. Lugh went into the live system, found the stuck session, cleared it and replied. Names changed; nothing else.
"Hi Aoife, a lecturer was stuck after a long module reuse on a test course, which left her Moodle session locked so she could not get back in. I have cleared that stuck session and checked that her account is active and the login page is working. Can you give that another try now?
Lugh, Service Desk, Inneall. Lugh is an AI-powered member of our support team."
His internal note on the same ticket, written for our engineers: cause, certainty 92%, verification that the login page returned 200 and single sign-on redirected, what was changed, and the three ISO procedures he checked first. On a different ticket he recognised a request for new automated emails as a change rather than a fault, said so to the customer, and sent the account manager a four-line note: "Change, not a fault. Size: days. No work until the client approves."
Read the Lugh case studyColleges ask us whether AI can work safely with the systems they already run. Rather than answer with slides, we built it for ourselves first. Everything below is live in our own operation.


Straight from our operations channel. Site names are ours or anonymised.
An AI model is only useful to a college if it can safely use the systems the college runs. We build that access as Model Context Protocol (MCP) servers: small, named tools with their own keys and audit logs, rather than open database access.
Our engineers work with AI coding agents every day, inside the same review and release process as everything else.
Every Irish and UK institution is being sold AI. Very few suppliers can show it running against live systems with real permissions, real audit trails and real limits. We can, because we did it to ourselves before offering it to anyone else. The same connectors, the same approval model and the same deny lists are what we propose for your Moodle, your student record system, your CRM and your service desk.


We love API environments
and the challenge of integration
We’ve integrated systems others refused to touch!
“Inneall’s impact on our ability to deliver reliable, scalable technology has been absolutely enormous. What sets them apart is their deep knowledge of our business, they understand our systems, our teams, and our priorities. That means we’re not dealing with a technology supplier; we’re working with a partner who genuinely cares about getting it right.”
Edward Ormonde
Head of IT, Dublin Business School