{
  "id": "pQKFJUEwOALQ4cKH",
  "meta": null,
  "name": "AWS Budgets MCP Server",
  "tags": [],
  "nodes": [
    {
      "id": "0419db81-eb8c-47f0-a6d1-7463097de538",
      "name": "Setup Instructions",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1380,
        -240
      ],
      "parameters": {
        "color": 4,
        "height": 1060,
        "content": "### \u2699\ufe0f Setup Instructions\n\n1. **Import Workflow**: \nLoad this workflow into your n8n instance\n\n2. **Configure Authentication**: \nSet up apiKey credentials\n   - Type: API Key in header\n   - Key name: Authorization\n\n3. **Activate Workflow**:\nEnable the workflow to start the MCP server\n\n4. **Get MCP URL**: \nCopy the webhook URL from the MCP trigger\n\n5. **Connect AI Agent**:\nUse the MCP URL in your AI agent configuration\n\n\n### \ud83d\udca1 Usage Notes\n\u2022 Parameters are auto-populated by AI using $fromAI() expressions\n\u2022 With 23 API endpoints available as tools\n\u2022 Responses maintain original API structure\n\n\n### \ud83d\udee0\ufe0f Customization\n\u2022 Add data transformation nodes if needed\n\u2022 Implement custom error handling\n\u2022 Add logging or monitoring nodes\n\n\u2022 Modify parameter defaults in any HTTP request node as needed\n\n### \ud83d\udcac Need Help?\nPing me on [discord](https://discord.me/cfomodz) for integration guidance and custom automations. Check the [n8n documentation](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolmcp/) for more information."
      },
      "typeVersion": 1
    },
    {
      "id": "a82050e7-6524-4ab1-b118-640d610ec098",
      "name": "Workflow Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1120,
        -100
      ],
      "parameters": {
        "width": 320,
        "height": 1280,
        "content": "## \ud83d\udee0\ufe0f AWS Budgets MCP Server \u2705 23 operations\n\n### About\nUse the Amazon Web Services Budgets API to plan your service usage, service costs, and instance reservations. This API reference provides descriptions, syntax, and usage examples for each of the actions and data types for the Amazon Web Services Budgets feature. Budgets provide you with a way to see the following information: How close your plan is to your budgeted amount or to the free tier limits Your usage-to-date, including how much you've used of your Reserved Instances (RIs) Your current estimated charges from Amazon Web Services, and how much your predicted usage will accrue in charges by the end of the month How much of your budget has been used Amazon Web Services updates your budget status several times a day. Budgets track your unblended costs, subscriptions, refunds, and RIs. You can create the following types of budgets: Cost budgets - Plan how much you want to spend on a service. Usage budgets - Plan how much you want to use one or more services. RI utilization budgets - Define a utilization threshold, and receive alerts when your RI usage falls below that threshold. This lets you see if your RIs are unused or under-utilized. RI coverage budgets - Define a coverage threshold, and receive alerts when the number of your instance hours that are covered by RIs fall below that threshold. This lets you see how much of your instance usage is covered by a reservation. Service Endpoint The Amazon Web Services Budgets API provides the following endpoint: https://budgets.amazonaws.com For information about costs that are associated with the Amazon Web Services Budgets API, see Amazon Web Services Cost Management Pricing.\n\n### \ud83d\udd27 How it Works\n\nThis workflow converts the AWS Budgets API into an MCP-compatible interface for AI agents.\n\n\u2022 **MCP Trigger**: Serves as your server endpoint for AI agent requests\n\u2022 **HTTP Request Nodes**: Handle API calls to https://budgets.amazonaws.com\n\u2022 **AI Expressions**: Automatically populate parameters via `$fromAI()` placeholders\n\u2022 **Native Integration**: Returns responses directly to the AI agent\n"
      },
      "typeVersion": 1
    },
    {
      "id": "8e85eda4-391c-4c85-9470-3a02266618ca",
      "name": "AWS Budgets MCP Server",
      "type": "@n8n/n8n-nodes-langchain.mcpTrigger",
      "position": [
        -940,
        -240
      ],
      "parameters": {
        "path": "aws-budgets-mcp"
      },
      "typeVersion": 1
    },
    {
      "id": "e5da4de9-9ec3-444a-83a1-a5813b880347",
      "name": "Creates a budget and, if included, notifications a",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -400,
        -200
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.CreateBudget",
        "method": "POST",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Creates a budget and, if included, notifications and subscribers. Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the <a href=\"https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_CreateBudget.html#API_CreateBudget_Examples\">Examples</a> section. </important>\n\nParameters:\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "03998058-e01a-4df1-a54c-f815986ad3f7",
      "name": "Grid Note 1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -500,
        -260
      ],
      "parameters": {
        "color": 7,
        "height": 220,
        "content": "## Create Budget"
      },
      "typeVersion": 1
    },
    {
      "id": "e767b54d-d3cc-47f1-aa0d-b9067d75a24a",
      "name": "Creates a budget action.",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -120,
        -200
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.CreateBudgetAction",
        "method": "POST",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Creates a budget action.\n\nParameters:\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "33e0a718-d57c-400e-8ab7-68b421e45980",
      "name": "Grid Note 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -240,
        -260
      ],
      "parameters": {
        "color": 7,
        "width": 280,
        "height": 220,
        "content": "## Create Budget Action"
      },
      "typeVersion": 1
    },
    {
      "id": "0b39770f-2c4a-49bd-b69e-28e06f049b6f",
      "name": "Creates a notification. You must create the budget",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        160,
        -200
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.CreateNotification",
        "method": "POST",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Creates a notification. You must create the budget before you create the associated notification.\n\nParameters:\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "310e71e9-915e-4b2e-ac7e-79279877b461",
      "name": "Grid Note 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        60,
        -260
      ],
      "parameters": {
        "color": 7,
        "width": 260,
        "height": 220,
        "content": "## Create Notification"
      },
      "typeVersion": 1
    },
    {
      "id": "2d04aae8-ce1f-4afc-8200-bdd49b9eb45a",
      "name": "Creates a subscriber. You must create the associat",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        440,
        -200
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.CreateSubscriber",
        "method": "POST",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Creates a subscriber. You must create the associated budget and notification before you create the subscriber.\n\nParameters:\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "73063b88-5a9e-4e06-869b-bb4f7e25cd0b",
      "name": "Grid Note 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        340,
        -260
      ],
      "parameters": {
        "color": 7,
        "height": 220,
        "content": "## Create Subscriber"
      },
      "typeVersion": 1
    },
    {
      "id": "b824f5ac-2fa2-4864-977a-d981f62cdc63",
      "name": "Deletes a budget. You can delete your budget at an",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        720,
        -200
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.DeleteBudget",
        "method": "POST",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Deletes a budget. You can delete your budget at any time. Deleting a budget also deletes the notifications and subscribers that are associated with that budget. </important>\n\nParameters:\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "eb6c541e-446d-4faa-a255-fa63f52c0a46",
      "name": "Grid Note 5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        -260
      ],
      "parameters": {
        "color": 7,
        "height": 220,
        "content": "## Delete Budget"
      },
      "typeVersion": 1
    },
    {
      "id": "34226dec-3a2e-48d2-a871-ef94199168c9",
      "name": "Deletes a budget action.",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -680,
        20
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.DeleteBudgetAction",
        "method": "POST",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Deletes a budget action.\n\nParameters:\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "7919b02b-f5e0-4fd0-8daa-3e652864a28c",
      "name": "Grid Note 6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -800,
        -40
      ],
      "parameters": {
        "color": 7,
        "width": 280,
        "height": 220,
        "content": "## Delete Budget Action"
      },
      "typeVersion": 1
    },
    {
      "id": "f319ba00-b98d-4b2b-8fa2-c5aa7faf185b",
      "name": "Deletes a notification. Deleting a notification al",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -400,
        20
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.DeleteNotification",
        "method": "POST",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Deletes a notification. Deleting a notification also deletes the subscribers that are associated with the notification. </important>\n\nParameters:\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "a6fd893c-7afc-4488-92d6-24d4d1a44059",
      "name": "Grid Note 7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -500,
        -40
      ],
      "parameters": {
        "color": 7,
        "width": 260,
        "height": 220,
        "content": "## Delete Notification"
      },
      "typeVersion": 1
    },
    {
      "id": "72505a7a-d70c-4986-b219-3939c9a181c1",
      "name": "Deletes a subscriber. Deleting the last subscriber",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -120,
        20
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.DeleteSubscriber",
        "method": "POST",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Deletes a subscriber. Deleting the last subscriber to a notification also deletes the notification. </important>\n\nParameters:\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "04674377-bd8c-4692-8ea1-d467fa07bff5",
      "name": "Grid Note 8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -220,
        -40
      ],
      "parameters": {
        "color": 7,
        "height": 220,
        "content": "## Delete Subscriber"
      },
      "typeVersion": 1
    },
    {
      "id": "478da148-ab0d-49d4-a200-dd0b78dbf385",
      "name": "Describes a budget. The Request Syntax section sho",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        160,
        20
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.DescribeBudget",
        "method": "POST",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Describes a budget. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the <a href=\"https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_DescribeBudget.html#API_DescribeBudget_Examples\">Examples</a> section. </important>\n\nParameters:\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "c843cf1c-1c89-4bf7-b382-4d97b73c9fb3",
      "name": "Grid Note 9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        60,
        -40
      ],
      "parameters": {
        "color": 7,
        "height": 220,
        "content": "## Describe Budget"
      },
      "typeVersion": 1
    },
    {
      "id": "f088104f-1b6a-4ef0-a3e9-382057e3cdaa",
      "name": "Describes a budget action detail.",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        440,
        20
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.DescribeBudgetAction",
        "method": "POST",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Describes a budget action detail.\n\nParameters:\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "5665481b-676e-4cf2-8f5f-fe73bbeb6f3a",
      "name": "Grid Note 10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        340,
        -40
      ],
      "parameters": {
        "color": 7,
        "height": 220,
        "content": "### Describe Budget Action"
      },
      "typeVersion": 1
    },
    {
      "id": "15c764ef-b7a1-4e55-a17c-0d55d124d6c5",
      "name": "Describes a budget action history detail.",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        720,
        20
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.DescribeBudgetActionHistories",
        "method": "POST",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "MaxResults",
              "value": "={{ $fromAI('MaxResults', 'Pagination limit', 'string') }}"
            },
            {
              "name": "NextToken",
              "value": "={{ $fromAI('NextToken', 'Pagination token', 'string') }}"
            }
          ]
        },
        "toolDescription": "Describes a budget action history detail.\n\nParameters:\n- Query parameters:\n  \u2022 MaxResults (optional) - Pagination limit\n  \u2022 NextToken (optional) - Pagination token\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "19bcc7a0-f40b-4efe-a9f2-c356b6de5fa1",
      "name": "Grid Note 11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        -40
      ],
      "parameters": {
        "color": 7,
        "height": 220,
        "content": "### Describe Budget Action Histories"
      },
      "typeVersion": 1
    },
    {
      "id": "e234f928-7b37-4450-bee4-e6279f37d4bc",
      "name": "Describes all of the budget actions for an account",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -680,
        240
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.DescribeBudgetActionsForAccount",
        "method": "POST",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "MaxResults",
              "value": "={{ $fromAI('MaxResults', 'Pagination limit', 'string') }}"
            },
            {
              "name": "NextToken",
              "value": "={{ $fromAI('NextToken', 'Pagination token', 'string') }}"
            }
          ]
        },
        "toolDescription": "Describes all of the budget actions for an account.\n\nParameters:\n- Query parameters:\n  \u2022 MaxResults (optional) - Pagination limit\n  \u2022 NextToken (optional) - Pagination token\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "bf2d086e-d401-4c08-87e2-d2f851ff92ce",
      "name": "Grid Note 12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -780,
        180
      ],
      "parameters": {
        "color": 7,
        "height": 220,
        "content": "### Describe Budget Actions For Account"
      },
      "typeVersion": 1
    },
    {
      "id": "b6db8459-365f-4c73-8169-1c5825a99eb7",
      "name": "Describes all of the budget actions for a budget.",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -400,
        240
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.DescribeBudgetActionsForBudget",
        "method": "POST",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "MaxResults",
              "value": "={{ $fromAI('MaxResults', 'Pagination limit', 'string') }}"
            },
            {
              "name": "NextToken",
              "value": "={{ $fromAI('NextToken', 'Pagination token', 'string') }}"
            }
          ]
        },
        "toolDescription": "Describes all of the budget actions for a budget.\n\nParameters:\n- Query parameters:\n  \u2022 MaxResults (optional) - Pagination limit\n  \u2022 NextToken (optional) - Pagination token\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "577758f1-75dd-4f83-872f-597b38883617",
      "name": "Grid Note 13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -500,
        180
      ],
      "parameters": {
        "color": 7,
        "height": 220,
        "content": "### Describe Budget Actions For Budget"
      },
      "typeVersion": 1
    },
    {
      "id": "283a6464-53c9-48e0-a2a2-29e61dd54581",
      "name": "Lists the budget names and notifications that are ",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -120,
        240
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.DescribeBudgetNotificationsForAccount",
        "method": "POST",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "MaxResults",
              "value": "={{ $fromAI('MaxResults', 'Pagination limit', 'string') }}"
            },
            {
              "name": "NextToken",
              "value": "={{ $fromAI('NextToken', 'Pagination token', 'string') }}"
            }
          ]
        },
        "toolDescription": "Lists the budget names and notifications that are associated with an account.\n\nParameters:\n- Query parameters:\n  \u2022 MaxResults (optional) - Pagination limit\n  \u2022 NextToken (optional) - Pagination token\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "15fda8f9-a760-423f-a7ef-e58787a09398",
      "name": "Grid Note 14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -220,
        180
      ],
      "parameters": {
        "color": 7,
        "height": 220,
        "content": "### Describe Budget Notifications For Account"
      },
      "typeVersion": 1
    },
    {
      "id": "3f1c4a16-43bc-4c16-80d5-5b6e55fe5338",
      "name": "Describes the history for DAILY, MONTHLY, and QUAR",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        160,
        240
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.DescribeBudgetPerformanceHistory",
        "method": "POST",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "MaxResults",
              "value": "={{ $fromAI('MaxResults', 'Pagination limit', 'string') }}"
            },
            {
              "name": "NextToken",
              "value": "={{ $fromAI('NextToken', 'Pagination token', 'string') }}"
            }
          ]
        },
        "toolDescription": "Describes the history for DAILY, MONTHLY, and QUARTERLY budgets. Budget history isn't available for ANNUAL budgets.\n\nParameters:\n- Query parameters:\n  \u2022 MaxResults (optional) - Pagination limit\n  \u2022 NextToken (optional) - Pagination token\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "08b7ab75-c881-4fd9-8289-9f59120b0937",
      "name": "Grid Note 15",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        60,
        180
      ],
      "parameters": {
        "color": 7,
        "height": 220,
        "content": "### Describe Budget Performance History"
      },
      "typeVersion": 1
    },
    {
      "id": "a843fe90-e910-4c44-97df-d6cc00a96ae9",
      "name": "Lists the budgets that are associated with an acco",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        440,
        240
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.DescribeBudgets",
        "method": "POST",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "MaxResults",
              "value": "={{ $fromAI('MaxResults', 'Pagination limit', 'string') }}"
            },
            {
              "name": "NextToken",
              "value": "={{ $fromAI('NextToken', 'Pagination token', 'string') }}"
            }
          ]
        },
        "toolDescription": "Lists the budgets that are associated with an account. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the <a href=\"https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_DescribeBudgets.html#API_DescribeBudgets_Examples\">Examples</a> section. </important>\n\nParameters:\n- Query parameters:\n  \u2022 MaxResults (optional) - Pagination limit\n  \u2022 NextToken (optional) - Pagination token\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "a761ccab-740d-47d1-aaba-2eef863b3818",
      "name": "Grid Note 16",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        340,
        180
      ],
      "parameters": {
        "color": 7,
        "height": 220,
        "content": "## Describe Budgets"
      },
      "typeVersion": 1
    },
    {
      "id": "e1b9f907-cb9b-453e-a67e-d4ffaef863d1",
      "name": "Lists the notifications that are associated with a",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        720,
        240
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.DescribeNotificationsForBudget",
        "method": "POST",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "MaxResults",
              "value": "={{ $fromAI('MaxResults', 'Pagination limit', 'string') }}"
            },
            {
              "name": "NextToken",
              "value": "={{ $fromAI('NextToken', 'Pagination token', 'string') }}"
            }
          ]
        },
        "toolDescription": "Lists the notifications that are associated with a budget.\n\nParameters:\n- Query parameters:\n  \u2022 MaxResults (optional) - Pagination limit\n  \u2022 NextToken (optional) - Pagination token\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "a28cc390-6362-4646-8542-2fb1efa47c9c",
      "name": "Grid Note 17",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        180
      ],
      "parameters": {
        "color": 7,
        "height": 220,
        "content": "### Describe Notifications For Budget"
      },
      "typeVersion": 1
    },
    {
      "id": "fbdefb25-a465-4e82-abbc-4f3fca56a935",
      "name": "Lists the subscribers that are associated with a n",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -680,
        460
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.DescribeSubscribersForNotification",
        "method": "POST",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "MaxResults",
              "value": "={{ $fromAI('MaxResults', 'Pagination limit', 'string') }}"
            },
            {
              "name": "NextToken",
              "value": "={{ $fromAI('NextToken', 'Pagination token', 'string') }}"
            }
          ]
        },
        "toolDescription": "Lists the subscribers that are associated with a notification.\n\nParameters:\n- Query parameters:\n  \u2022 MaxResults (optional) - Pagination limit\n  \u2022 NextToken (optional) - Pagination token\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "cd3dbdfc-f33e-457c-8c7d-195951f5ba6a",
      "name": "Grid Note 18",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -780,
        400
      ],
      "parameters": {
        "color": 7,
        "height": 220,
        "content": "### Describe Subscribers For Notification"
      },
      "typeVersion": 1
    },
    {
      "id": "8ccafcc4-985e-4e9d-912d-289adf986c81",
      "name": "Executes a budget action.",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -400,
        460
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.ExecuteBudgetAction",
        "method": "POST",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Executes a budget action.\n\nParameters:\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "7ed4a00e-686f-4d02-8e5a-532ef20e51e9",
      "name": "Grid Note 19",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -520,
        400
      ],
      "parameters": {
        "color": 7,
        "width": 280,
        "height": 220,
        "content": "## Execute Budget Action"
      },
      "typeVersion": 1
    },
    {
      "id": "a48aa9e2-16af-414e-8875-b4f288a57a73",
      "name": "Updates a budget. You can change every part of a b",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -120,
        460
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.UpdateBudget",
        "method": "POST",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Updates a budget. You can change every part of a budget except for the budgetName and the calculatedSpend. When you modify a budget, the calculatedSpend drops to zero until Amazon Web Services has new usage data to use for forecasting. Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the <a href=\"https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_UpdateBudget.html#API_UpdateBudget_Examples\">Examples</a> section. </important>\n\nParameters:\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "1c90102d-2de8-4069-b5de-a0421d4a0ad8",
      "name": "Grid Note 20",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -220,
        400
      ],
      "parameters": {
        "color": 7,
        "height": 220,
        "content": "## Update Budget"
      },
      "typeVersion": 1
    },
    {
      "id": "34d16c68-7351-4e79-83c6-79c83b2db4b4",
      "name": "Updates a budget action.",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        160,
        460
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.UpdateBudgetAction",
        "method": "POST",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Updates a budget action.\n\nParameters:\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "21f15108-a46b-4181-9dd1-d55c1b525cfe",
      "name": "Grid Note 21",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        40,
        400
      ],
      "parameters": {
        "color": 7,
        "width": 280,
        "height": 220,
        "content": "## Update Budget Action"
      },
      "typeVersion": 1
    },
    {
      "id": "fdf849e2-5f31-4580-b0be-bf36968af1ec",
      "name": "Updates a notification.",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        440,
        460
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.UpdateNotification",
        "method": "POST",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Updates a notification.\n\nParameters:\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "bfc78ea5-e844-442f-bc78-ac768123cb22",
      "name": "Grid Note 22",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        340,
        400
      ],
      "parameters": {
        "color": 7,
        "width": 260,
        "height": 220,
        "content": "## Update Notification"
      },
      "typeVersion": 1
    },
    {
      "id": "dba39d23-e5eb-40e1-9422-bfe1384e3121",
      "name": "Updates a subscriber.",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        720,
        460
      ],
      "parameters": {
        "url": "=https://budgets.amazonaws.com/#X-Amz-Target=AWSBudgetServiceGateway.UpdateSubscriber",
        "method": "POST",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "toolDescription": "Updates a subscriber.\n\nParameters:\n- Header parameters:\n  \u2022 X-Amz-Target (required)",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Amz-Target",
              "value": "={{ $fromAI('X-Amz-Target', 'X Amz Target', 'string') }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "32795320-ec91-4307-9135-7152067f639a",
      "name": "Grid Note 23",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        400
      ],
      "parameters": {
        "color": 7,
        "height": 220,
        "content": "## Update Subscriber"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "shared": [
    {
      "role": "workflow:owner",
      "project": {
        "id": "G5fce9xGuBAsWBXe",
        "icon": null,
        "name": "David Ashby <david.ashby.lds@gmail.com>",
        "type": "personal",
        "createdAt": "2025-06-04T02:55:02.013Z",
        "updatedAt": "2025-06-04T02:56:01.361Z",
        "projectRelations": [
          {
            "role": "project:personalOwner",
            "user": {
              "id": "715c1c00-cb48-4712-9a32-f1f4b6db2b30",
              "role": "global:owner",
              "email": "david.ashby.lds@gmail.com",
              "disabled": false,
              "lastName": "Ashby",
              "settings": {
                "npsSurvey": {
                  "responded": true,
                  "lastShownAt": 1749357655581
                },
                "userActivated": true,
                "userActivatedAt": 1749075994495,
                "easyAIWorkflowOnboarded": true,
                "firstSuccessfulWorkflowId": "3N3vVikZb3MckFYm"
              },
              "createdAt": "2025-06-04T02:55:01.745Z",
              "firstName": "David",
              "isPending": false,
              "updatedAt": "2025-06-08T04:40:58.399Z",
              "mfaEnabled": false,
              "personalizationAnswers": {
                "version": "v4",
                "personalization_survey_n8n_version": "1.95.3",
                "personalization_survey_submitted_at": "2025-06-04T02:56:07.075Z"
              }
            },
            "userId": "715c1c00-cb48-4712-9a32-f1f4b6db2b30",
            "createdAt": "2025-06-04T02:55:02.013Z",
            "projectId": "G5fce9xGuBAsWBXe",
            "updatedAt": "2025-06-04T02:55:02.013Z"
          }
        ]
      },
      "createdAt": "2025-07-01T04:28:27.119Z",
      "projectId": "G5fce9xGuBAsWBXe",
      "updatedAt": "2025-07-01T04:28:27.119Z",
      "workflowId": "pQKFJUEwOALQ4cKH"
    }
  ],
  "settings": {
    "timezone": "America/New_York"
  },
  "createdAt": "2025-07-01T04:28:27.117Z",
  "updatedAt": "2025-07-01T04:29:03.000Z",
  "versionId": "c4963255-d67d-4876-ab83-727b134b30d9",
  "isArchived": false,
  "staticData": null,
  "connections": {
    "Updates a subscriber.": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Updates a notification.": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Creates a budget action.": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Deletes a budget action.": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Updates a budget action.": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Executes a budget action.": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Describes a budget action detail.": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Describes a budget action history detail.": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Describes all of the budget actions for a budget.": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Creates a budget and, if included, notifications a": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Creates a notification. You must create the budget": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Creates a subscriber. You must create the associat": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Deletes a budget. You can delete your budget at an": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Deletes a notification. Deleting a notification al": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Deletes a subscriber. Deleting the last subscriber": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Describes a budget. The Request Syntax section sho": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Describes all of the budget actions for an account": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Describes the history for DAILY, MONTHLY, and QUAR": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Lists the budget names and notifications that are ": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Lists the budgets that are associated with an acco": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Lists the notifications that are associated with a": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Lists the subscribers that are associated with a n": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Updates a budget. You can change every part of a b": {
      "ai_tool": [
        [
          {
            "node": "AWS Budgets MCP Server",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  },
  "triggerCount": 0
}