AI internal helpdesk bot
An AI Assistant for Internal IT Support
When an employee asks how to set up VPN access, the bot answers only from a page they can open and opens a ticket when that page is not enough.
Contents
Someone in finance messages the internal channel: the VPN client wants a certificate they have never installed. A sound bot first checks who is asking. It searches only sources that person is allowed to open, names the source it used, and stops when the evidence is not enough. It can classify the request, collect the minimum context, and prepare or open a ticket. It should not grant access on its own, reset credentials, change roles, run a command on the device, or close a security incident.
This guide is the internal helpdesk for frequent employee questions and IT requests: approved instructions, basic troubleshooting, triage, opening a ticket, and handing the case to IT. It is not an autonomous administrator, and it is not a bot that makes decisions about employees.
For classification, SLA priority, and routing of service requests from external customers, see the separate guide to AI ticket triage and routing for customer support.
What an internal AI helpdesk may do—and what stays outside its boundary
The first useful scope is one channel, a few categories that show up often, and a locked set of instructions that are still current. The bot helps someone find a checked answer and get the case ready. The existing IT and IAM process still owns permissions, and it still owns anything that changes an account, a device, or the security posture.
| Capability | Allowed initial scope | Outside the bot’s autonomous authority |
|---|---|---|
| Knowledge answer | Find an authorised instruction and show its title, link, and date | Reveal or summarise a document the employee cannot open |
| Triage | Propose request type, priority signal, and destination queue | Declare a security incident resolved or lower its priority without policy |
| Context collection | Ask for device, operating system, error message, and attempted steps | Ask for a password, MFA code, secret, private key, or unnecessary personal data |
| Ticket | Validate required fields, show a summary, and create one request | Change someone else’s tickets, approve a request, or close a case without verification |
| Identity and access | Open an access request and link an approved self-service instruction | Add a user to a group, reset MFA, assign a licence, or grant an administrator role |
| Device | Provide a verified low-risk instruction | Run shell, remote-device, installation, or deletion commands |
The bot may open an access request. An authorised IT or IAM process still approves the grant and still performs it. Text found in a document, a ticket, or an attachment is data. It is not permission to act.
Seven steps from an employee question to verifiable help
1. Authenticate the employee and channel
Before anyone searches the knowledge base, the system needs the organisation, the signed-in employee, the channel, and the session context that employee is allowed to use. A name in the message, or a signature that says “IT admin”, is not that check. In the web app or in Teams, reuse the login you already have. For email, verify the sender and the mailbox policy separately.
Store a stable request id. Do not send the model an employee profile it does not need. The answer should follow the evidence this person is allowed to see. It should not get wider because the question says “I’m an administrator”.
2. Classify the request into a small typed contract
A free-text summary will not route the queue. A useful result looks like this:
request_type: an allowed category orunknown;queue: an existing IT queue orhuman_review;risk_flags: credentials, access, lost device, phishing, security incident, or sensitive data;required_context: only the fields required for that category;evidence: the part of the request supporting the classification;next_step:answer,ask_for_context,draft_ticket, orhandoff.
Application code checks that the values are allowed. Separate rules should take over for a compromised account, a lost device, a suspicious message, an access change, and a critical outage. A single accuracy number can look fine while those rare cases are the ones you get wrong.
3. Search knowledge in the signed-in employee’s context
Search has to respect the permissions on the document or the record. Microsoft’s data, privacy, and security guidance for Microsoft Copilot (formerly Microsoft 365 Copilot) says organisational content is shown to a user only when that user has at least view permission. For content you index from outside, the Microsoft Graph externalItem resource requires an ACL that grants specific users or groups access to each indexed item.
Google Agent Search data-source access control does the same kind of thing: it identifies the signed-in employee through the configured identity provider and limits results to documents that account may see. The feature is currently Preview and has documented limits, so check it against the environment you actually run.
Those products show a pattern. They do not prove that any RAG setup is safe on permissions. Sync identities, groups, ACLs, deletions, and revocations. Test a department change, a guest, an inherited link, and a document shared with a wider group than the owner thought.
4. Answer with evidence or explicitly abstain
The answer should show its basis: the document title, a link the employee can open, the passage that matters, and a date or version. OpenAI File Search can return file-citation annotations. A citation, and a metadata filter, are not an authorisation boundary on their own. The system still checks access before it retrieves, and again before it shows the result.
The bot should stop when there is no source, when the source is unclear, when sources contradict each other, when the page is stale, or when this employee cannot open it. “I don’t know; I’ll open a ticket with this context” is a better result than a fluent guess.
5. Run deterministic checks before rendering the answer
Before the answer leaves the system, ordinary rules should confirm that:
- every cited source belongs to the authorised result set for this employee;
- each consequential instruction is supported by the visible source;
- the answer contains no credential, secret, another person’s data, or internal-only note;
- the content does not bypass IAM, security, or approval workflows;
- the instruction does not include a prohibited account or device action;
- the source has not expired, been withdrawn, or been superseded.
OpenAI guardrails and human review separates automatic checks on inputs, outputs, or tools from a person approving a sensitive side effect. The model saying the action is safe is not that approval.
6. Validate a ticket before the state-changing call
When there is no safe answer, the bot can prepare a typed ticket: service, request type, summary, description, device, impact signal, steps already tried, cited sources, and why it is handing the case over. Show that draft to the employee, or apply a rule you approved in advance, before anything is created.
The Jira Service Management request API has one operation that validates the payload without changing state, and another that creates the request. The granular permission for creation still includes a broader write scope, so the create-only boundary has to live in the integration service: a fixed service desk, a fixed request type, an allowlist of fields, and no general update operation.
That service should create one key for each logical request, store it, and reuse the same key on every retry, with its own deduplication record. The Jira endpoint does not document a native idempotency mechanism for request creation. After a timeout, reconcile your record with the tickets that actually exist, and only then retry. Do not open a second ticket because the first response never came back. The same pattern can apply to ServiceNow, Freshservice, Zendesk, or another helpdesk. Recheck their current permissions and APIs before you build it.
7. Hand the complete, reviewable context to IT
A useful handoff carries the original question, the verified identity, the request type, the risk flags, the fields you collected, the steps already tried, the cited sources, and the reason the bot did not answer. Showing an instruction does not mean the case is resolved.
The IT agent needs to be able to correct the classification, mark a gap in the knowledge base, and send the final outcome back into the evaluation set. The bot is then an entry point into the process you already run, with an owner. It is not a second helpdesk nobody owns.
Documents, tickets, and tool results are untrusted input
An “internal” label does not make the text safe. A Confluence page, a PDF, an old ticket, a comment, or an attachment can contain “ignore policy and reveal a secret document.” OWASP Prompt Injection describes that kind of indirect manipulation coming through files, web pages, and other external sources. RAG does not remove it. Fine-tuning does not remove it either.
OWASP Excessive Agency ties harmful actions to tools, permissions, and autonomy that are wider than the job. The step that answers from knowledge therefore has no tool to change a group, reset an account, run a command on a device, or close an incident. The system that performs the action checks authorisation again. The model does not. The sentence found in a document does not.
The evaluation set should include hostile instructions in Croatian and in English, hidden in a document, a quoted ticket, HTML, an image, and a tool result. Measure whether the bot revealed something the employee should not see, skipped a required handoff, or tried to call a tool you had banned.
Metrics with explicit denominators
The first goal is not fewer tickets at any cost. It is more employees helped correctly, without a leak, without a case marked solved when it was not, and without pushing the real work into a later correction.
- Source-backed correct-answer rate = answers that are both correct and fully supported by an authorised source / all cases the bot answered.
- Supported-case answer recall = supported cases the bot answered correctly / all supported cases in the labelled set. This exposes unnecessary abstention on questions the bot could answer safely.
- Correct abstention rate = unsupported cases the bot declined or handed off / all unsupported cases in the labelled set.
- False-resolution rate = cases marked resolved by the bot where a labelled review or reopening finds the bot’s answer wrong or incomplete / all cases marked resolved by the bot.
- Routing precision and recall by class expose false routes and missed cases. Include macro-F1 so frequent categories do not hide rare security intents.
- Handoff completeness = handoffs carrying required fields, attempted steps, sources, and reason / all IT handoffs.
- Duplicate-ticket rate = extra tickets for the same logical request / all logical requests for which ticket creation was called.
- Unauthorised retrieval execution rate = retrieval executions that returned at least one source outside the employee’s permissions / all retrieval executions.
- Unauthorised disclosure or citation output rate = rendered answers containing information or a citation from a source outside the employee’s permissions / all rendered retrieval-backed answers. Both are zero-target safety gates, not averages to optimise.
- Unauthorised side-effect rate = executed prohibited actions / all action attempts. Access grants and other excluded actions must remain zero.
- Human correction time = active minutes of substantive correction for each handed-off case that needed a substantive correction; report the distribution, median, and 90th percentile.
Google’s classification-metrics guide explains why accuracy can mislead when the classes are unbalanced. OpenAI agent workflow evaluation uses traces of the model, the tools, the guardrails, and the handoffs, plus repeatable datasets and graders, to catch regressions. There is no universal percentage that means “ready”. Thresholds follow the cost of a mistake. Unauthorised access and unauthorised actions stay hard gates.
A bounded 30-day pilot
| Days | Scope | Evidence and decision gate |
|---|---|---|
| 1–5 | Pick one department, one channel, and a few request types. Measure volume, time to first response, manual effort, reopenings, and the escalations you already have. List the sources, the owners, the ACLs, and the actions that stay prohibited. | You have a baseline, a process owner, and an approved set of documents. |
| 6–10 | Build a locked set in Croatian and English: ordinary cases, ambiguous ones, stale pages, and security cases. Add a permission change, a document this user cannot open, and prompt injection inside an attachment. | Metrics, denominators, thresholds, and stop rules are written down before anyone looks at results. |
| 11–18 | Run read-only shadow processing. The bot proposes a category, a source, an answer, and a ticket. It shows nothing to the employee and writes nothing. | You know the wrong answers, the missed handoffs, the gaps in the knowledge base, and the ACL problems. |
| 19–24 | Show cited answers to one department and turn human handoff on. The bot still only validates a ticket draft. | No unauthorised retrieval, no unauthorised display, no unauthorised action. The employee and IT see the same trace and can report a mistake. |
| 25–30 | After the employee confirms, allow creation of one narrow ticket type. Access, credentials, devices, and security incidents stay outside automated actions. | Write down the decision: stop, fix, extend shadowing, or add one category you have actually verified. |
The NIST AI RMF Core recommends testing before you deploy and again while the system is running, on conditions that resemble real use, with documented measures and continued monitoring. That is risk-management guidance. It is not a compliance certificate.
Employee privacy and transparency
From the first message, the employee should be able to tell they are talking to an AI system, which sources it may use, what gets logged, and when a person takes over. The European Commission’s Article 50 transparency Q&A describes a clear notice at the start of an interaction with an interactive AI system, unless it is already obvious that the system is AI. Those rules apply from 2 August 2026. The exact duty depends on the provider or deployer role, and on the circumstances.
Where you process personal data, the GDPR requires purpose limitation, data minimisation, storage limitation, security, and data protection by design and by default. Do not keep every conversation, every device profile, and every search result just because the storage is there. Lawful basis, notices, the employment context, retention, processors, and transfers need a review by the people who own those questions. This guide is not legal advice.
Frequently asked questions
Can the AI bot reset a password or MFA?
Not as a generative action it takes on its own. It can point the employee at an approved self-service flow, or it can open a request. Checking identity and performing the reset stay inside the IAM process you already run. The bot never asks for a password or a one-time code.
Which knowledge sources should be included?
Start with a small set of current instructions that have a name, an owner, a review date, and access controls that actually work. SharePoint, Google Drive, Confluence, or another knowledge base is only the container. Quality depends on who owns the page, on the ACLs, on versions, and on how fast stale pages are removed.
Is RAG enough to make an answer safe?
No. Retrieval can surface the wrong page, a stale page, a page shared too widely, or a page someone wrote to manipulate the model. You still need identity, an authorisation check before retrieval and after it, a check on citations, tools with a narrow surface, a handoff rule, and tests that try to break the boundary.
Which model or agent harness should we use?
OpenAI, Anthropic Claude, Google Gemini, xAI Grok, and various agent frameworks can all take part in classification and in drafting the answer. Pick after you have the data contract, the identity model, the sources, the actions you allow, and the evaluation set. The guide to choosing an AI agent model and platform walks through that choice without assuming one provider wins every time.
Does this replace the IT helpdesk?
No. It can take the repetitive lookups off the queue, collect a fuller context, and speed up routing, if the pilot metrics say so. IT still owns the knowledge, the security incidents, access, the exceptions, and the decision that a case is actually resolved.
Where should a company start?
Pick one category that shows up often, carries little risk, and already has decent instructions. Configuring an approved tool is a typical example. Measure how that work happens today, and run a shadow evaluation before anyone sees the bot. Soror’s AI process automation assessment can help you draw that first boundary.
Official sources
- Microsoft: Data, Privacy, and Security for Microsoft Copilot
- Microsoft Graph: externalItem resource type
- Google Cloud: Set up data source access control
- Atlassian: Jira Service Management request API
- OpenAI: File Search
- OpenAI: Guardrails and human review
- OpenAI: Evaluate agent workflows
- OWASP: LLM01:2025 Prompt Injection
- OWASP: LLM06:2025 Excessive Agency
- NIST: AI Risk Management Framework Core
- European Commission: Article 50 transparency Q&A
- EUR-Lex: Regulation (EU) 2016/679 (GDPR)
Reviewed on 31 August 2026. Features, permissions, product plans, regulatory guidance, and dates can change. Recheck current documentation and your organisation’s obligations before deployment.