---
title: "How IT providers add AI functions to managed services"
description: "Add a defined AI function to managed IT services with client access boundaries, separate service responsibilities, cost controls, and acceptance tests."
canonical: "https://scalewithsearch.com/articles/managed-it-provider-client-ai-functions"
---
## Site navigation

- [Scale With Search](https://scalewithsearch.com/)
- Services
  - Services
    - [AI systems](https://scalewithsearch.com/ai-systems)
    - [Site build](https://scalewithsearch.com/work#site-build)
    - [Whole website fix](https://scalewithsearch.com/work#whole-website-fix)
    - [Content library with SEO](https://scalewithsearch.com/work#content-library)
    - [Working session](https://scalewithsearch.com/audit)
  - Start here
    - [Send your brief](https://scalewithsearch.com/work#send-your-brief)
    - [Example scope](https://scalewithsearch.com/work#review-the-example-scope)
  - [Prices and terms](https://scalewithsearch.com/work#prices-and-terms)
- Industries
  - Real estate
    - [Real estate agents and teams](https://scalewithsearch.com/for/real-estate)
    - [Platforms, ownership, and IDX](https://scalewithsearch.com/for/real-estate/real-estate-website-platforms-ownership-idx)
    - [Search, content, and AI](https://scalewithsearch.com/for/real-estate/real-estate-search-content-ai)
    - [Inquiries, campaigns, and handoffs](https://scalewithsearch.com/for/real-estate/real-estate-website-inquiries-campaigns-handoffs)
    - [Buyer, seller, and local pages](https://scalewithsearch.com/for/real-estate/real-estate-buyer-seller-local-resources)
    - [Rules, privacy, and trust](https://scalewithsearch.com/for/real-estate/real-estate-website-rules-privacy-trust)
  - Browse by business
    - [Trades and home services](https://scalewithsearch.com/for/#group-trades)
    - [Health, wellness, and animal care](https://scalewithsearch.com/for/#group-practices)
    - [Law, finance, and IT](https://scalewithsearch.com/for/#group-professional)
    - [Marketing and SEO agencies](https://scalewithsearch.com/for/#group-agencies)
    - [Shops and manufacturers](https://scalewithsearch.com/for/#group-manufacturing)
    - [Restaurants, shops, studios, and nonprofits](https://scalewithsearch.com/for/#group-local-services)
  - Chiropractic practices
    - [Chiropractic and wellness practices](https://scalewithsearch.com/for/chiropractic-and-wellness-practices)
    - [Chiropractic and physical therapy clinics](https://scalewithsearch.com/for/chiropractic-and-physical-therapy-clinics)
  - [All industries](https://scalewithsearch.com/for/)
- Resources
  - Free tools
    - [AI readiness check](https://scalewithsearch.com/check)
    - [Free tools](https://scalewithsearch.com/tools/)
    - [Free Starter Kit](https://scalewithsearch.com/kit/business-memory-starter-kit.zip)
  - Guides
    - [AI-native library](https://scalewithsearch.com/ai-native)
    - [Industry intelligence](https://scalewithsearch.com/intelligence)
    - [Office job guides](https://scalewithsearch.com/guides/)
    - [Business memory](https://scalewithsearch.com/articles/business-memory-for-ai-agents-guide)
    - [Agent governance](https://scalewithsearch.com/articles/ai-agent-governance-guide-small-business)
    - [Migration and ownership](https://scalewithsearch.com/articles/leaving-vendor-ai-memory-guide)
  - Articles
    - [All articles](https://scalewithsearch.com/articles/)
    - [What changed](https://scalewithsearch.com/changes/)
- About
  - Evidence
    - [Proof](https://scalewithsearch.com/proof)
  - Scale With Search
    - [About](https://scalewithsearch.com/about)
    - [How it works](https://scalewithsearch.com/how-it-works)

# How IT providers add AI functions to managed services

An IT provider can add an AI function to managed services by defining a business result alongside the technical service it already supports. Choose the input, output, business reviewer, and allowed actions. Then document how the function is monitored, stopped, corrected, and handed over.

For a first scope, consider preparing an internal ticket-triage brief from approved ticket fields. The proposed function groups unresolved questions for a service lead. It does not change permissions, reset accounts, execute commands, or contact the client. This is a design example, not a claim about a deployed service.

## Start with a business owner for the output

Ask who will read the triage brief and what decision it supports. The service lead might need to identify tickets that lack a clear request or require a specialist. Write those needs as output requirements the lead can check.

Distinguish the function's owner from its technical maintainer. The provider may maintain the connection and runtime. The business owner decides what the output means and whether it is suitable for use. Name both roles even when the same person currently fills them.

Do not start by offering access to every tool the provider manages. Map the particular job first. A function that prepares an internal brief should receive only the source fields and capabilities needed for that result.

Scale With Search's [AI systems method](/ai-systems) uses the same sequence: study the business, sort the recurring work, build one function, and train its users. The business result anchors the scope.

## Draw a boundary around the client's sources

Resolve the client identifier before retrieval. List the approved system, fields, reporting period, and output location. Use client-scoped access where the connected service supports it. Keep another client's tickets and documentation outside the allowed source set.

Apply fixed checks before the model reads material. Reject an unknown client, a missing reporting period, or an unavailable source. Report the reason rather than allowing the model to guess which records the user intended.

The [client-separation guide](/articles/separate-client-context-before-agent-work) covers source, connector, index, and output boundaries. Use those checks across every retrieval route the new function can use. A folder test alone should not stand in for a connector test.

Keep a record of the approved source scope and the person who can change it. The model can report that a field is missing. It should not grant itself wider access to resolve the request.

## Give the function fewer capabilities than an administrator

For the triage example, create a preparation path with read access to approved ticket fields and write access to its draft location. Exclude account administration and ticket changes. Keep the service lead's decision outside the function.

[OWASP's excessive-agency guidance](https://genai.owasp.org/llmrisk/llm062025-excessive-agency/) identifies excessive functionality, permissions, and autonomy as causes of damaging actions. It recommends minimizing tool capabilities and enforcing authorization in downstream systems. Source checked October 26, 2026.

Use that principle at the connector. A prompt that says do not reset passwords is not the same as a connection without a password-reset capability. Check the actual available actions before testing with approved records.

If a later scope includes a consequential action, design its approval and logging at the action point. Do not expand a drafting account's authority merely because the team likes the brief it produces.

## Define preparation and technical operation separately

Write a service description for the function's intended output. Add another section for runtime support. State who maintains access, checks failures, updates the model configuration, and handles a broken connection.

For a triage brief, business acceptance may require source references and clear unanswered questions. Technical acceptance may require a visible failed state when the ticket system is unavailable. Neither set of checks replaces the other.

Keep ordinary managed-service work and new AI work distinguishable in the agreement. The client should know whether changing a business rule is included, whether adding a source requires a new scope, and who approves it.

Use the [build acceptance list](/articles/what-a-build-acceptance-list-contains) to connect the promised function to tests and evidence. A healthy process should still be able to report that the business output failed review.

## Keep the client's record portable

Maintain the function's accepted task brief, source definitions, reviewer roles, corrections, and tests in a client-controlled record. Explain how the client can read and export it. Keep the provider's reusable implementation method separately identified.

Point to authoritative service records instead of copying every ticket into the instructions. For example, define how the brief should treat a missing owner, then retrieve the current owner from the approved ticket source during a run.

Preserve the date and reason when a rule changes. If the service lead changes the meaning of escalation required, keep the accepted definition with a sample that tests it. Update the function through the documented change process.

The [ownership and transfer checklist](/articles/ai-system-ownership-transfer-checklist) covers operational control beyond possession of source files. Use it when the client expects to keep running the function with another maintainer.

## Design a visible failure path

State what happens when the source system is unavailable, required fields are missing, or the model request fails. The function should leave a blocked or failed receipt with the next owner. It should not present a partial brief as complete.

Define bounded retry behavior. A repeated request should not create duplicate drafts or hide which attempt the reviewer accepted. Give each run an identifier and preserve its final state.

Provide a manual route for preparing the brief while the function is paused. State who decides when it can resume. Keep access changes and production activation under the client's agreed authority.

Include a stop procedure the intended maintainer can follow. Test that it stops new work without deleting source records. Record what happens to queued requests and how the team can identify unfinished work afterward.

## Show spend per function

Set a monthly AI spending limit and a named alert recipient. Separate model usage from hosting and other third-party subscriptions. Identify which client or provider account pays each cost.

Require a receipt that records the client, input references, output location, model identifier, cost, and final status. Keep sensitive ticket contents out of general operational alerts. The authorized reviewer should still be able to trace the output to its sources.

Keep model selection in configuration. Before replacing it, run the same accepted examples and failure cases. Do not assume a successful connection proves the replacement preserves the function's behavior.

The receipt is also a support tool. Use it to distinguish an unavailable source from an output that requires a business-rule correction. Assign those issues to their respective owners.

## Test from input through reviewer acceptance

Prepare approved or fabricated fixtures for ordinary tickets, missing owners, mixed client identifiers, repeated requests, and unavailable source data. Define the expected result for each before running the function.

For a mixed-client request, require rejection before retrieval. For an unavailable source, require a clear failed state. For an ordinary request, have the service lead verify every grouped item against its source.

NIST's [Measure guidance](https://airc.nist.gov/airmf-resources/playbook/measure/) recommends testing whether a system is fit for its purpose and defining acceptable performance limits. Apply that guidance to the proposed business result. Source checked October 26, 2026.

Ask the client or designated maintainer to repeat the operating steps from the written guide. Include a correction, a pause, and a failed-input exercise. Close gaps in the guide before marking handoff complete.

## Scope the next function from observed needs

Keep a list of new requests that appear during use. A request to prepare a response is different from a request to send it. A request to summarize an access issue is different from permission to change access.

Review each request against the source boundary, action authority, support responsibility, and cost limit. Write a new scope when the function's result changes. Keep the client-owned record and accepted tests with the work.

Bring one proposed client function to [Scale With Search's AI systems scope](/ai-systems). Include the output, source systems, technical owner, and business reviewer. [Send your brief](/work#send-your-brief).


## Related: Agent Governance

- [Separate Client Context Before an Agent Touches the Work](/articles/separate-client-context-before-agent-work)
- [What a Build Acceptance List Contains](/articles/what-a-build-acceptance-list-contains)
- [AI System Ownership and Transfer Checklist](/articles/ai-system-ownership-transfer-checklist)

----

```text
                  .|########||.                                       .|########||.                                       .|########||.
               |##||.      .||##|.                                 |##||.      .||##|.                                 |##||.      .||##|.
             |#|.              .|#|.                             |#|.              .|#|.                             |#|.              .|#|.
           |#|                    |#|                          |#|                    |#|                          |#|                    |#|
         .#|                        |#.                      .#|                        |#.                      .#|                        |#.
        .#.                          .#|                    .#.                          .#|                    .#.                          .#|
       |#.                            .#|                  |#.                            .#|                  |#.                            .#|
      |#             ......             #|                |#             ......             #|                |#             ......             #|
     .#           ||#########|           #|              .#           ||#########|           #|              .#           ||#########|           #|
    .#.         |######||######|.        .#.            .#.         |######||######|.        .#.            .#.         |######||######|.        .#.
    #.        .##|###|##|#|######|        .#            #.        .##|###|##|#|######|        .#            #.        .##|###|##|#|######|        .#
   ||        |##|#||||||||||||#||#|        ||          ||        |##|#||||||||||||#||#|        ||          ||        |##|#||||||||||||#||#|        ||
   #        |#||||||||||||||||||||#|        #.         #        |#||||||||||||||||||||#|        #.         #        |#||||||||||||||||||||#|        #.
  ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||
  #       .#||||||||||||||||||||||||#|       #        #       .#||||||||||||||||||||||||#|       #        #       .#||||||||||||||||||||||||#|       #
 ||   ....|||#||||||##|#|||#|#||##||||....|. ||      ||   ....|||#||||||##|#|||#|#||##||||....|. ||      ||   ....|||#||||||##|#|||#|#||##||||....|. ||
 #.  .  ....|#  ....#|||   ||| .#|||  ....#. .#      #.  .  ....|#  ....#|||   ||| .#|||  ....#. .#      #.  .  ....|#  ....#|||   ||| .#|||  ....#. .#
 #   .  ||||#| .#####||  . .#| .#|||  ||||#   #.     #   .  ||||#| .#####||  . .#| .#|||  ||||#   #.     #   .  ||||#| .#####||  . .#| .#|||  ||||#   #.
.|   |||||  #. |#|||||. ||  #. |#||. .|||||   ||    .|   |||||  #. |#|||||. ||  #. |#||. .|||||   ||    .|   |||||  #. |#|||||. ||  #. |#||. .|||||   ||
||   |....  #. ....|#.      |. ...|. ....||   ||    ||   |....  #. ....|#.      |. ...|. ....||   ||    ||   |....  #. ....|#.      |. ...|. ....||   ||
#.  .||||||##||||||##||####|||||||#||||||#|   .#    #.  .||||||##||||||##||####|||||||#||||||#|   .#    #.  .||||||##||||||##||####|||||||#||||||#|   .#
#    .||####|###########################|.     #    #    .||####|###########################|.     #    #    .||####|###########################|.     #
#      .#||||||.#.|| # |. ..# #| #|||||#|      #    #      .#||||||.#.|| # |. ..# #| #|||||#|      #    #      .#||||||.#.|| # |. ..# #| #|||||#|      #
#      .#|||||| ..  |# ## |#| ...#|#|||#|      #    #      .#|||||| ..  |# ## |#| ...#|#|||#|      #    #      .#|||||| ..  |# ## |#| ...#|#|||#|      #
#      .#|||#|# .# .#| #| ##|.#..#|||||#|      #    #      .#|||#|# .# .#| #| ##|.#..#|||||#|      #    #      .#|||#|# .# .#| #| ##|.#..#|||||#|      #
#      .#||||||############|######|||||#|      #    #      .#||||||############|######|||||#|      #    #      .#||||||############|######|||||#|      #
#   |...||#||||||#||||#|#||||||#|||||#||| |.|  #    #   |...||#||||||#||||#|#||||||#|||||#||| |.|  #    #   |...||#||||||#||||#|#||||||#|||||#||| |.|  #
#. .. ||||# .|||##|.  |#| .|| || .|||#. #|  # .#    #. .. ||||# .|||##|.  |#| .|| || .|||#. #|  # .#    #. .. ||||# .|||##|.  |#| .|| || .|||#. #|  # .#
|| |  ...||  ...##| |  #| .|. |. #####  .. .| ||    || |  ...||  ...##| |  #| .|. |. #####  .. .| ||    || |  ...||  ...##| |  #| .|. |. #####  .. .| ||
|| ||||| || ||||#|  .  |. |. |#. ||||| |#| || ||    || ||||| || ||||#|  .  |. |. |#. ||||| |#| || ||    || ||||| || ||||#|  .  |. |. |#. ||||| |#| || ||
.# |.....#|....|#.||||.|||##.|#|....||.#||.#. #.    .# |.....#|....|#.||||.|||##.|#|....||.#||.#. #.    .# |.....#|....|#.||||.|||##.|#|....||.#||.#. #.
 #.|||||||#############################| ||| .#      #.|||||||#############################| ||| .#      #.|||||||#############################| ||| .#
 ||       ##||#||#||||||#||#||#||#||##.      ||      ||       ##||#||#||||||#||#||#||#||##.      ||      ||       ##||#||#||||||#||#||#||#||##.      ||
  #       .#|||||||||#||#|||||||||||#|       #        #       .#|||||||||#||#|||||||||||#|       #        #       .#|||||||||#||#|||||||||||#|       #
  ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||
  .#        |#||||||||||||||||||||#|        #.        .#        |#||||||||||||||||||||#|        #.        .#        |#||||||||||||||||||||#|        #.
   ||        |#||||||||||||||||||#|        ||          ||        |#||||||||||||||||||#|        ||          ||        |#||||||||||||||||||#|        ||
    #.        .######|#|#########|        .#            #.        .######|#|#########|        .#            #.        .######|#|#########|        .#
    .#.         |#####||||#####|         .#.            .#.         |#####||||#####|         .#.            .#.         |#####||||#####|         .#.
     |#           ||########||           #.              |#           ||########||           #.              |#           ||########||           #.
      |#             ......             #|                |#             ......             #|                |#             ......             #|
       |#.                            .#|                  |#.                            .#|                  |#.                            .#|
        |#.                          .#.                    |#.                          .#.                    |#.                          .#.
         .#|                        |#.                      .#|                        |#.                      .#|                        |#.
           |#|                    |#|                          |#|                    |#|                          |#|                    |#|
            .|#|.              .|#|.                            .|#|.              .|#|.                            .|#|.              .|#|.
               |##||.      .||##|                                  |##||.      .||##|                                  |##||.      .||##|
                 .||########||.                                      .||########||.                                      .||########||.

Scale With Search  2026  [scalewithsearch.com](https://scalewithsearch.com)
```
