create-variable
Create variables in n8n to store and share data across workflows, requiring an Enterprise license with variable management enabled.
Instructions
Create a new variable in n8n. NOTE: Requires n8n Enterprise license with variable management features enabled. Variables can be used across workflows to store and share data. IMPORTANT: Arguments must be provided as compact, single-line JSON without whitespace or newlines.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| clientId | Yes | ||
| key | Yes | ||
| value | Yes |
Implementation Reference
- src/index.ts:627-638 (registration)Registration of the 'create-variable' tool in the listTools response, including name, description, and input schema.name: "create-variable", description: "Create a new variable in n8n. NOTE: Requires n8n Enterprise license with variable management features enabled. Variables can be used across workflows to store and share data. IMPORTANT: Arguments must be provided as compact, single-line JSON without whitespace or newlines.", inputSchema: { type: "object", properties: { clientId: { type: "string" }, key: { type: "string" }, value: { type: "string" } }, required: ["clientId", "key", "value"] } },
- src/index.ts:627-638 (schema)Input schema definition for the 'create-variable' tool.name: "create-variable", description: "Create a new variable in n8n. NOTE: Requires n8n Enterprise license with variable management features enabled. Variables can be used across workflows to store and share data. IMPORTANT: Arguments must be provided as compact, single-line JSON without whitespace or newlines.", inputSchema: { type: "object", properties: { clientId: { type: "string" }, key: { type: "string" }, value: { type: "string" } }, required: ["clientId", "key", "value"] } },
- src/index.ts:1425-1455 (handler)Main handler for executing the 'create-variable' tool: validates clientId, retrieves N8nClient instance, calls createVariable method, handles success/error responses.case "create-variable": { const { clientId, key, value } = args as { clientId: string; key: string; value: string }; const client = clients.get(clientId); if (!client) { return { content: [{ type: "text", text: "Client not initialized. Please run init-n8n first.", }], isError: true }; } try { await client.createVariable(key, value); return { content: [{ type: "text", text: `Successfully created variable with key: ${key}`, }] }; } catch (error) { return { content: [{ type: "text", text: error instanceof Error ? error.message : "Unknown error occurred", }], isError: true }; } }
- src/index.ts:256-261 (helper)N8nClient helper method that performs the actual API POST request to create a variable in n8n.async createVariable(key: string, value: string): Promise<void> { return this.makeRequest<void>('/variables', { method: 'POST', body: JSON.stringify({ key, value }), }); }
- src/index.ts:49-54 (helper)Type definition for N8nVariable used in variable management.interface N8nVariable { id: string; key: string; value: string; type?: string; }