Four levels of AI automation
Almost every conversation we have about AI automation starts in the same place. Someone on the team uses ChatGPT or Claude every day, it saves them an hour, and the question becomes how to get that hour back for everyone. There are four distinct levels, and each one needs different tooling. Most of the disappointment we see comes from buying a level four tool for a level one problem, or the reverse. Choosing between AI automation tools gets much easier once you know which level you are actually at.
From chat window to agent team
- Level 1Chat assistantA person asks, the model answers. Useful immediately, but the value stays with whoever is typing.
- Level 2Assistant with toolsThe model can search, read files and call a few connected apps. Still started by a person, one task at a time.
- Level 3Automated workflowAn event starts the work, not a person. AI handles the steps that need judgement, and fixed logic handles the rest.
- Level 4Agent teamSeveral agents with their own roles hand work to each other, with a human approving at defined points.
Levels one and two are about choosing the right assistant. Levels three and four are about engineering. We will cover both, in that order.
The ten best known AI automation tools, compared
The table below is our working view of the AI tools that come up most in client conversations, as of September 2026. It rates products, not individual model versions, because versions change every few months while the strengths of each product have been fairly stable. Treat it as a starting shortlist, then test the top two against your own work.
Scroll the table sideways to see every column.
| Tool | Coding | Long documents | Live web research | Office and email | Runs on your own servers | Building agents |
|---|---|---|---|---|---|---|
| ChatGPT OpenAI | Strong | Partial | Strong | Partial | Partial | Strong |
| Claude Anthropic | Strong | Strong | Partial | Partial | Limited | Strong |
| Gemini | Strong | Strong | Strong | Strong | Partial | Strong |
| Microsoft 365 Copilot Microsoft | Partial | Partial | Partial | Strong | Limited | Partial |
| GitHub Copilot GitHub, Microsoft | Strong | Limited | Limited | Limited | Limited | Partial |
| Perplexity Perplexity AI | Limited | Partial | Strong | Limited | Limited | Limited |
| Llama Meta | Partial | Partial | Limited | Limited | Strong | Partial |
| Mistral Mistral AI | Partial | Partial | Partial | Limited | Strong | Partial |
| DeepSeek DeepSeek | Strong | Partial | Partial | Limited | Strong | Partial |
| Grok xAI | Partial | Partial | Strong | Limited | Limited | Partial |
Strong, a reason to choose it Partial, or only through add ons Limited or not offered
“Runs on your own servers” means the vendor publishes model weights you can download and host. OpenAI has done this with its gpt-oss models under an Apache 2.0 licence, and Google with its Gemma family, which is why both get a partial mark even though their flagship products are cloud only.
What each tool is good at, and when to choose it
ChatGPT
The broadest general product on the list. It writes, codes, analyses spreadsheets, searches the web, talks, and creates images, and most people in your company have probably used it already. On the developer side, OpenAI’s API and Agents SDK are mature and well documented, and the open weight gpt-oss models give you a route to running something similar in house. Choose it when you want one assistant for a mixed team and a large ecosystem of integrations around it.
Claude
Claude is at its best on long, careful work: reading a two hundred page contract, reasoning through a large codebase, or writing something that needs to hold a consistent voice. Anthropic also started two of the standards this article relies on later, the Model Context Protocol and Agent Skills. Claude Code, its terminal based coding agent, is among the most capable tools for working inside a real repository. Choose it when the job is heavy reading, serious coding, or agents that need to follow detailed instructions reliably.
Gemini
Gemini’s advantages are context size and reach. It can take in very long inputs, including video and audio, and it sits inside Gmail, Docs, Sheets and Drive for anyone on Google Workspace. Grounding answers in Google Search is built in. For builders, Vertex AI and Google AI Studio cover everything from quick prototypes to governed enterprise deployments. Choose it when your company runs on Google Workspace, or the input is huge or multimedia.
Microsoft 365 Copilot
Copilot’s strength has less to do with the models underneath it than with where it sits. It works inside Outlook, Teams, Word and Excel, and it only sees the files and mail each user already has permission to see. Copilot Studio adds a low code way to build agents that live inside that environment. Choose it when your company runs on Microsoft 365 and the goal is everyday office productivity with governance your IT team already understands.
GitHub Copilot
A developer tool first and last. It completes code in the editor, answers questions about the repository, and its coding agent can take an issue, work on it in the background and open a pull request for review. It lets developers switch between models from several providers. Choose it when the goal is developer speed inside an existing GitHub workflow. It is not a general business assistant.
Perplexity
An answer engine more than a chatbot. Every answer comes with its sources, which makes it quick to check. It is the tool we reach for when the question is about something that happened last week. Choose it when the job is research: market scans, competitor checks, technical questions where you need to see where the answer came from.
Meta Llama
Llama is a family of open weight models you download and run yourself, on your own servers or in your own cloud account. Nothing leaves your infrastructure. The licence is Meta’s own community licence, which differs from a standard open source one, so read it before you build a product on it. Choose it when data residency or cost at very high volume matters more than having the strongest model available.
Mistral
A European company offering both hosted models and open weight models, several under the permissive Apache 2.0 licence. Its Le Chat assistant and Codestral coding model cover the everyday cases, and data processing in the EU is a genuine selling point for European buyers. Choose it when you want a European provider, or open weights with a straightforward licence.
DeepSeek
DeepSeek showed that strong reasoning and coding models can be trained and released far more cheaply than people assumed, and it publishes its main models as open weights under the MIT licence. The hosted app and API are cheap. The caution is where that hosted service processes data, which is why most European companies we speak to either avoid it or run the open weights on their own infrastructure. Choose it when you want strong reasoning at low cost and are prepared to host it yourself.
Grok
xAI’s model, closely tied to X. Its particular strength is access to what is being posted on X in close to real time, which suits social listening and following fast moving news. The API is compatible with common client libraries, so it is easy to test. Choose it when live public conversation is the data you care about.
A quick way to shortlist
From a chat window to an automated workflow
The last card in that grid is where this article turns technical. Once you want AI to act on events instead of waiting for a prompt, you need something that listens for those events, calls the model, and passes the result on to the next system. That is the job of AI automation tools in the narrower sense: workflow platforms such as n8n, Zapier and Make.
Zapier and Make are excellent for simple chains, such as a form arriving and a row being added to a sheet with an AI generated summary. We use n8n for anything more ambitious, for three reasons. It treats AI agents as first class building blocks instead of a single step. It lets you drop real code into the middle of a flow when a visual node is not enough. And it can be self hosted under its fair code licence, so the workflow and the data it touches can stay inside your own infrastructure.
If your engineers would rather work in code than on a canvas, frameworks such as LangGraph do the same job as a Python or TypeScript library. The concepts below apply to both.
What an AI agent is
The word agent is used loosely. For the rest of this article it means something specific: a language model given a role, some tools, a memory, and permission to decide which tool to use next, in a loop, until the task is done or a limit is reached.
Anatomy of one agent
Giving an AI agent a persona
The persona is the system prompt, and it is where most agent projects either succeed or fail. A weak persona says “You are a helpful software architect.” A strong one reads like a job description written by someone who has managed the role. It defines the job, the working rules, the exact shape of the output, and the things the agent must refuse to do.
Here is a trimmed version of the persona we would give an architect agent:
You are the solution architect on a small product team made of
AI agents and one human lead.
Your job: turn a ticket into a technical plan that the developer
agent can build without guessing.
How you work
* Read the ticket, the repository README and docs/architecture.md
before you answer.
* Prefer patterns already in the codebase. If you break that rule,
say where and why.
* If the ticket is ambiguous, list your questions and stop.
Never invent requirements.
What you return
JSON matching the handoff schema: summary, affected_components,
plan (ordered steps), risks, open_questions.
What you never do
* Write production code.
* Approve your own plan.
* Touch any repository other than the one named in the ticket.
Three things make this work. The output is structured, so the next agent can parse it instead of interpreting prose. The agent is allowed to stop and ask, which is the single best defence against confident nonsense. And the refusals are explicit, because a model will happily do work outside its lane if nothing tells it not to.
Building an AI agent’s skillset
A persona tells an agent who it is. Skills tell it how to do particular jobs well. The two are worth keeping apart, because a persona should stay short and stable while skills grow over time.
The cleanest format we have found is the Agent Skills format that Anthropic published as an open specification. A skill is a folder. Inside is a SKILL.md file with a name and a description at the top, instructions underneath, and optionally scripts, reference documents and templates alongside. The agent only sees the name and description until a task matches, and only then loads the rest. That keeps the context window clean, which matters more than people expect once an agent has a dozen skills.
---
name: api-review
description: Reviews a proposed REST endpoint against our API
conventions. Use when a plan or pull request adds or changes
an HTTP endpoint.
---
# API review
1. Open references/api-conventions.md and check naming,
versioning and the error format.
2. If an OpenAPI spec is attached, run scripts/lint_openapi.py on it.
3. Report each breach with the rule it breaks and a suggested fix.
4. If nothing breaks a rule, say so in one line. Do not pad.
In practice a skillset has three layers, and you assign each layer per agent, so each agent gets only what it needs:
Three layers of a skillset
The Model Context Protocol deserves a sentence of its own. It is an open standard for connecting AI applications to outside systems, published by Anthropic in late 2024 and since supported by OpenAI, Google and Microsoft. n8n speaks it in both directions: the MCP Client Tool node lets an agent use tools from any MCP server, and the MCP Server Trigger lets you publish your own n8n workflows as tools for other AI clients. If you build a skill once as an MCP server, every agent and every assistant in the company can use it.
Making AI agents work together in n8n
Now the interesting part. The goal is a small product team made of four specialist agents, an IT architect, a UI and UX designer, a developer and a QA specialist, that picks up a ticket and takes it to a reviewed pull request.
There are three common ways to arrange agents, and choosing the right one matters more than any prompt.
Three ways agents can talk
n8n supports the supervisor pattern directly. The orchestrator is an AI Agent node. Each specialist is attached underneath it as an AI Agent Tool node, which is an agent in its own right, with its own description, system message, model and tools, that the orchestrator can call like any other tool. The orchestrator reads each specialist’s description to decide who to call, so write those descriptions as carefully as the personas. Specialists can have specialists of their own, nested as many layers deep as the job needs.
The environment, and who talks to whom
A few details make the difference between a demo and something you can leave running.
Force a handoff schema. Every specialist returns the same JSON envelope, enforced with a Structured Output Parser on its output. The orchestrator then works with fields, not paragraphs.
{
"ticket_id": "TR-482",
"from": "architect",
"to": "developer",
"status": "ready",
"summary": "Add CSV export to the invoice list",
"plan": ["Add GET /invoices/export", "Stream rows in batches", "Reuse the existing invoice filters"],
"acceptance": ["Export matches the filters on screen", "Exports of 50,000 rows finish without a timeout"],
"open_questions": []
}
Let the developer agent delegate to a real coding agent. A chat model in a workflow is not the right place to edit a large codebase. The developer agent’s job is to prepare a precise brief and hand it to a coding agent that runs with the repository checked out, such as GitHub Copilot’s coding agent working from an issue, or Claude Code running headless in a container. It then reads back the pull request.
Give the designer your design system, not taste. A UI and UX agent without your tokens, components and accessibility rules will invent a new design language on every ticket. Load them as a skill, and give it read access to Figma through Figma’s MCP server if your designs live there.
Make QA independent. The QA agent writes test cases from the acceptance criteria, not from the developer’s code, then reads the actual CI results. If it only reviews the diff, it will agree with the developer far too often.
Move to sub workflows once it works. Attaching specialists as AI Agent Tool nodes is the fastest way to prototype. Once a specialist is stable, move it into its own workflow and call it through the Call n8n Workflow Tool node. Each specialist can then be versioned, tested and given its own error handling. One gotcha: expressions inside the tool sub nodes attached to an agent resolve against the first input item only, so pass the ticket in as a single item, not a list.
One front door: starting everything from Slack or Trello
A team of agents needs a single, obvious way to give it work. If people can start jobs from five places, it’s hard to see what is running. We use either Slack or Trello, depending on where the team already lives.
With Slack, the Slack Trigger node listens for a mention of the bot in one agreed channel. The message text becomes the brief, and the thread becomes the place where the orchestrator posts progress and asks questions.
With Trello, the lane itself is the trigger. The Trello Trigger node fires on any change to the board, and an IF node right after it lets through only one event: a card whose new list is Ready for AI. Everything else on the board is ignored.
The lane is the trigger
The condition in that IF node checks two fields from Trello’s webhook payload:
{{ $json.body.action.type }} equals updateCard
{{ $json.body.action.data.listAfter.name }} equals Ready for AI
Whichever front door you use, the next node should turn the input into the same job object: a ticket id, a title, the brief, a link back to the source and the name of the person who started it. From that point on the orchestrator neither knows nor cares whether the work came from Slack or Trello.
A full run, step by step
Here is what happens when someone drags ticket TR-482 into the trigger lane. The sequence includes one failed test, because a flow that has never been designed to fail will fail badly in production.
One ticket through the agent team
- TrelloA product owner moves TR-482, CSV export on the invoice list, into Ready for AI. The trigger fires and the job object is built.
- OrchestratorMoves the card to Agents working, posts a start message in the ticket's Slack thread and calls the architect.
- ArchitectReads the codebase and returns a plan: one new endpoint, streaming in batches, reusing the existing filters. No open questions.
- Tech leadGets the plan in Slack through a send and wait for response step, and approves it with one click. Nothing is built before this.
- UI and UXSpecifies the export button, its loading and error states, and the accessible label, using existing components only.
- DeveloperWrites a brief for the coding agent, which opens a pull request on a feature branch.
- QAWrites tests from the acceptance criteria. The 50,000 row export times out. Verdict: fail, with the log attached. The orchestrator sends it back to the developer.
- DeveloperFixes the batch size and pushes again. QA reruns and passes.
- Tech leadThe card moves to Human review with the pull request, test results and handoff log attached. A person reviews and merges.
What it takes to run AI agents in production
Building the flow is the easy half. Keeping it trustworthy is the other half, and it is where most of our time on these projects goes.
- Hard limits. Set a maximum number of iterations on every agent and a token budget per run. An agent stuck in a loop costs money quietly.
- Scoped credentials. Each agent gets only the access its role needs. The architect reads the repository; only the coding agent writes to it, and only to feature branches. Branch protection means nothing merges without a person.
- Guardrails on input and output. Check what goes into the model and what comes out of it, including for secrets and personal data, before anything is posted to Slack or written to a ticket.
- Human review at the points that matter. Approving the plan and merging the code are the two we never automate.
- A handoff log. Store every message between agents with the ticket id. When something goes wrong, and it will, this is how you find out why.
- Prompt evaluation before every change. Keep twenty or thirty past tickets with known good outcomes and replay them whenever you change a persona, a skill or a model. Without that, you are guessing whether a change made things better.
- A model per role. The architect and developer benefit from the strongest model you can afford. Routing and summarising steps usually run perfectly well on something smaller and cheaper.
Agents also do not replace the people who own quality. An AI QA specialist is a fast first pass, not a test strategy, and that is still work for people who know the product. It is the same reason teams keep humans on QA outsourcing even when their automated suites are large.
Where to start, and when to hire AI agent developers
Whichever AI automation tool you settle on, start with one flow that takes an hour of routine work off someone every day, get it reliable, and only then add a second agent. Teams that begin with the full four agent setup usually spend the first month debugging handoffs instead of shipping anything.
Teams that would rather hire AI agent developers than build the capability in house usually want the same three things: engineers who have run agents in production, a way to evaluate output, and somebody accountable when a flow misbehaves. If you are weighing up who should build this with you, our checklist for choosing an AI development partner sets out the questions to ask. Our dedicated offshore teams build and run agent workflows like the one above, working remotely inside your tools, as part of AI automation engineering. For AI features inside your product, companies hire AI developers through the same managed model.