
Track OpenAI Admin API Usage and Costs Automatically with Google Sheets
Description
Categories
⚙️ Automation
Nodes Used
n8n-nodes-base.setn8n-nodes-base.setn8n-nodes-base.setn8n-nodes-base.setn8n-nodes-base.setn8n-nodes-base.setn8n-nodes-base.setn8n-nodes-base.coden8n-nodes-base.coden8n-nodes-base.code
PriceGratis
Views0
Last Updated11/28/2025
workflow.json
{
"meta": {
"instanceId": "f4f5d195bb2162a0972f737368404b18be694648d365d6c6771d7b4909d28167",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "fd7bb357-fc9e-4429-9450-d7abf83cab75",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-800,
100
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "de898eb7-5add-445d-a7c0-71c98b16e7bb",
"name": "OpenAI Admin - get token usage",
"type": "n8n-nodes-base.httpRequest",
"maxTries": 3,
"position": [
-320,
-100
],
"parameters": {},
"retryOnFail": true,
"typeVersion": 4.2,
"waitBetweenTries": 5000
},
{
"id": "e503041f-aa60-4e9d-bb23-6c7de54b67ba",
"name": "OpenAI Admin - Get cost",
"type": "n8n-nodes-base.httpRequest",
"position": [
-320,
300
],
"parameters": {},
"retryOnFail": true,
"typeVersion": 4.2,
"waitBetweenTries": 5000
},
{
"id": "0613b105-d505-4fd5-83f9-8f649d10429a",
"name": "Remove Duplicates",
"type": "n8n-nodes-base.removeDuplicates",
"position": [
900,
80
],
"parameters": {},
"typeVersion": 2
},
{
"id": "4561e48e-d066-48eb-89b7-8ae6cc4e0b5d",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
3160,
-60
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "3a4dcd95-4291-4331-830f-53eb321ff5da",
"name": "Set api_key and project ids",
"type": "n8n-nodes-base.set",
"position": [
20,
80
],
"parameters": {},
"executeOnce": true,
"typeVersion": 3.4
},
{
"id": "f145c7d5-1748-4b7a-8d38-742ee28dc961",
"name": "Set api_key id and name",
"type": "n8n-nodes-base.set",
"position": [
680,
80
],
"parameters": {},
"executeOnce": false,
"typeVersion": 3.4
},
{
"id": "cfffda6e-609c-41d1-be95-affd050897fe",
"name": "Add api_key name to token usage",
"type": "n8n-nodes-base.code",
"position": [
1440,
20
],
"parameters": {},
"typeVersion": 2
},
{
"id": "1f636c35-9ed1-49b7-8dcb-87b49b9e63c7",
"name": "Get project_ids",
"type": "n8n-nodes-base.code",
"position": [
1880,
500
],
"parameters": {},
"typeVersion": 2
},
{
"id": "3dcd709c-4a17-4d86-97c4-30614e5bf702",
"name": "Merge token, usage, projects",
"type": "n8n-nodes-base.merge",
"position": [
2320,
300
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "10c89cfa-3640-4d44-87b4-34dbb824f00e",
"name": "Merge token and usage",
"type": "n8n-nodes-base.merge",
"position": [
1640,
280
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "dabe73c0-83c4-4c45-a30f-40f6ae26a227",
"name": "Structure usage, cost, projects",
"type": "n8n-nodes-base.set",
"position": [
2540,
300
],
"parameters": {},
"executeOnce": true,
"typeVersion": 3.4
},
{
"id": "f23ad3dc-9953-4cae-b7d4-4e69e6b41a85",
"name": "Split Out api_key and project",
"type": "n8n-nodes-base.splitOut",
"position": [
240,
80
],
"parameters": {},
"typeVersion": 1
},
{
"id": "97b5bf89-d83b-4f46-8757-e92694c80bb6",
"name": "Split Out Usage",
"type": "n8n-nodes-base.splitOut",
"position": [
3200,
120
],
"parameters": {},
"typeVersion": 1
},
{
"id": "bbc7e115-08e5-4f70-a939-c5439cfcb437",
"name": "Split Out Cost",
"type": "n8n-nodes-base.splitOut",
"position": [
3200,
540
],
"parameters": {},
"typeVersion": 1
},
{
"id": "28f76584-beea-4490-b874-5386098d6488",
"name": "Split Out Usage Results",
"type": "n8n-nodes-base.splitOut",
"position": [
3620,
120
],
"parameters": {},
"typeVersion": 1
},
{
"id": "3409a348-0bb5-45f2-a445-63ffbabcdbc5",
"name": "Split Out Cost results",
"type": "n8n-nodes-base.splitOut",
"position": [
3620,
540
],
"parameters": {},
"typeVersion": 1
},
{
"id": "57502eaa-f55a-43db-be3d-f23e8d26a03e",
"name": "Structure Usage data",
"type": "n8n-nodes-base.set",
"position": [
3420,
120
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "eb42aece-486e-434a-a8a6-8961b16196ac",
"name": "Structure Cost data",
"type": "n8n-nodes-base.set",
"position": [
3420,
540
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "73f256ea-42a0-4bf4-b8db-82d58b84f07d",
"name": "Append Usage to GSheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
4120,
120
],
"parameters": {},
"typeVersion": 4.6
},
{
"id": "b937e858-f2bf-4a6a-b0f3-be440175f0b5",
"name": "Append Cost to GSheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
4120,
540
],
"parameters": {},
"typeVersion": 4.6
},
{
"id": "f71dccd7-072a-4edd-bb68-960f67cc8c16",
"name": "Set Usage data for Gsheets",
"type": "n8n-nodes-base.set",
"position": [
3840,
120
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "8e6c86be-fd65-4daf-8268-e8802910d24b",
"name": "Set Cost data for Gsheets",
"type": "n8n-nodes-base.set",
"position": [
3840,
540
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "98445cae-0371-4148-85c7-6937b5afc738",
"name": "Sticky Note12",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1960,
-560
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "0b08c6b6-37ed-4961-9827-e4175453ccad",
"name": "Sticky Note13",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1960,
-240
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "0c1361b9-ef18-4509-ad08-75b62456eaa7",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-900,
-60
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "ca64b8cc-22d0-49c2-a03b-5076504b1b78",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-400,
-280
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "e4e52422-df6c-4d9a-b535-6ad65fb17bbb",
"name": "Merge Usage data",
"type": "n8n-nodes-base.merge",
"position": [
1180,
-80
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "03d0816f-3add-4863-abe7-1a1e5390caf2",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-40,
-20
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "09896795-a670-482d-ae56-2e51b3bff815",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1360,
-80
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "b60b1a83-9f57-4a3c-be0f-20b244c5cb10",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
1840,
400
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "8b5395dc-186e-4427-9cdc-9fe82061ae62",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
2500,
220
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "79a58f71-b28d-4749-a249-f81c730bcf3d",
"name": "Add Project name in cost and usage objects",
"type": "n8n-nodes-base.code",
"position": [
2760,
300
],
"parameters": {},
"typeVersion": 2
},
{
"id": "aa4fa236-2d0c-4039-809f-b9c4c083bbbf",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
4040,
-60
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "b87c70be-4673-4fa8-bccc-97f7d1287ee9",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
3160,
360
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "0d47dc46-8d55-41ea-a69e-311520cd0e59",
"name": "Sticky Note10",
"type": "n8n-nodes-base.stickyNote",
"position": [
4040,
360
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "7dcd9dc7-c1b7-4de9-82d1-4e0231f4a13c",
"name": "Sticky Note11",
"type": "n8n-nodes-base.stickyNote",
"position": [
4040,
-180
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "c239893f-414d-4afa-8b8f-5f2325e30aa6",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1960,
880
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "218ca015-bdab-42ea-85e4-bcacfa83ea54",
"name": "OpenAI Admin - Get Project details",
"type": "n8n-nodes-base.httpRequest",
"position": [
2060,
500
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "ad1c1fea-69a9-424d-b92a-3e9d9945618f",
"name": "OpenAI Admin - Get API Key details",
"type": "n8n-nodes-base.httpRequest",
"position": [
460,
80
],
"parameters": {},
"retryOnFail": true,
"typeVersion": 4.2,
"waitBetweenTries": 5000
}
],
"pinData": {},
"connections": {
"Split Out Cost": {
"main": [
[
{
"node": "Structure Cost data",
"type": "main",
"index": 0
}
]
]
},
"Get project_ids": {
"main": [
[
{
"node": "OpenAI Admin - Get Project details",
"type": "main",
"index": 0
}
]
]
},
"Split Out Usage": {
"main": [
[
{
"node": "Structure Usage data",
"type": "main",
"index": 0
}
]
]
},
"Merge Usage data": {
"main": [
[
{
"node": "Add api_key name to token usage",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "OpenAI Admin - Get cost",
"type": "main",
"index": 0
},
{
"node": "OpenAI Admin - get token usage",
"type": "main",
"index": 0
}
]
]
},
"Remove Duplicates": {
"main": [
[
{
"node": "Merge Usage data",
"type": "main",
"index": 1
}
]
]
},
"Structure Cost data": {
"main": [
[
{
"node": "Split Out Cost results",
"type": "main",
"index": 0
}
]
]
},
"Structure Usage data": {
"main": [
[
{
"node": "Split Out Usage Results",
"type": "main",
"index": 0
}
]
]
},
"Merge token and usage": {
"main": [
[
{
"node": "Get project_ids",
"type": "main",
"index": 0
},
{
"node": "Merge token, usage, projects",
"type": "main",
"index": 0
}
]
]
},
"Split Out Cost results": {
"main": [
[
{
"node": "Set Cost data for Gsheets",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Admin - Get cost": {
"main": [
[
{
"node": "Merge token and usage",
"type": "main",
"index": 1
}
]
]
},
"Set api_key id and name": {
"main": [
[
{
"node": "Remove Duplicates",
"type": "main",
"index": 0
}
]
]
},
"Split Out Usage Results": {
"main": [
[
{
"node": "Set Usage data for Gsheets",
"type": "main",
"index": 0
}
]
]
},
"Set Cost data for Gsheets": {
"main": [
[
{
"node": "Append Cost to GSheets",
"type": "main",
"index": 0
}
]
]
},
"Set Usage data for Gsheets": {
"main": [
[
{
"node": "Append Usage to GSheets",
"type": "main",
"index": 0
}
]
]
},
"Set api_key and project ids": {
"main": [
[
{
"node": "Split Out api_key and project",
"type": "main",
"index": 0
}
]
]
},
"Merge token, usage, projects": {
"main": [
[
{
"node": "Structure usage, cost, projects",
"type": "main",
"index": 0
}
]
]
},
"Split Out api_key and project": {
"main": [
[
{
"node": "OpenAI Admin - Get API Key details",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Admin - get token usage": {
"main": [
[
{
"node": "Set api_key and project ids",
"type": "main",
"index": 0
},
{
"node": "Merge Usage data",
"type": "main",
"index": 0
}
]
]
},
"Add api_key name to token usage": {
"main": [
[
{
"node": "Merge token and usage",
"type": "main",
"index": 0
}
]
]
},
"Structure usage, cost, projects": {
"main": [
[
{
"node": "Add Project name in cost and usage objects",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Admin - Get API Key details": {
"main": [
[
{
"node": "Set api_key id and name",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Admin - Get Project details": {
"main": [
[
{
"node": "Merge token, usage, projects",
"type": "main",
"index": 1
}
]
]
},
"Add Project name in cost and usage objects": {
"main": [
[
{
"node": "Split Out Usage",
"type": "main",
"index": 0
},
{
"node": "Split Out Cost",
"type": "main",
"index": 0
}
]
]
}
}
}