AI agents for Azure
Microsoft cloud, wired into your operational reporting. AGNT connects to Azure so agents can read what happens there, reason about it, and act — with a receipt for every run.
Azure and AGNT, in brief
| What it does | Lets an AGNT agent read from and act in Azure. |
|---|---|
| Connects with | Bearer — held in the local vault |
| AGNT node | custom-api, or the zapier-action bridge |
| Runs when | A scheduled audit runs |
| Typical build time | Ten minutes |
| Where data goes | Nowhere by default — AGNT runs on your machine and credentials never leave it. |
What you can automate
Reacts when…
- a scheduled audit runs
- an alert fires
Agents can…
- query resources and costs
- summarise service health
Teams use it for
- spend reviewed with narratives
- environment audits filed automatically
- alerts triaged with context
Build it: the Azure workflow
Design goal for Azure: spend reviewed with narratives; environment audits filed automatically; alerts triaged with context. The template below supplies configurable nodes, not the complete logic for those goals.
Use this Azure setup template to arrange the schedule, input review and API operation. Configure the account-specific fields and add your own decision and approval controls before activation.
This is a schema-checked starting point, not an end-to-end tested automation. Replace every CONFIGURE_ value, choose the operations you intend, connect credentials and map source outputs into later inputs. An edge orders steps; it does not supply a condition, an approval gate or a field mapping. Add and test those controls explicitly before any write. Cloud APIs and model providers may receive data. Keep the workflow inactive until tested with fixtures.
{
"id": "49885307-8d8b-4ca7-a80d-78c4cac693aa",
"name": "Azure — read, decide, act",
"nodes": [
{
"id": "39cfb455-0e01-4de4-a3e3-9699c04b3fac",
"text": "Run on a schedule",
"x": 512,
"y": 144,
"isEditing": false,
"type": "trigger-timer",
"icon": "clock",
"category": "trigger",
"isSelected": false,
"parameters": {
"fireOnStart": "No",
"scheduleType": "Interval",
"schedule": "Every 15 Minutes"
},
"description": "Setup template for Timer Trigger. This trigger node fires the workflow at specified intervals or at a specific time. Configure credentials, inputs and output mapping before use.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
},
{
"id": "999cd036-7d0f-45e1-aea5-83474e9cf832",
"text": "Review source and draft",
"x": 512,
"y": 336,
"isEditing": false,
"type": "agnt-agent",
"icon": "agnt",
"category": "action",
"isSelected": false,
"parameters": {
"agentId": "CONFIGURE_AGENTID",
"message": "Decide what needs to happen in Azure. Explain your reasoning.\nSource input: CONFIGURE_SOURCE_INPUT. Produce a reviewable draft only; do not take external actions."
},
"description": "Setup template for Agent Chat. Chat with an AI agent from your agent library. Select an agent and send messages to interact with it within your workflow. Configure credentials, inputs and output mapping before use.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
},
{
"id": "026061b7-32dc-4ba2-a84e-87b3b41e6580",
"text": "Call the Azure API",
"x": 512,
"y": 528,
"isEditing": false,
"type": "custom-api",
"icon": "connect",
"category": "action",
"isSelected": false,
"parameters": {
"url": "https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups?api-version=2021-04-01",
"method": "GET",
"authType": "None",
"headers": "{}",
"query": ""
},
"description": "Setup template for Custom API Request. This action node makes a custom API request to any endpoint with configurable method, headers, and authentication. Configure credentials, inputs and output mapping before use.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
}
],
"edges": [
{
"id": "5e4ce5f9-f9c0-43a7-ad73-de2ec6d50a36",
"start": {
"id": "39cfb455-0e01-4de4-a3e3-9699c04b3fac",
"type": "output"
},
"end": {
"id": "999cd036-7d0f-45e1-aea5-83474e9cf832",
"type": "input"
},
"startX": 800,
"startY": 168,
"endX": 512,
"endY": 360
},
{
"id": "ed686d2c-5d75-4d34-a986-8bc61f1b111c",
"start": {
"id": "999cd036-7d0f-45e1-aea5-83474e9cf832",
"type": "output"
},
"end": {
"id": "026061b7-32dc-4ba2-a84e-87b3b41e6580",
"type": "input"
},
"startX": 800,
"startY": 360,
"endX": 512,
"endY": 552
}
],
"zoomLevel": 1,
"canvasOffsetX": 0,
"canvasOffsetY": 0,
"isTinyNodeMode": false
}
Configure Custom API Request
This action node makes a custom API request to any endpoint with configurable method, headers, and authentication.
- url — The URL of the API endpoint Current example:
https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups?api-version=2021-04-01. - method — The HTTP method for the request Current example:
GET. - authType — The type of authentication Current example:
None. - query — Query parameters for the request (e.g., 'key1=value1&key2=value2') Current example:
. - headers — Optional headers for the request. e.g., {"Content-Type": "application/json"} Current example:
{}.
Azure setup: record the tenant, subscription and resource group used by this operation. A management-plane call needs an access token for Azure Resource Manager and an identity with the appropriate role; a key for an unrelated Azure service is not interchangeable. Start with a read against a test subscription. Azure REST reference.
Run this against your own Azure
No account needed to run it. Every step writes a receipt you can read line by line afterwards.
Operational reporting for the Microsoft stack
Azure holds the same two questions as any cloud: what is it costing and is it healthy. Both answer well to a scheduled agent that queries resources, summarises the position and writes it into the same weekly report as everything else.
Alerts with context
An alert says something fired; it rarely says whether it matters. An agent can gather the surrounding state before the notification reaches a human, so triage starts from a picture rather than a line.
Azure without a first-party node
Azure has no dedicated node in AGNT so far. That is not a blocker — it authenticates with bearer, which the custom-api node handles directly, and the exact call is below.
| What you need | Value |
|---|---|
| Endpoint | https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups?api-version=2021-04-01 |
| Method | GET |
| Authentication | Bearer |
| Header | Authorization: Bearer {aadToken} |
| Reference | Azure API documentation |
Worth knowing: Every endpoint requires an explicit `api-version` query parameter; omitting it returns 400 rather than a default.
The part that catches people out
Every endpoint requires an explicit `api-version` query parameter; omitting it returns 400 rather than a default.
Everything else about Azure behaves the way you would expect, so once that is handled the rest of the build is ordinary. The GET above is the shape every other call takes.
Connect Azure in two minutes
- Download AGNT Community Core — free, local-first, no account needed to run.
- Connect by pasting an API key into AGNT’s vault — stored encrypted on your machine, never uploaded.
- Drop the Azure node into a workflow or hand it to an agent — the first run produces a receipt you can read line by line.
Azure + AGNT — common questions
Can it summarise spend?
Yes — cost queried on a schedule and narrated alongside the rest of your reporting.
Can it triage alerts?
Yes, by gathering related state and presenting it with the alert.
How is Azure connected?
With scoped credentials stored encrypted in the local vault.