AutomationFlowsAI & RAG › Monitor Multi-cloud Costs and Enforce Policies with Openai and Slack Alerts

Monitor Multi-cloud Costs and Enforce Policies with Openai and Slack Alerts

ByCheng Siong Chin @cschin on n8n.io

This workflow automates cloud cost intelligence and governance for organizations struggling with unpredictable cloud spending and budget overruns. Designed for FinOps teams, cloud architects, and finance departments, it solves the critical challenge of monitoring multi-cloud…

Cron / scheduled trigger★★★★☆ complexityAI-powered21 nodesAgentOpenAI ChatOutput Parser StructuredSlackEmail SendData Table
AI & RAG Trigger: Cron / scheduled Nodes: 21 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #13320 — we link there as the canonical source.

This workflow follows the Agent → Datatable recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "KnxWZ03iFkRf9Qyd1jU5f",
  "name": "Cloud Cost Intelligence and Governance Orchestration",
  "tags": [],
  "nodes": [
    {
      "id": "fb24ae48-4b1f-4508-9616-a330439e4dfc",
      "name": "Daily Cloud Cost Check",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -816,
        464
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 8
            }
          ]
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "6e455dd4-38ba-4a44-897f-82e6d8668528",
      "name": "Workflow Configuration",
      "type": "n8n-nodes-base.set",
      "position": [
        -592,
        464
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "id-1",
              "name": "costThresholdCritical",
              "type": "number",
              "value": 10000
            },
            {
              "id": "id-2",
              "name": "costThresholdHigh",
              "type": "number",
              "value": 5000
            },
            {
              "id": "id-3",
              "name": "slackChannelCritical",
              "type": "string",
              "value": "<__PLACEHOLDER_VALUE__Slack Channel ID for Critical Alerts__>"
            },
            {
              "id": "id-4",
              "name": "slackChannelHigh",
              "type": "string",
              "value": "<__PLACEHOLDER_VALUE__Slack Channel ID for High Priority Alerts__>"
            },
            {
              "id": "id-5",
              "name": "financeEmail",
              "type": "string",
              "value": "<__PLACEHOLDER_VALUE__Finance Team Email Address__>"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "45a9b350-c722-403a-9459-8efcfd8ecf93",
      "name": "Simulate Cloud Spend Data",
      "type": "n8n-nodes-base.set",
      "position": [
        -368,
        464
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "id-1",
              "name": "cloudProvider",
              "type": "string",
              "value": "AWS"
            },
            {
              "id": "id-2",
              "name": "totalSpend",
              "type": "number",
              "value": 12500
            },
            {
              "id": "id-3",
              "name": "previousMonthSpend",
              "type": "number",
              "value": 8000
            },
            {
              "id": "id-4",
              "name": "budgetLimit",
              "type": "number",
              "value": 10000
            },
            {
              "id": "id-5",
              "name": "topServices",
              "type": "array",
              "value": "[{\"service\": \"EC2\", \"cost\": 5000, \"trend\": \"increasing\"}, {\"service\": \"S3\", \"cost\": 3000, \"trend\": \"stable\"}, {\"service\": \"RDS\", \"cost\": 2500, \"trend\": \"increasing\"}, {\"service\": \"Lambda\", \"cost\": 2000, \"trend\": \"decreasing\"}]"
            },
            {
              "id": "id-6",
              "name": "unusedResources",
              "type": "array",
              "value": "[{\"resourceId\": \"i-abc123\", \"type\": \"EC2 Instance\", \"monthlyCost\": 150}, {\"resourceId\": \"vol-xyz789\", \"type\": \"EBS Volume\", \"monthlyCost\": 50}]"
            },
            {
              "id": "id-7",
              "name": "timestamp",
              "type": "string",
              "value": "={{ $now.toISO() }}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "d9fa4b7a-5f80-4bd2-b04c-68fb703d90fe",
      "name": "Cost Intelligence Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -144,
        464
      ],
      "parameters": {
        "text": "=Cloud Spend Data:\nProvider: {{ $json.cloudProvider }}\nTotal Spend: ${{ $json.totalSpend }}\nPrevious Month: ${{ $json.previousMonthSpend }}\nBudget Limit: ${{ $json.budgetLimit }}\n\nTop Services:\n{{ JSON.stringify($json.topServices, null, 2) }}\n\nUnused Resources:\n{{ JSON.stringify($json.unusedResources, null, 2) }}",
        "options": {
          "systemMessage": "You are a Cloud Cost Intelligence Agent specialized in analyzing cloud infrastructure spending patterns and identifying optimization opportunities.\n\nYour task is to:\n1. Analyze the provided cloud spend metrics including total spend, budget limits, and service-level costs\n2. Calculate the percentage change from the previous month\n3. Determine budget status (within_budget if under limit, over_budget if exceeded, approaching_limit if within 10% of limit)\n4. Identify spending trends (increasing, decreasing, or stable) based on month-over-month comparison\n5. Identify the top 3 cost drivers and their impact on overall spending\n6. Detect unused or underutilized resources and calculate potential savings\n7. Recommend specific optimization opportunities with estimated savings and implementation effort (low/medium/high)\n8. Assess risk level based on budget overrun, spending velocity, and resource waste\n9. Provide detailed reasoning for your analysis\n\nRisk Level Guidelines:\n- Critical: Over budget by >20% OR spending increasing >50% month-over-month\n- High: Over budget by 10-20% OR spending increasing 30-50% month-over-month\n- Medium: Approaching budget limit (within 10%) OR spending increasing 15-30%\n- Low: Within budget and stable or decreasing spend\n\nReturn structured JSON output with all required fields."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3.1
    },
    {
      "id": "b4bee34d-84e8-4366-b0a0-ef6f7016dea3",
      "name": "OpenAI Model - Cost Intelligence",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -208,
        688
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "id",
          "value": "gpt-4o"
        },
        "options": {
          "temperature": 0.1
        },
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "0e526c0b-74aa-4808-bed3-4d2129d9076f",
      "name": "Cost Analysis Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        16,
        784
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n  \"type\": \"object\",\n  \"properties\": {\n    \"totalSpend\": {\n      \"type\": \"number\",\n      \"description\": \"Total cloud spend amount\"\n    },\n    \"budgetStatus\": {\n      \"type\": \"string\",\n      \"description\": \"Budget status: within_budget, over_budget, or approaching_limit\"\n    },\n    \"spendTrend\": {\n      \"type\": \"string\",\n      \"description\": \"Spending trend: increasing, decreasing, or stable\"\n    },\n    \"percentageChange\": {\n      \"type\": \"number\",\n      \"description\": \"Percentage change from previous month\"\n    },\n    \"topCostDrivers\": {\n      \"type\": \"array\",\n      \"description\": \"Top 3 services driving costs\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"service\": {\"type\": \"string\"},\n          \"cost\": {\"type\": \"number\"},\n          \"impact\": {\"type\": \"string\"}\n        }\n      }\n    },\n    \"optimizationOpportunities\": {\n      \"type\": \"array\",\n      \"description\": \"List of cost optimization opportunities\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"opportunity\": {\"type\": \"string\"},\n          \"estimatedSavings\": {\"type\": \"number\"},\n          \"effort\": {\"type\": \"string\"}\n        }\n      }\n    },\n    \"unusedResourcesCount\": {\n      \"type\": \"number\",\n      \"description\": \"Number of unused resources identified\"\n    },\n    \"potentialSavings\": {\n      \"type\": \"number\",\n      \"description\": \"Total potential monthly savings\"\n    },\n    \"riskLevel\": {\n      \"type\": \"string\",\n      \"description\": \"Risk level: low, medium, high, or critical\"\n    },\n    \"analysisReasoning\": {\n      \"type\": \"string\",\n      \"description\": \"Detailed reasoning for the analysis\"\n    }\n  },\n  \"required\": [\"totalSpend\", \"budgetStatus\", \"spendTrend\", \"percentageChange\", \"topCostDrivers\", \"optimizationOpportunities\", \"riskLevel\", \"analysisReasoning\"]\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "b7a797fc-4da0-453c-a6fb-084fcbbdb164",
      "name": "Governance Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        208,
        464
      ],
      "parameters": {
        "text": "=Cost Intelligence Analysis:\n{{ JSON.stringify($json.output, null, 2) }}\n\nConfiguration Thresholds:\nCritical Threshold: ${{ $('Workflow Configuration').first().json.costThresholdCritical }}\nHigh Threshold: ${{ $('Workflow Configuration').first().json.costThresholdHigh }}",
        "options": {
          "systemMessage": "You are a Cloud Governance Agent responsible for orchestrating alerts, optimization recommendations, and finance escalation based on cost intelligence analysis.\n\nYour task is to:\n1. Review the cost intelligence analysis including risk level, budget status, spending trends, and optimization opportunities\n2. Determine the appropriate severity level for governance actions:\n   - Critical: Risk level is critical OR total spend exceeds critical threshold OR requires immediate intervention\n   - High: Risk level is high OR total spend exceeds high threshold OR significant budget overrun\n   - Medium: Risk level is medium OR approaching thresholds OR moderate optimization needed\n   - Low: Risk level is low AND within budget AND no urgent actions needed\n3. Decide if finance team escalation is required (true for critical/high severity OR budget overruns >10%)\n4. Generate a clear, actionable alert message summarizing the situation, key metrics, and urgency\n5. Recommend specific immediate actions prioritized by impact and urgency\n6. Provide escalation reasoning if finance involvement is needed\n7. Document the governance decision with full rationale\n\nAlert Message Format:\n- Start with severity emoji (\ud83d\udea8 Critical, \u26a0\ufe0f High, \ud83d\udcca Medium, \u2705 Low)\n- Include key metrics: total spend, budget status, percentage change\n- Highlight top cost drivers\n- List potential savings\n- End with call to action\n\nReturn structured JSON output with all required fields."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3.1
    },
    {
      "id": "14295ac3-7915-4def-8577-46c8654ecc01",
      "name": "OpenAI Model - Governance",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        224,
        672
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "id",
          "value": "gpt-4o"
        },
        "options": {
          "temperature": 0.1
        },
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "12b326d1-8d81-4a2b-8116-64cc3cd288a6",
      "name": "Governance Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        384,
        688
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n  \"type\": \"object\",\n  \"properties\": {\n    \"severity\": {\n      \"type\": \"string\",\n      \"description\": \"Severity level: critical, high, medium, or low\"\n    },\n    \"requiresFinanceEscalation\": {\n      \"type\": \"boolean\",\n      \"description\": \"Whether finance team escalation is required\"\n    },\n    \"alertMessage\": {\n      \"type\": \"string\",\n      \"description\": \"Formatted alert message for notifications\"\n    },\n    \"recommendedActions\": {\n      \"type\": \"array\",\n      \"description\": \"List of recommended immediate actions\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"escalationReason\": {\n      \"type\": \"string\",\n      \"description\": \"Reason for escalation if applicable\"\n    },\n    \"governanceDecision\": {\n      \"type\": \"string\",\n      \"description\": \"Detailed governance decision and rationale\"\n    }\n  },\n  \"required\": [\"severity\", \"requiresFinanceEscalation\", \"alertMessage\", \"recommendedActions\", \"governanceDecision\"]\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "7eeadefd-3e57-47dc-b43d-a3f7c8cde847",
      "name": "Route by Severity",
      "type": "n8n-nodes-base.switch",
      "position": [
        624,
        496
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "Critical",
              "conditions": {
                "options": {
                  "leftValue": "",
                  "caseSensitive": false,
                  "typeValidation": "loose"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.severity }}",
                    "rightValue": "critical"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "High",
              "conditions": {
                "options": {
                  "leftValue": "",
                  "caseSensitive": false,
                  "typeValidation": "loose"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.severity }}",
                    "rightValue": "high"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Finance Escalation",
              "conditions": {
                "options": {
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "operator": {
                      "type": "boolean",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.requiresFinanceEscalation }}",
                    "rightValue": true
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {
          "ignoreCase": true,
          "fallbackOutput": "extra",
          "renameFallbackOutput": "Low Priority"
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "e4770cee-6295-4691-b703-77db8ac22b42",
      "name": "Slack Alert - Critical",
      "type": "n8n-nodes-base.slack",
      "position": [
        912,
        416
      ],
      "parameters": {
        "text": "={{ $json.output.alertMessage }}\n\n*Recommended Actions:*\n{{ $json.output.recommendedActions.map((action, i) => `${i + 1}. ${action}`).join('\\n') }}\n\n*Governance Decision:*\n{{ $json.output.governanceDecision }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Workflow Configuration').first().json.slackChannelCritical }}"
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.4
    },
    {
      "id": "6f728ae1-4c9a-4dbd-97c4-dabc197cefbd",
      "name": "Slack Alert - High",
      "type": "n8n-nodes-base.slack",
      "position": [
        912,
        608
      ],
      "parameters": {
        "text": "={{ $json.output.alertMessage }}\n\n*Recommended Actions:*\n{{ $json.output.recommendedActions.map((action, i) => `${i + 1}. ${action}`).join('\\n') }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Workflow Configuration').first().json.slackChannelHigh }}"
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.4
    },
    {
      "id": "a1a4f15d-b804-4420-b127-93216934bbb4",
      "name": "Email Finance Team",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        928,
        800
      ],
      "parameters": {
        "html": "=<html>\n<body style=\"font-family: Arial, sans-serif; line-height: 1.6; color: #333;\">\n<h2 style=\"color: #d32f2f;\">Cloud Cost Governance Alert</h2>\n<p><strong>Severity:</strong> {{ $json.output.severity.toUpperCase() }}</p>\n<hr>\n<h3>Alert Summary</h3>\n<p>{{ $json.output.alertMessage }}</p>\n<hr>\n<h3>Escalation Reason</h3>\n<p>{{ $json.output.escalationReason || 'Finance review required due to severity level' }}</p>\n<hr>\n<h3>Recommended Actions</h3>\n<ol>\n{{ $json.output.recommendedActions.map(action => `<li>${action}</li>`).join('') }}\n</ol>\n<hr>\n<h3>Governance Decision</h3>\n<p>{{ $json.output.governanceDecision }}</p>\n<hr>\n<p style=\"font-size: 0.9em; color: #666;\">This is an automated alert from the Cloud Cost Intelligence and Governance system.</p>\n</body>\n</html>",
        "options": {},
        "subject": "=Cloud Cost Governance Alert - {{ $json.output.severity.toUpperCase() }} Severity",
        "toEmail": "={{ $('Workflow Configuration').first().json.financeEmail }}",
        "fromEmail": "<__PLACEHOLDER_VALUE__Your company email address__>"
      },
      "typeVersion": 2.1
    },
    {
      "id": "7ba7997a-4510-4794-82b0-8c93f94b155f",
      "name": "Log Cost Analysis",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        912,
        976
      ],
      "parameters": {
        "columns": {
          "value": null,
          "mappingMode": "autoMapInputData"
        },
        "options": {},
        "dataTableId": {
          "__rl": true,
          "mode": "name",
          "value": "cloud_cost_analysis_log"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "0d255f42-e8c9-42db-bef2-7186b43f0925",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        16,
        -80
      ],
      "parameters": {
        "color": 5,
        "width": 608,
        "height": 320,
        "content": "## Prerequisites\nCloud provider API access (AWS/Azure/GCP billing), OpenAI API account\n## Use Cases\nMulti-cloud cost optimization, budget compliance enforcement\n## Customization\nModify AI prompts for company-specific cost policies, adjust severity thresholds for alerts\n## Benefits\nPrevents budget overruns through proactive alerts, reduces cloud waste by 30-50%"
      },
      "typeVersion": 1
    },
    {
      "id": "1c1f65c8-0c4a-4051-9802-72ab375c75ad",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -368,
        -48
      ],
      "parameters": {
        "width": 352,
        "height": 288,
        "content": "## Setup Steps\n1. Connect **Daily Trigger** (schedule time aligned with billing cycle updates)\n2. Configure **Cloud Provider APIs** \n3. Add **OpenAI API keys** to Cost Intelligence Agent and Governance Agent nodes\n4. Set budget thresholds and cost policies in Governance Agent prompts\n5. Configure **Slack** webhooks for critical and high-priority alerts\n6. Link **Gmail** credentials for finance team report distribution\n"
      },
      "typeVersion": 1
    },
    {
      "id": "b10bafdd-c00a-4b7c-af00-b678e83636f5",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -864,
        -96
      ],
      "parameters": {
        "width": 464,
        "height": 352,
        "content": "## How It Works\nThis workflow automates cloud cost intelligence and governance for organizations struggling with unpredictable cloud spending and budget overruns. Designed for FinOps teams, cloud architects, and finance departments, it solves the critical challenge of monitoring multi-cloud expenses and enforcing cost policies in real-time. The system performs daily cloud cost checks, simulates spending scenarios, analyzes data through dual AI agents (Cost Intelligence Agent identifies optimization opportunities, Governance Agent enforces policies), routes alerts by severity, and notifies stakeholders via Slack and email. By automating cost analysis, anomaly detection, and policy enforcement, organizations prevent budget violations, optimize resource allocation, and maintain financial accountability\u2014essential for enterprises managing complex cloud infrastructures where uncontrolled spending can escalate rapidly."
      },
      "typeVersion": 1
    },
    {
      "id": "4f45c8be-658c-494d-b4ef-af0a70193d46",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        176,
        288
      ],
      "parameters": {
        "color": 7,
        "width": 368,
        "height": 624,
        "content": "## Dual AI Analysis\n**Why**: Combines optimization insights with compliance enforcement, balancing efficiency and control simultaneously"
      },
      "typeVersion": 1
    },
    {
      "id": "a7d643ab-201b-40e7-9b90-89fcf904ddd9",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        288
      ],
      "parameters": {
        "color": 7,
        "width": 208,
        "height": 784,
        "content": "## Severity-Based Routing\n**Why**: Ensures urgent overruns reach teams instantly while maintaining comprehensive audit trails"
      },
      "typeVersion": 1
    },
    {
      "id": "e64d4d9d-66ff-421f-bb45-4cf5ac8cc5bf",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -880,
        288
      ],
      "parameters": {
        "color": 7,
        "width": 1040,
        "height": 640,
        "content": "## Automated Cost Monitoring\n**Why**: Continuous oversight prevents cost surprises and catches anomalies before they impact budgets significantly"
      },
      "typeVersion": 1
    },
    {
      "id": "50011ba8-fff1-4458-adcd-7308ca5c83de",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        784,
        288
      ],
      "parameters": {
        "color": 7,
        "width": 448,
        "height": 896,
        "content": "## Multi-Channel Alerts\n**Why**: Delivers context-appropriate communications enabling rapid response and informed decision-making"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "availableInMCP": false,
    "executionOrder": "v1"
  },
  "versionId": "c34c7138-bf3b-43e1-aa0b-4fd707bca82c",
  "connections": {
    "Governance Agent": {
      "main": [
        [
          {
            "node": "Route by Severity",
            "type": "main",
            "index": 0
          },
          {
            "node": "Log Cost Analysis",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Route by Severity": {
      "main": [
        [
          {
            "node": "Slack Alert - Critical",
            "type": "main",
            "index": 0
          },
          {
            "node": "Slack Alert - High",
            "type": "main",
            "index": 0
          },
          {
            "node": "Email Finance Team",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Daily Cloud Cost Check": {
      "main": [
        [
          {
            "node": "Workflow Configuration",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Workflow Configuration": {
      "main": [
        [
          {
            "node": "Simulate Cloud Spend Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Cost Intelligence Agent": {
      "main": [
        [
          {
            "node": "Governance Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Governance Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Governance Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Model - Governance": {
      "ai_languageModel": [
        [
          {
            "node": "Governance Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Simulate Cloud Spend Data": {
      "main": [
        [
          {
            "node": "Cost Intelligence Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Cost Analysis Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Cost Intelligence Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Model - Cost Intelligence": {
      "ai_languageModel": [
        [
          {
            "node": "Cost Intelligence Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This workflow automates cloud cost intelligence and governance for organizations struggling with unpredictable cloud spending and budget overruns. Designed for FinOps teams, cloud architects, and finance departments, it solves the critical challenge of monitoring multi-cloud…

Source: https://n8n.io/workflows/13320/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

This workflow automates semiconductor board-level reliability monitoring using AI agents. It targets reliability engineers, manufacturing teams, and quality analysts. The system collects capacity, his

Google Sheets, Agent, OpenAI Chat +10
AI & RAG

This workflow automates procurement fraud detection and supplier compliance monitoring for organizations managing complex purchasing operations. Designed for procurement teams, audit departments, and

OpenAI Chat, Output Parser Structured, Agent +6
AI & RAG

This workflow automates end-to-end recruitment operations for HR teams, talent acquisition specialists, and hiring managers facing high-volume candidate processing challenges. It solves the critical p

Agent, OpenAI Chat, Output Parser Structured +4
AI & RAG

This workflow automates AI decision governance by tracing, assessing, and auditing automated decisions for risk and compliance. Designed for AI governance officers, compliance teams, and regulated ind

Agent, OpenAI Chat, Output Parser Structured +4
AI & RAG

This workflow automates policy compliance validation and approval orchestration through intelligent AI-driven assessment. Designed for compliance departments, legal teams, and governance officers, it

HTTP Request, OpenAI Chat, Output Parser Structured +4