# Calculator node

The Calculator node is a [tool](../../../../../glossary/#ai-tool) that allows an [agent](../../../../../glossary/#ai-agent) to run mathematical calculations.

Parameter resolution in sub-nodes

Sub-nodes behave differently to other nodes when processing multiple items using an expression.

Most nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.

In sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.

## Templates and examples

**Build Your First AI Data Analyst Chatbot**

by Solomon

[View template details](https://n8n.io/workflows/3050-build-your-first-ai-data-analyst-chatbot/)

**Chat with OpenAI Assistant (by adding a memory)**

by David Roberts

[View template details](https://n8n.io/workflows/2098-chat-with-openai-assistant-by-adding-a-memory/)

**AI marketing report (Google Analytics & Ads, Meta Ads), sent via email/Telegram**

by Friedemann Schuetz

[View template details](https://n8n.io/workflows/2783-ai-marketing-report-google-analytics-and-ads-meta-ads-sent-via-emailtelegram/)

[Browse Calculator integration templates](https://n8n.io/integrations/calculator/), or [search all templates](https://n8n.io/workflows/)

## Related resources

Refer to [LangChain's documentation on tools](https://langchain-ai.github.io/langgraphjs/how-tos/tool-calling/) for more information about tools in LangChain.

View n8n's [Advanced AI](../../../../../advanced-ai/) documentation.
