Illustration of AI agent developers wiring one central screen to several smaller agent nodes
One trigger, one orchestrator, four specialists, and a person who signs off.

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

  1. Level 1Chat assistantA person asks, the model answers. Useful immediately, but the value stays with whoever is typing.
  2. 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.
  3. Level 3Automated workflowAn event starts the work, not a person. AI handles the steps that need judgement, and fixed logic handles the rest.
  4. Level 4Agent teamSeveral agents with their own roles hand work to each other, with a human approving at defined points.
Each level adds autonomy and removes a manual step. It also adds something that can go wrong without anyone watching, which is why the later sections spend so long on guardrails.

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.

ToolCodingLong documentsLive web researchOffice and emailRuns on your own serversBuilding agents
ChatGPT
OpenAI
StrongPartialStrongPartialPartialStrong
Claude
Anthropic
StrongStrongPartialPartialLimitedStrong
Gemini
Google
StrongStrongStrongStrongPartialStrong
Microsoft 365 Copilot
Microsoft
PartialPartialPartialStrongLimitedPartial
GitHub Copilot
GitHub, Microsoft
StrongLimitedLimitedLimitedLimitedPartial
Perplexity
Perplexity AI
LimitedPartialStrongLimitedLimitedLimited
Llama
Meta
PartialPartialLimitedLimitedStrongPartial
Mistral
Mistral AI
PartialPartialPartialLimitedStrongPartial
DeepSeek
DeepSeek
StrongPartialPartialLimitedStrongPartial
Grok
xAI
PartialPartialStrongLimitedLimitedPartial

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

Your work lives in Microsoft 365Microsoft 365 CopilotPermissions and compliance come with the tenant.
Your work lives in Google WorkspaceGeminiAlready inside Gmail, Docs and Drive.
Developers inside a repositoryGitHub Copilot or Claude CodeEditor help, or an agent that works on the codebase itself.
Research with sourcesPerplexityEvery answer shows where it came from.
Data may not leave your serversLlama, Mistral, DeepSeek or gpt-ossOpen weights, hosted by you.
Automation across many systemsAny model, through an API, in n8nKeep the model swappable. It will change.
For levels one and two, the tool your people already work in usually wins. For levels three and four, pick the model per task and let the workflow tool do the connecting.

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

PersonaWho it isThe system prompt. Role, standards, what it returns and what it must never do.
MemoryWhat it remembersConversation history for this job, plus any facts you store between runs.
The modelReads the situation, chooses the next step, and repeats until it is done or hits a limit.
ToolsWhat it can doRead a ticket, query a database, open a pull request, post in Slack.
SkillsHow it does it wellPackaged know how, loaded only when the task calls for it.
In n8n this maps directly onto the AI Agent node: a chat model, a memory and any number of tools attach underneath it, and the persona goes in its system message.

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

Layer 1Knowledge skillsInstructions and reference files. Your API conventions, your design system rules, your definition of done.
Layer 2ToolsActions the agent can take: read a Trello card, comment on a pull request, run a test suite. In n8n these are tool nodes attached to the agent.
Layer 3MCP serversWhole systems exposed through the Model Context Protocol, so one connection gives the agent a set of tools from GitHub, Figma or your own internal API.
Assign narrowly. An agent with twenty tools picks the wrong one more often than an agent with five.

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

PipelineA fixed relayAgent A always hands to B, B to C. Predictable and easy to debug, but it cannot loop back when QA finds a problem.
SupervisorOne orchestrator, many specialistsA lead agent decides who works next and can send work back. Our default for anything with review loops.
Group chatAgents talk freelyEvery agent sees every message. Good for brainstorming, hard to control, expensive in tokens.
We build the supervisor pattern for delivery work, because work needs to go back a step when a check fails.

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

Front doorSlackSomeone mentions the bot in the build channel.
Front doorTrelloA card is moved into the Ready for AI lane.
AI Agent nodeOrchestratorReads the job, decides which specialist works next, checks each handoff against the schema, and sends work back when a check fails.
Chat modelPostgres memoryMax iterations: 12
AI Agent ToolIT architectPlan, affected components, risks.
GitHub readDocs search
AI Agent ToolUI and UX designerScreens, states, component spec.
Figma MCPDesign tokens
AI Agent ToolDeveloperBranch, code, pull request.
GitHub writeCoding agent
AI Agent ToolQA specialistTest cases, test run, verdict.
CI resultsPlaywright
Shared workspaceThe ticket, the repository and a handoff logEvery agent reads from and writes to the same places, so the state of the job is visible to people as well as agents.
Human in the loopTech lead in SlackApproves the plan before code is written, and reviews the pull request before anything merges.
The specialists never talk to each other directly. Everything goes through the orchestrator and the shared workspace, which is what keeps the conversation traceable.

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

BacklogDark mode for settingsAudit log export
Ready for AITR-482 CSV export on invoices
Agents workingTR-479 Retry failed webhooks
Human reviewTR-471 Pagination on reports
DoneTR-466 Rate limit on login
A person decides a ticket is ready and drags it into the trigger lane. The agents move it on to Agents working, and then to Human review. Only a person moves it to Done.

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

  1. 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.
  2. OrchestratorMoves the card to Agents working, posts a start message in the ticket's Slack thread and calls the architect.
  3. ArchitectReads the codebase and returns a plan: one new endpoint, streaming in batches, reusing the existing filters. No open questions.
  4. 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.
  5. UI and UXSpecifies the export button, its loading and error states, and the accessible label, using existing components only.
  6. DeveloperWrites a brief for the coding agent, which opens a pull request on a feature branch.
  7. 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.
  8. DeveloperFixes the batch size and pushes again. QA reruns and passes.
  9. Tech leadThe card moves to Human review with the pull request, test results and handoff log attached. A person reviews and merges.
Two human checkpoints, one automatic loop back. The orchestrator stops after three failed QA rounds and hands the ticket to a person.

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.

Questions about hiring AI agent developers.

Which AI tool is best for business automation?

There is no single winner. For most companies the model matters less than where it runs and what it can reach. If your work lives in Microsoft 365, start with Copilot. If it lives in Google Workspace, start with Gemini. For automation that crosses several systems, pick a model through its API and run it inside a workflow tool such as n8n, so you can swap the model later without rebuilding the flow.

Is n8n better than Zapier or Make for AI agents?

For simple app to app automations Zapier and Make are quicker to set up. n8n earns its place once you need AI agents that call other agents, custom code in the middle of a flow, or the option to host everything on your own servers so data never leaves your infrastructure.

Can a team of AI agents replace software developers?

No. A well built agent team takes the first pass at planning, specs, code and tests, and it does that quickly. It still needs engineers to set the direction, review the output, own the architecture and decide what ships. The realistic gain is fewer hours on routine work, not fewer people who understand the product.

How much does it cost to run a team of AI agents?

Model usage is usually the smaller cost. A single ticket passing through four agents might use a few hundred thousand tokens, which is a few dollars or less on most models. The bigger costs are building the flow, maintaining prompts and skills as the codebase changes, and the human review time. Set an iteration limit and a token budget per run from day one.

Do we have to send our code and data to an AI provider?

Not necessarily. Open weight models such as Llama, Mistral, DeepSeek and OpenAI's gpt-oss can run on your own hardware or in your own cloud account, and n8n can be self hosted. The trade off is that you take on the running costs and the upkeep yourself.

Tell us what your AI roadmap needs.

Loading the contact form… You can also email hello@azendo.co.

We reply within one working day. No obligation, and no newsletter.